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

2018/10/10 23:42:24

MixJuice GET URL : kidspod.club/mj/647

DANMAKU2!

シューティングゲーム「DANMAKU!」の第2弾です。
敵を撃ちまくってください。
敵を倒すとエネルギーパック(四角)を落とします。
これをいくつか取ると自機の弾がパワーアップします(6段階)。

敵の撃つ弾は、遅い弾と速い弾の2種類があります。
自機のパワーアップと倒した敵の数に応じて、敵の攻撃は激しさを増します。

操作は左右キーとスペースキーです。
最初の自機の弾は前作と同様に(?)当たりにくいですが、パワーアップすると当たりやすくなります。
自機が3回やられると、ゲームオーバーです。
再ゲームはエンターキーです。

このプログラムはメモリ上の3か所を画面表示用に割り当て、これを次々と表示する方式で作りました。
ちなみに、この3か所は以下の場所です。それぞれをcopy命令でスクロールさせています。
・#800~:自機弾
・#9C0~:速い敵弾、星
・#A80~:遅い敵弾

この3画面の表示タイミングを調整するために、わざとムダな処理をしたり処理の順序を入れ替えたりしています。そのため、プログラムはきたないです。

画面の残像を見せているような感じなので、IchigoJamWebなどで画面ショットが取れません。
1枚目の写真は、自作グリーンモニタ(液晶画面に暗記用の緑シートとスマホ用偏光シートを貼っただけ)の写真ですが、やはりうまく写らないので、実際にプレイしてみてもらえるとうれしいです。

(10/12 被弾しても自機パワーアップがリセットされないようにしました。やっぱりパワーダウンすると残念ですから。)
(10/13 エネルギーパックを20個取るごとに自機数が増えるようにしました。)

  • 1
  • 2
  • 1
  • 2

SOURCE CODE

5 'DM2
10 CLV:C=#900:D=192:E=#800:F=#9C0:G=#A80:H=176:J=#92:W=3:X=8
20 VIDEO1:CLS:VIDEO3
30 V=0:Z=RND(13)+2:M=1:N=1:U=Z:R=0
40 IF (V<5)*(R=0ORZ=X) POKE16+G+U,#E9
50 IF (V<2)*(R<3ORZ=X) POKE16+F+U,7
60 BEEP200-L*15,2:R=RND(38-L-Y/3):COPYF+D,F+H,-H-1:COPYG+H+16*(T=2),G+H,-H:T=(T+1)*(T<2):COPYE,E+32,H
70 P=#89F+X:Q=(L>4):I=(L>9):IF K=32 POKEP-17,J*I,#12*Q,J*(L%5>2),#17*Q,J*I:POKEP,J*Q,J,J*Q
80 COPYC,E,D:IF (Z+M)%15=0 OR RND(15)=0 M=-M
90 IF (V+N+1)%10=0 OR V>0 AND RND(9)=0 N=-N
100 IF RND(10-V)=0 AND V>2 N=-1
110 COPYC,G,D:Z=Z+M:V=V+N:U=Z+V*16:S=PEEK(E+U):POKE#9D1+RND(14),58
120 IF S=J FORI=1TO9:Q=Z-4+RND(9)+I*16:POKEE+Q,#F4,#F4:POKEC+Q,4,3:BEEP12*I%2+I:NEXT:POKEF+U+16,#F:POKE32+G+Z,#E9:Y=Y+1:GOTO30
130 K=INKEY():X=X-(K=28ORBTN(28))*(X>1)+(K=29ORBTN(29))*(X<14):CLK
140 S=PEEK(F+H+X):Q=PEEK(G+H+X):POKEF+H+X,#F0:COPYC,F,D:POKEC+U-1,#9D,#EB,#9C
150 IF S=15 BEEP2:L=L+(L<13):O=O+1:W=W+(O%20=0)
160 IF S<>7 AND Q=0 GOTO40
170 W=W-1:BEEP150,30:VIDEO4:WAIT35:IF W>0 GOTO20
180 LC5,4:?"SC:";Y:IF INKEY()=10 RUN ELSE CONT

COMMENT

Kidspod運営チーム
Kidspod運営チーム2018/11/16 18:19:46

画面のチラつきでちょっと見づらくなっていますが、それを補って有り余るカッコよさ! 敵の挙動も難易度のバランスが取れていますし、パワーアップするごとにお互いに攻撃が激しくなっていくのがとても楽しいです!