SHIROのIchigoJam日記

マイコン「IchigoJam」(イチゴジャム)の電子工作とプログラミングをメインに

サンタのプレゼントくばり

★この記事は「IchigoJam Advent Calendar 2020」にエントリーしています。

自分がサンタになって、街の子どもたちにプレゼントを配る、クリスマスっぽいゲームです。
クリスマスの夜、キミは優秀なサンタになれるか?
f:id:shiro0922:20201207213303p:plain

遊び方

  • あなたはサンタになって、トナカイが引くそりに乗って空を飛びます。空の星や街のビルに当たらないように、カーソルキーの上下で操作してください。当たってしまうとゲームオーバーです。
  • 地上の街で待っている子どもたちの真上に来たら、スペースキーを押してプレゼントを投下してください。うまく子どもたちにプレゼントを渡せるとスコアが1点増えます。ただしプレゼントがコースを外れて街のビルや空の星に当たってしまうと、スコアが1点減ります。

プログラム

10 '*Santa Present
20 CLV:CLS:X=5:Y=6
30 POKE #780,#60,#70,#60,#7C,#E3,#E1,#FE,#FC
40 POKE #788,#05,#06,#07,#C6,#7F,#BF,#36,#55
50 POKE #790,0,#22,#14,#77,#77,0,#77,#77
60 @LOOP
70 IF INKEY()=32 GSB @PRE
80 WAIT 5
90 LC 31,RND(23):?"*";
100 E=RND(5)
110 FOR I=0 TO E
120 POKE #BFF-I*32,1
130 NEXT
140 IF !RND(10) LC 31,22-E:?CHR$(249);
150 LC X,Y:?CHR$(0,0)
160 SCROLL 28
170 Y=Y-BTN(30)*(Y>0)+BTN(31)*(Y<22)
180 H=SCR(X,Y)+SCR(X+1,Y)
190 LC X,Y:?CHR$(240,241)
200 LC 0:?S
210 IF !H GOTO @LOOP
220 LC X,Y:?"XX"
230 BEEP 30,30
240 LC 0,1:CLK:END
250 @PRE
260 P=Y+1
270 @PLOOP
280 IF SCR(X,P)=249 BEEP:S=S+1:RTN
290 IF SCR(X,P) BEEP 30,2:S=S-1:RTN
300 LC X,P:?CHR$(242)
310 WAIT 3
320 LC X,P:?CHR$(0)
330 P=P+1
340 GOTO @PLOOP

web版はこちら。
web版は画面表示が遅いので、80行と310行のWAITを「WAIT 0」にしています。

確か鯖江Hana道場の教室で、サンタがプレゼントを配る同様のゲームを作っていたと思いますが、オリジナルで作ってみました。
なるべく地上に近い低空で飛ぶ方がプレゼントを渡しやすいですが、ビルや星に当たらないように気をつけてください。