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

2019/10/19 05:15:50

MixJuice GET URL : kidspod.club/mj/919

t/i

t/i

地下ロケット

 マイコンBASICマガジン(電子工作マガジン2019秋号別冊付録)に掲載された私のプログラム「どうくつくだり」の別案として考えていたゲームです。基本的な作りは同じですが、こちらの方がスリリングなゲームになっていると思います。IchigoJamのバージョン1.2.3以降用です。

【ストーリー】
 悪の組織と戦う主人公(プレイヤー)。敵の地下基地をつきとめて潜入したものの、すぐに見つかってしまった! 警報音が鳴り響き、地下基地のロケットが次々に発射される!

【内容】
 下へ下へと進んで行く強制縦スクロールゲームです。操作はカーソルキーの左右のみで、横移動しつつ下へ降りて行きます。下から飛んで来るロケットにぶつかるか、画面外に消えてしまうとゲームオーバーです。

【画面】
 右側に表示される数字は、進んだ距離(m)とゲームレベル(LV)です。20m進むごとにレベルが上がり、だんだん速くなります(最高レベル9まで)。

【攻略法】
 ロケットは画面下から急に現れるので常に警戒して下さい。すぐには発射しない場合もあるので気をつけましょう。ロケット発射時には音が鳴るのでそれを参考にして下さい。ロケットは壁を壊しながら進むので、通った跡にできた道をうまく利用して降りるのがコツです。行き止まりで進めない所でも、ロケットが道を作ってくれる場合があります。

【ご注意】
 このゲームは、ロケットにぶつかると爆発して終わりますが、主人公は不死身の超人であり、気絶程度で済んでいます。身体は何ともないのでご安心下さい(残酷シーンではありませんという、お子様への配慮)。


(2019/10/20 01:00)
・プログラムに無駄な部分があったので更新しました。

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

SOURCE CODE

CLV
NEW

10 'C-R0
20 IF G>0 GOTO @OVER
30 VIDEO1:CLS:CLV:CLP:VIDEO3:A=3:C=A:D=4:E=1:S=9:U=250:X=5
40 POKE#780,#18,#3C,#3C,#66,#66,#7E,#FF,#BD
50 K=4:POKE#9F0,K,K,K,K,K,K,K,K,K,K:COPY#9C0,#9F0,10:COPY#9C1,#9D0,8
60 FORI=0TO8:POKE#A00+I,129+RND(10):NEXT
70 LC10,11:?M;"m";
80 LRUN1
90 @OVER
100 PLAY"O4C16O2C+":IF G=1 G=0:GOTO120 ELSE VIDEO4:G=0
110 FORI=0TO2:COPY#900+(Y-1+I)*16+X-1,#A00+I*3,3:NEXT:VIDEO3
120 WAIT32:LC3,3:?"GAME":LC3,4:?"OVER":LC4,6:?N;"m":LC3,9:?"PUSH":LC2,10:?"[ENTER]"
130 IF INKEY()=10 LRUN0 ELSE CONT

SAVE0
NEW

10 'C-R1
20 PLAY"O3C16O5CR8O3C16O5CR8O3C16O5C"
30 Z=(Z+1)%2:IF(Z=1)&(SCR(X,Y+1)<>K) Y=Y+1:U=250:GSB140:N=M-11+Y:IF N%20=0 BEEP1,10:IF S>0 S=S-1:LC10,Y+1:?"LV-";9-S;
40 IF Z=1 GOTO70
50 IF(BTN(28)=1)&(SCR(X-1,Y)<>K)&(X>0) X=X-1:U=253:GSB140
60 IF(BTN(29)=1)&(SCR(X+1,Y)<>K)&(X<9) X=X+1:U=251:GSB140
70 IF O=2 Q=Q-1:LCP,Q:?CHR$(240);:LCP,Q+1:?CHR$(231);:LCP,Q+2:?" ";
80 IF(X=P)&(Y>=Q)&(Y<=Q+1) G=2:LRUN0
90 IF(O=1)&(RND(6)=0) O=2:BEEP5,5
100 IF Q<-2 O=0
110 T=(T+1)%8:IFT=0 GSB160
120 WAITS:IF Y>=0 GOTO30
130 G=1:LRUN0
140 LCV,W:?" ";:LCX,Y:IF SCR(X,Y)>230 G=2:LRUN0 ELSE IF Y=12 GOTO130 ELSE ?CHR$(U);:V=X:W=Y
150 RTN
160 E=(E+1)%3:FORI=1TO8:POKE#9C0+I,RND(2)*K:NEXT:IF E>0 GOTO190
170 R=RND(8)+1:IF R<C A=R:B=C ELSE A=C:B=R
180 C=R:D=B-A+1
190 COPY#9C0+A,#9D0+E*16,D:IF E=2 POKE#9C0+C,0
200 IF(N>0)&(O=0)&(RND(2)=1) O=1:P=RND(8)+1:Q=11:POKE#9C0+P,240:IF(P=C)|(E<>1) O=2:BEEP5,5
210 IF(O=1)&(Q=10) POKE#9C0+P,K
220 SCROLL0:COPY#9B0,#9C0,10:Y=Y-1:W=Y:Q=Q-1:M=M+1:IF M%10=0 LC10,11:?M;"m";
230 RTN

SAVE1
LRUN0

COMMENT

Kidspod運営チーム
Kidspod運営チーム2019/10/28 11:48:03

おお! これは面白い! ロケットのギミックが素晴らしいですね。敵には違いないのだけど、一方で通路を開いてくれる味方でもあるという……。スクロールとの戦いもスリリング!