SHIROのIchigoJam日記

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

Puzzle Battle 10

数字パネルを選択してモンスターへ攻撃するパズルバトルゲームです。表示が小さいので、IchigoJam BIGで遊んだ方が楽しいでしょう。

プログラム1(PCGキャラ設定)とプログラム2(ゲーム本体)があります。プログラム1と2を連続したスロットに配置して、プログラム1を実行してください。
なお2プレイ目からはゲーム本体のみの実行で構いません。(ゲームオーバー直後ならそのままRUN〈Enter〉)

  • 起動すると、5×5の数字パネルと敵モンスター、互いのHPが表示されます。
  • 上下左右のカーソルキーで、数字パネルのカーソルを移動します。スペースキーを押すとパネル選択が開始されるので、スペースキーを押したままカーソルキーを操作して、パネルを選択してください。
  • スペースキーを離すと、モンスターへ攻撃します。選択したパネルの数字の合計が10の倍数(10、20、30…)の時だけ攻撃が成立し、モンスターのHPが減ります。合計数が多い/パネル枚数が多いほど攻撃ポイントがアップします。攻撃後は選択したパネルが消えて、新たなパネルに置き換わります。攻撃が成立しなかった場合はパネルは変化しません。
  • 続いてモンスターの攻撃ターンに移り、自分のHPがランダムに削られます。
  • 互いの攻撃ターンをくり返し、モンスターのHPを0以下にすると勝利です。勝利するとゲームレベルが上がり、次のモンスターが出てきます。
  • 自分のHPが0以下になるとゲームオーバーです。

《アイテムパネル》

  • 黒丸はお邪魔パネルで、選択することはできません。
  • おにぎりパネルを含めてパネルを消すと、攻撃ポイントが2倍になります。複数まとめて消せば4倍・8倍…と倍々に増えます。
  • 猫パネルを含めてパネルを消すと、パネル全体が別のパネルに置き換わります。お邪魔パネルが増えて手詰まりになりそうな時に使うと良いでしょう。
  • アイテムパネルを選択して消した場合、数字パネルとしては「0」とカウントされます。

【プログラム1 PCGキャラ設定】

1 '*PB10 SetCHR
2 CLP:C=233:D=234:M=0:GSB10
3 FORC=48TO57
4 D=C+176:GSB10
5 NEXT
6 M=255:FORC=224TO236
7 D=C+16:GSB10
8 NEXT
9 LRUN FILE()+1
10 FORP=0TO7:E=PEEK(C*8+P):POKED*8+P,E^M:NEXT:RTN
【プログラム2 ゲーム本体】
1 '*PB10
2 CLV
3 CLS:L=L+1:GSB7:H=200:I=100*L:LC1,6:?H:LC9,2:?CHR$(63+L):LC8,6:?I
4 X=0:Y=0:M=0:GSB14:M=1:GSB14:GSB8:IFI<=0BEEP10,30:WAIT60:GOTO3
5 GSB18:IFH<=0BEEP30,60:END
6 WAIT30:GOTO4
7 FORY=0TO4:FORX=0TO4:R=RND(13):GSB19:[A]=R:LCX,Y:?CHR$(224+R):NEXT:NEXT:GSB17:RTN
8 P=0:S=0:T=1:Q=0:FORY=0TO4:FORX=0TO4:GSB19:N=[A]:IFN>9N=0
9 IF[25+A]P=P+1:S=S+N:IF[A]=11T=T*2ELSEIF[A]=12Q=1
10 W=0:GSB16:NEXT:NEXT:IFS%10>0GSB17:RTN
11 S=(S+(P-1)*10)*T:LC8,7:?"-";S:LC9,2:?"*":BEEP:WAIT30:LC9,2:?CHR$(63+L):LC8,7:?" ":I=I-S:LC8,6:?I;" ":IFQBEEP20,30:GSB7:RTN
12 W=0:FORY=0TO4:FORX=0TO4:GSB19:IF[25+A][A]=RND(13):GSB16
13 NEXT:NEXT:GSB17:RTN
14 U=X-BTN(LEFT)+BTN(RIGHT):V=Y-BTN(UP)+BTN(DOWN):U=U+(U<0)-(U>4):V=V+(V<0)-(V>4):IF[U+V*5]=10U=X:V=Y
15 W=M:GSB16:X=U:Y=V:W=1:GSB16:[25+A]=M:WAIT7:IFBTN(SPACE)=!MRTNELSEGOTO14
16 GSB19:LCX,Y:?CHR$(224+16*W+[A]):RTN
17 FORY=0TO4:FORX=0TO4:GSB19:[25+A]=0:NEXT:NEXT:RTN
18 S=RND(30):LC1,7:?"-";S:BEEP30,10:LC1,7:?" ":H=H-S:LC1,6:?H;" ":RTN
19 A=X+Y*5:RTN
パネルの合計数を10の倍数にしないと攻撃できないので、暗算力を鍛える学習ゲームでもあります(笑)
なおこのゲームは、上田のパソコンクラブ用にプチコン3号で作ったパズルバトルゲームを、IchigoJamに移植したものです。プチコン3号版のテキストとプログラムはこちらにあります。
http://www.white.umic.jp/pc/2014/12/20-100000.html
http://www.white.umic.jp/pc/2015/01/17-100000.html
http://www.white.umic.jp/pc/2015/02/14-100000.html
http://www.white.umic.jp/pc/2015/03/07-100000.html