SHIROのIchigoJam日記

IchigoJamの電子工作とプログラミングをメインに

あらしテニスゲーム

その昔、「こんにちはマイコン」に掲載されていた「あらしテニスゲーム」の話題がFacebookグループで出ていました。参考リンクはこちら
リンク先の99BASIC版を参考に、IchigoJam版を作ってみました。
カーソルキーの左右でパドルを動かして、ボールを打ち返してください。

なるべく無理な圧縮はせず、コードを簡略化してわかりやすいプログラムにしています。
難易度は低めなので、「ぬるい!」と思う方は140行の「WAIT 2」を「WAIT 1」に変えてください。

10 '*Arashi Tennis*
20 CLV:B=4
30 '@START
40 CLS
50 LOCATE 0,21:PRINT "--------------------------------";
60 LOCATE 1,22:PRINT "SCORE ";T;
70 LOCATE 1,23:PRINT "BALL ";B;" TENNIS GAME";
80 P=16:X=RND(10)+1:Y=0:D=1:E=1
90 '@PADMOVE
100 FOR I=0 TO 1
110 IF BTN(LEFT) GOSUB 380
120 IF BTN(RIGHT) GOSUB 420
130 LOCATE P,20:PRINT " ===== ";
140 WAIT 2
150 NEXT
160 '@BALLMOVE
170 U=X+D:V=Y+E
180 IF U=0 OR U=31 THEN D=-D:GOTO 160
190 IF V=-1 THEN E=1:GOTO 160
200 S=SCR(U,V)
210 IF S=#3D GOSUB 460:GOTO 160
220 LOCATE X,Y:PRINT " ";
230 LOCATE U,V:PRINT "@";
240 X=U:Y=V
250 IF S<>#2D GOTO 90
260 '@MISS
270 BEEP 30,60:WAIT 60
280 B=B-1:IF B>0 GOTO 30
290 '@GOVER
300 CLS:LOCATE 10,7:PRINT "GAME OVER!"
310 LOCATE 10,9:PRINT "SCORE ";T
320 LOCATE 10,11:PRINT "Replay?(Y/N)"
330 '@RKEY
340 A=INKEY()
350 IF A=#59 THEN RUN
360 IF A=#4E THEN END
370 GOTO 330
380 '@PADL
390 P=P-1
400 IF P<0 THEN P=0
410 RETURN
420 '@PADR
430 P=P+1
440 IF P>25 THEN P=25
450 RETURN
460 '@PADBA
470 BEEP 10
480 T=T+10
490 LOCATE 7,22:PRINT T;
500 E=-1
510 RETURN