SHIROのIchigoJam日記

マイコン「IchigoJam」(イチゴジャム)の電子工作とプログラミングをメインに

ウイルスシューティング

ウイルスをうち落として市民を守れ! シンプルなシューティングゲームです。

f:id:shiro0922:20200228130930p:plain

遊び方

上から落ちてくるウイルスを、ビームで打ち落としてください。
自機の移動はカーソルキーの←→、スペースキーでビーム発射です。
ウイルスに下まで侵略されるとゲームオーバーです。

プログラム

IchigoJamの基板ではこのままでいいですが、IchigoJam webで遊ぶ時は110行の「WAIT 3」を「WAIT 0」に変えてください。

10 '*Virus Shooting
20 CLV:CLS:X=16
30 LC 5,23:FOR I=0 TO 23:?CHR$(249);:NEXT
40 @LOOP
50 FOR L=1 TO 5
60 LC 0,23:?S;
70 LC X,22:?" "
80 X=X-BTN(28)*(X>5)+BTN(29)*(X<28)
90 LC X,22:?CHR$(240)
100 IF BTN(32) GSB @SHOOT
110 WAIT 3
120 NEXT
130 IF RND(5) GSB @SCRL ELSE GSB @VIRUS
140 IF [22]=0 GOTO @LOOP
150 BEEP 30,30:LC 12,11:?"GAME OVER"
160 CLK:END
170 @VIRUS
180 V=RND(24)+5
190 LC V,0:?CHR$(244):[0]=V
200 GSB @SCRL
210 LC V,0:?" ":[0]=0
220 RTN
230 @SCRL
240 COPY #BDF,#BBF,-704
250 COPY #82D,#82B,-44
260 RTN
270 @SHOOT
280 Y=21
290 @BEAM
300 LC X,Y:?" "
310 IF X=[Y] GOTO @HIT
320 Y=Y-1:IF Y=0 RTN
330 LC X,Y:?"|"
340 GOTO @BEAM
350 @HIT
360 BEEP:S=S+1:[Y]=0:RTN

IchigoJam web版はこちら。

画面下の市民を巻き込まないように、COPY命令を使ってウイルスを下へスクロールしています(240行)。ウイルスの座標が入った配列変数も同時にコピーしています(250行)。
プログラム容量にまだ余裕があるので、ワクチンや救急車などのアイテムや新ルールを追加しても面白いでしょう。