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

2023/01/29 15:04:19

MixJuice GET URL : kidspod.club/mj/2179

スネークゲームNEO

■説明
・スネーク系のゲームですが、自分が動くのではなく、画面が動きます。
・上下左右はつながっています。
・得点は1歩で1点です。
・いちごを取ると+50点です。
・@や矢印に当たると-100点です。
・エネルギーが無くなるとゲームオーバーです。
・エネルギーは50からスタートします。
・エネルギーは1歩で1減ります。
・おにぎりを取るとエネルギーが30増えます。

■操作
←:進行方向に対して左に方向を変える
→:進行方向に対して右に方向を変える

■変数
A WORK
B SCR(X,Y)
C 自分キャラクターコード
E エネルギー
G X進行方向(1、0、-1)
H Y進行方向(1、0、-1)
I FOR
K INKEY
S スコア
X X座標(周りが動くのでこの座標は固定)
Y Y座標(周りが動くのでこの座標は固定)

■プログラム
10 初期画面作成
20 初期値設定
30 キー入力確認、スコア表示、エネルギー-1、スコア+1
40 画面を右に動かす
50 画面を左に動かす
60 画面を下に動かす
70 画面を上に動かす
80 B代入、いちごを取ったら50点、おにぎりを取ったらエネルギー+30
90 @か矢印に当たったら-100点
100 エネルギーが0以下ならEND処理へ
110 左右の矢印が押された場合の処理、進行方向に合わせた矢印のキャラコード計算
120 矢印表示、30行からを繰り返す
130 スコア、エネルギー表示
140 ゲームオーバー

  • 1
  • 1

SOURCE CODE

10 CLS:CLV:CLP:FORI=0TO10:LCRND(31),RND(21)+1:?CHR$(235):LCRND(31),RND(21)+1:?CHR$(239):LCRND(31),RND(21)+1:?CHR$(255):NEXT
20 X=15:Y=10:G=1:H=0:C=224:E=50
30 @S:K=INKEY():GSB@G:E=E-1:S=S+1
40 IFG=1A=PEEK(#BBF):COPY#BBF,#BBE,-#29F:POKE#920,A
50 IFG=-1A=PEEK(#920):COPY#920,#921,#29F:POKE#BBF,A
60 IFH=1COPY#7D0,#BA0,32:COPY#BBF,#B9F,-#280:COPY#920,#7D0,32
70 IFH=-1COPY#7D0,#920,32:COPY#920,#940,#280:COPY#BA0,#7D0,32
80 B=SCR(X,Y):S=S+(B=255)*50:E=E+(B=235)*30
90 IFB=239||(B>223&&B<228)S=S-100
100 IFE<0GOTO@E
110 IFK=28||K=29A=G:G=H*((K=28)-(K=29)):H=A*((K=29)-(K=28)):C=225-(G=1)+(H=1)+(H=-1)*2
120 LCX,Y:?CHR$(C):GOTO@S
130 @G:LC0,0:?"SCORE:";S;"   ENERGY:";E;"  ":RTN
140 @E:GSB@G:?"GAME OVER

COMMENT