SHIROのIchigoJam日記

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

かんたん2Pテニス

★この記事はIchigoJam Advent Calendar 2022に参加しています。

昔のビデオゲーム風に2人で対戦するテニスゲームです。IchigoJamの簡単なプログラムとして作ってみました。
プレイ動画はこちら。

www.youtube.com

遊び方

  • 実行すると左右のパドル、上下の壁、ボールが表示されます。動くボールをパドルで打ち返してください。打ち返せずにミスするとゲームオーバーです。
  • パドルのキー操作は以下のとおりです。
    • 左プレイヤー:Xで上移動、スペースで下移動
    • 右プレイヤー:↑で上移動、↓で下移動

プログラム

10 CLV:CLS:P=10:Q=10:X=16:Y=1:D=1:E=1
20 LC 1,0:FOR Z=1 TO 29:?CHR$(143);:NEXT
30 LC 1,23:FOR Z=1 TO 29:?CHR$(143);:NEXT
40 P=P-BTN(88)*(P>0)+BTN(32)*(P<19)
50 LC 0,P:?CHR$(0,28,31,1,28,31,1,28,31,1,28,31,0);
60 Q=Q-BTN(30)*(Q>0)+BTN(31)*(Q<19)
70 LC 30,Q:?CHR$(0,28,31,1,28,31,1,28,31,1,28,31,0);
80 U=X+D:V=Y+E:C=SCR(U,V)
90 IF C=1 D=-D:BEEP 30,2:GOTO 80
100 IF C=143 E=-E:BEEP 20,2:GOTO 80
110 LC X,Y:?CHR$(0);
120 LC U,V:?CHR$(233);
130 X=U:Y=V
140 WAIT 3
150 IF X>0 AND X<30 GOTO 40
160 BEEP 30,30:LC 0:CLK

IchigoJam webでプレイする場合は、140行のWAITを「WAIT 0」にしてください。(それでも遅いですが)

実はかなり前に一度作ったゲームなのですが、なるべく簡単なプログラムにリニューアルしました。
パドルと上下の壁が同じ四角いドットに見えますが、実はパドルは文字コード1、壁は文字コード143で、それを利用してボールの反射角を変えています。