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

2018/06/29 20:07:28

MixJuice GET URL : kidspod.club/mj/506

SNAKE GAME

ヘビに苺を食べさせるゲーム
壁や自分の体に衝突するとゲームオーバーです。
苺を食べる度に胴体が長くなっていきます。
Z=5を変更すると速度が調整できます。

プログラムは 設定 SAVE0 とゲーム SAVE1 で二分割されています。LRUN0で実行します。
ソースコードを NEW SAVE LRUN のコマンドも含めてUARTからIchigoJameに入力するのがおすすめ。

SOURCE CODE

NEW
10 C=1:'SNAKE-0
20 POKE#700,#3C,#7E,#99,#E7,#81,#81,#66,#3C
30 POKE#708,#3C,#7E,#BD,#DB,#E7,#C3,#7E,#3C
40 POKE#710,#66,#C7,#E3,#C7,#E3,#C7,#7E,#3C
50 POKE#718,#3E,#7F,#D5,#C0,#C0,#EB,#7F,#3E
60 POKE#720,#3C,#7E,#E3,#C7,#E3,#C7,#E3,#66
70 POKE#728,#7C,#FE,#AB,#3,#3,#D7,#FE,#7C
80 POKE#730,#7E,#E7,#C3,#99,#99,#C3,#E7,#7E
90 LET[0],#FFFF,#FFFF,#8000,#1,#8000,#1,#8000,#1
100 LET[8],#8700,#1,#8700,#7001,#8700,#7001,#8000,#7001
110 LET[16],#8000,#E1,#8000,#E1,#8038,#E1,#8038,#1
120 LET[24],#8038,#1,#8000,#1,#8000,#1,#8000,#1
130 LET[32],#8000,#E01,#9C00,#E01,#9C00,#E01,#9C00,#1
140 LET[40],#8000,#1,#8000,#1,#FFFF,#FFFF
150 FOR J=0TO45:A=[J]:FORI=0TO15
160 POKE#900+J*16+I,C*NOT(A&#8000=0)
170 A=A<<1:NEXT:NEXT:L=5:Z=5
180 LRUN 1

SAVE 0

NEW
10 'SNAKE-1
20 @LS:M=0:X=RND(30)+1:Y=RND(22)+1:IFSCR(X,Y)=0LCX,Y:?CHR$(#E1);:ELSEGOTO@LS
30 @LG:V=RND(30)+1:W=RND(22)+1:IFSCR(V,W)=0LCV,W:?CHR$(255);:CLK:ELSEGOTO@LG
40 @WL:F=(F=0):K=INKEY():IFK=0LCX,Y:?CHR$(#E0+F);:WAIT20:GOTO@WL
50 POKE#800,X,Y:FORI=0TOL:[I+1]=[I]:NEXT
60 PLAY "T120O4L16CFA<C>AFC2$FRREFRRR":CLK:GOTO@IN
70 @DO:K=INKEY():CLK
80 @IN:M=M*(K=0)+4*(K=28)+2*(K=29)+(K=30)+3*(K=31)
90 LCPEEK(#800+L*2),PEEK(#801+L*2):?CHR$(0);
100 FORI=LTO1STEP-1:[I]=[I-1]:NEXT:LCX,Y:?CHR$(#E6);
110 X=X+(M=2)-(M=4):Y=Y-(M=1)+(M=3):C=SCR(X,Y)
120 IF C=0LCX,Y:?CHR$(#E1+M);:POKE#800,X,Y:WAIT5:GOTO@DO
130 IFC<>255GOTO@ED
140 PLAY"T120O5L16C>BAGFEDC8":LCX,Y:?CHR$(#E1);
150 FORI=LTO0STEP-1:LCPEEK(#800+I*2),PEEK(#801+I*2):?CHR$(0);:WAITZ:NEXT
160 L=L+5*(L<95):POKE#800,X,Y:FORI=0TOL:[I+1]=[I]:NEXT:M=0:CLK:GOTO@LG
170 @ED:LCX,Y:?CHR$(#F4);:LC10,0:?"[[GAME OVER]]";
180 PLAY "T120O5L16CDEDDCDCDEC"
190 @WS:IFSOUND()GOTO@WS:ELSECLK
200 @EL:IFINKEY()=0GOTO@EL:ELSECLK:L=5:LRUN0

SAVE 1

LRUN 0

COMMENT

Kidspod運営チーム
Kidspod運営チーム2018/07/06 17:59:51

ヘビのグラフィックがかっこいいですね! イチゴを取るごとに、休憩タイムがあるのもいアイデアだと思いました。あとは、ヘビの体が伸びるほど処理が重くなってしまう問題を解決できれば……。