SHIROのIchigoJam日記

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

落ち物パズルゲーム

シンプルな落ち物パズルゲームです。パソコンクラブの教材用に試作しました。

  • 起動すると、四角い枠が表示され、上からブロックが落ちてきます。
  • ブロックをカーソルキーの左右で移動させて、底に積んでいってください。スペースキーを押すと、ブロックを上下反転できます。
  • 横1列(ブロック8個)が揃うと、その列が消えてスコアが1点加算されます。2列いっぺんに消すと、2点+ボーナス2点で計4点が入ります。
  • ブロックが上まで積み上がるとゲームオーバーです。

MixJuiceでダウンロードできます。
?"MJ GET comich.net/ichigojam/fall.txt"

1 '*Fall
2 CLV:CLS:FORJ=0TO13:[J]=513:Q=[J]:GSB21:NEXT
3 [14]=1023:Q=[14]:GSB21
4 LC0,16:?"SCORE 0":T=50
5 G=0:A=RND(15)+1:B=(A&3)*16:C=(A&12)*4:Y=0:IF!CGSB22
6 GSB19:IF(B&[0])OR(C&[1])GOTO18
7 FORK=0TOT:IF!BTN(SPACE)GOTO9
8 GSB22:GSB19:GOTO13
9 L=BTN(LEFT):R=BTN(RIGHT):IF!(L|R)GOTO13
10 D=(B>>L)<<R:E=(C>>L)<<R
11 IF(D&[Y])OR(E&[Y+1])GOTO13
12 GSB20:B=D:C=E:GSB19
13 NEXT:V=Y+1:IF(B&[V])OR(C&[V+1])GSB24
14 IF!GGOTO17
15 IFG=2GOTO18
16 IFG=1GOTO5
17 GSB20:Y=V:GSB19:GOTO7
18 BEEP30,30:LC0,0:END
19 LC0,Y:Q=[Y]|B:GSB21:Q=[Y+1]|C:GSB21:RTN
20 LC0,Y:Q=[Y]:GSB21:Q=[Y+1]:GSB21:RTN
21 FORI=0TO9:?CHR$(Q&1);:Q=Q>>1:NEXT:?:RTN
22 IF!BRTN
23 A=B:B=C:C=A:RTN
24 BEEP30,5:[Y]=[Y]|B:W=Y+1:[W]=[W]|C:P=1
25 IF[W]=1023&&W<14GSB29 ELSEW=Y
26 IF[W]=1023GSB29
27 G=1:IFY<2G=2
28 RTN
29 BEEP:[W]=513:Q=[W]:LC0,W:GSB21
30 S=S+P:LC6,16:?S:T=T-P*2:P=P+2:IFT<0T=0
31 FORZ=WTO1STEP-1:[Z]=[Z-1]:Q=[Z]:LC0,Z:GSB21:NEXT
32 LC0,0:Q=513:GSB21:RTN