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

2020/03/28 21:56:50

MixJuice GET URL : kidspod.club/mj/954

deep cave

ディープ・ケイブ:海底洞窟を潜水艦で進むゲームです。
操作はカーソルキーで上下左右に動きます。2キー同時押しでななめ移動できます。
ゲーム速度は少しずつ速くなります。
壁に当たるとゲームオーバーです。再ゲームはエンターキーです。

潜水艦の当たり判定位置は艦の先頭です。厳密にはどこなのか探ってみてください。
プログラムサイズに余裕があったので、和音(?)の演奏を入れてみました。
スコア100ポイントごとに画面を反転表示していますが、ただの演出です。
雰囲気重視で作りました。
IchigoJam 1.4用です。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

SOURCE CODE

10 'deep cave
20 CLS:CLV:N=20:A=12:X=20:Y=22
30 LC 12,0:?"deep cave"
40 FOR I=0 TO 18:SCROLL2:WAIT12:NEXT
50 LET[0],10,40,20,5,8,8,20,20
60 GSB 290:GOTO 100
70 IF RND(4)=0 THEN M=(RND(3)-1)*(!RND(4)+1):A=RND(20)+9+ABS(M)
80 IF M+N<5 OR M+N>40 THEN M=-M
90 DRAW X-3,Y-1,X,Y,2:DRAW X-2,Y,2
100 IF S%2=0 THEN SCROLL3
110 N=N+M:BEEP Y
120 DRAW 58,N-A/2,63,0
130 DRAW 58,N+A/2,63,47
140 X=X-BTN(28)*(X>1)+BTN(29)*(X<55)
150 Y=(Y-BTN(30)+BTN(31)+46)%46
160 E=POINT(X-1,Y)+POINT(X,Y)
170 DRAW X-3,Y-1,X,Y,2:DRAW X-2,Y,2
180 BEEP ABS(SIN(S*9)/9),9
190 IF S%100=0 THEN VIDEO S/100%2+1
200 S=S+1:LC 0,23:? S;
210 IF S<1500 THEN WAIT-1500+S
220 IF E=0 THEN GOTO 70
230 LET[0],9,5,10,20,190,190,0
240 GSB 290:CLK
250 LC 12,9:?"game over";
260 LC 13,11:? S,"pts";
270 DRAW RND(64),RND(48),0
280 IF INKEY()=10 THEN RUN ELSE GOTO 250
290 J=0:WAIT 60
300 FOR I=0 TO 110:BEEP [J]:BEEP [J]+3:NEXT:J=J+1:IF [J]=0 THEN WAIT20:RTN ELSE CONT

COMMENT

Kidspod運営チーム
Kidspod運営チーム2020/04/06 17:55:05

その雰囲気が最高ですね。洞窟の不気味さがドット絵で見事に表現されています。狭い通路になってしまったときの緊張感も良い! ななめ移動がものすごく重要でした。反転の演出はカッコいいのですが、私にはちょっと目に痛かったです。100ポイントごとだと、頻度が高いのかも?