Enjoy programming more!
Kidspod is a post site which supports young programmers.
First step to join us.
Register as a member
For members

2019/08/11 16:40:37

MixJuice GET URL : kidspod.club/mj/886

シンクロボール

UFOの打ち出す弾にあたらないようにしながら、プレイヤーの球をUFOに当てて撃退してください。プレイヤーの打ち出した球は、プレイヤーの動きと同調して左右に動きますので、UFOを狙って当ててください。
球は自動的に発射されます。プレイヤーは球を8発持っていますので、これが尽きる前にUFOを撃退してください。持ち球数が残り3発以下になると音が変わります。UFOを撃退すると持ち球数は8発に戻ります。
8発のうちにUFOを撃退できなかった場合や、UFOの弾にプレイヤーが当たるとゲームオーバーです。
UFOを撃退する度にスピードが速くなっていきますが、10面ごとにスピードが元に戻るようにしています。

プログラムは難しい命令を使わないで、1画面に収まるようにしてみました。

操作は左右キーです。再ゲームはエンターキーです。

  • 1
  • 1

SOURCE CODE

10 'SYNCRO BALL
20 CLS:CLV:G=1:X=3:Y=22:M=7
30 K=INKEY():CLK:X=X-(K=28)*(X>1)+(K=29)*(X<19)
40 LC Z,2:?CHR$(0,7*RND(2),0)
50 SCROLL2:LC22,23:?"SCORE:";S;
60 LC 22,22:?"BALL :";M
70 LC 21,0:?CHR$(#F2)
80 LC X,Y:T=SCR():?CHR$(#E9)
90 BEEP 5+Y,8-(M<3)*7:Z=Z+G
100 IF Z%18=0 OR RND(25)=0 G=-G
110 LC Z,2:?CHR$(#E0,#E8,#E1)
120 LC X,23:U=SCR():?CHR$(#ED);
130 IF Y=2 AND Z-1<X AND Z+3>X LC Z,2:?"***":FOR I=1 TO 24:BEEP I:WAIT2:NEXT:S=S+1:Y=22:M=7:CLK
140 WAIT11-S%10:LC X,Y:?CHR$(T)
150 Y=Y-1:IF Y<0 Y=22:M=M-1
160 IF U=0 AND M>=0 GOTO 30
170 WAIT 60:BEEP 180,50:LC 5,10:?"GAME OVER":LC X-1,23:?"***";
180 IF INKEY()=10 RUN ELSE CONT

COMMENT

Kidspod運営チーム
Kidspod運営チーム2019/09/02 17:50:48

避けるのと当てるのを同時に見ていく難しさが楽しいです。視点も広く持たないと……! 1画面におさまるシンプルさもいいですね!