40行に思いを込める?
(表示されるデータが違っている場合は「init all」としてください)
ここでは、「まっさあ」さんの呼びかける「40行プログラム」に対応したモノを作成しています。
メモリージャグラーをお持ちの方は、ここで使用しているソースをダウンロードして使用できます。
※転送に失敗するらしいので分割して置いてみます
・catch & ufo
・star
とりあえずテキストベースで作ってみました。
- catch.bas:ソース・画面図
最初画面中央にいる「#」を左スティックで操作します。
「O」を取ると得点、「+」を取るとミスに加算されます。ミスが5個で終了です。
とにかく40行以内に収めることが至上命題なので、あまり凝ったことはできません。
collisionが便利だから3D表示を使おうかとも思ったんですが、モデルの定義とかで費やす数行さえ惜しい状態。当たり判定も自前でやるスプライト使用モノはますます厳しい気がします。
上下左右キーでなく左スティックにしたのは、上下・左右がまとめて処理できるからです。ここではいささか操作しにくかったりもしますが、それも難易度の一部ということで(苦しい言い訳)。
…とか何とか、ここを書いているうちにリスト内に省略できる箇所を発見してまた修正入れてたりします。なかなか短文は奥が深い。
どうにかポリゴンモデルで作ってみました。
- ufo.bas:ソース・画面図
画面下のUFOを左スティックで操作します。
上から隕石やら宇宙人やらが降ってきます。隕石に当たると終了で、宇宙人に当たると回収したことになります。
隕石を避けると得点、宇宙人を回収できずに下までやると減点です。減点により点が0未満になっても終了です。
もう邪道コードのオンパレード状態で。とてもじゃないが実装の参考にしてくださいと言えるようなソースではありません。
テキスト・ポリゴンときたらスプライトがないと落ち着かないということで。
- star.bas:ソース・画面図
画面右にいる白い☆を左スティックで操作します。
左からカラフルな☆が飛んできますので避けてください。それらに当たると終了です。
自分と同じ色の☆に当たると得点が加算されます。
「ひたすら避けモノ」ですが、いちおう☆が自分を狙って飛んでくるようにはしています(1120行付近)。
トップへ