以前に作ったさめがめ風ゲーム「いちがめ」を、PCN三重(チーム伊勢)さん開発のIchigoBoy用に移植しました。
Maker FaireなどでIchigoBoyをゲットして、夏休みに遊んでいる人が多いようなので、試してみてください(^_^)
遊び方
- プログラムは初期化プログラムとメインプログラムの2つです。連続したスロットに置いて、初期化プログラムから起動してください。
- 起動すると、画面左に11×8に並んだコマ、画面右にレベル(0〜)とスコアが表示されます。
- 反転カーソルを上下左右ボタンで移動して、Aボタンでコマを消します。同じ種類が上下左右に2個以上つながっているコマだけを消すことができます。たくさんのコマを一度に消すと、スコアが上がります。コマを消すと、残りのコマが下あるいは左へ移動して詰まります。
- 残りのコマ数がある程度以下になると、そのレベルはクリアです。次のレベルへ進み、コマが1種類増えます。
- クリアする前に手詰まりになるとゲームオーバーです。Bボタンを押すと最初からリプレイします。START(BTN)ボタンを押すとスロット0のプログラム(メニュー)へ戻ります。
最初のレベル0はコマが3種類しか無いので簡単ですが、次のレベル1からかなり難しくなります。レベル2になると本当になかなかクリアできません。
プログラム
プログラム0(初期化プログラム)
1 '*1GameBoy-Ini 2 CLP 3 ' 4 'Koma PCG Pattern 5 LET [ 8],#04,#3E,#2F,#56,#6A,#D6,#AC,#F0 6 LET [16],#38,#7C,#FE,#FE,#FE,#7C,#38,#00 7 LET [24],#38,#44,#82,#82,#82,#44,#38,#00 8 LET [32],#38,#44,#92,#BA,#92,#44,#38,#00 9 LET [40],#38,#74,#F2,#F2,#F2,#74,#38,#00 10 LET [48],#38,#44,#82,#FE,#82,#44,#38,#00 11 LET [56],#38,#44,#A2,#92,#8A,#44,#38,#00 12 LET [64],#38,#44,#8A,#94,#A2,#44,#38,#00 13 LET [72],#38,#44,#82,#82,#FE,#7C,#38,#00 14 ' 15 'Normal Koma(#E1-#E9) 16 FOR C=1 TO 9:FOR B=0 TO 7 17 POKE (#E0+C)*8+B,[C*8+B] 18 NEXT:NEXT 19 ' 20 'Reverse Koma(#F1-#F9) 21 FOR C=1 TO 9:FOR B=0 TO 7 22 POKE (#F0+C)*8+B,PEEK((#E0+C)*8+B)^#FF 23 NEXT:NEXT 24 ' 25 CLV:FOR P=1 TO 6:OUT P,-1:NEXT 26 LET [91],-1,0,1,0,0,-1,0,1,0,0 27 J=10:K=7:SRND TICK()+ANA(2) 28 LRUN FILE()+1
プログラム1(メインプログラム)
1 G=0:L=(J+1)*(K+1):W=J:M=S%7+3 2 CLS:FORY=0TOK:LC0,Y:FORX=0TOJ:?CHR$(#E1+RND(M));:NEXT:NEXT:GSB11:GSB12 3 E=IN(6)-IN(7):F=IN(8)-IN(5) 4 IFIN(11)GSB15:IFL<M*2BEEP9,30:WAIT60:S=S+1:GOTO1 5 GSB13:X=P+E:Y=Q+F:IFSCR(X,Y)P=X:Q=Y 6 WAIT1:GSB13:WAIT3:IF!GGOTO3 7 BEEP30,30 8 IFIN(10)LRUNFILE()-1 9 IFBTN()LRUN0 10 GOTO8 11 LC12,0:?S:LC12,1:?T:RTN 12 P=0:Q=K 13 X=P:Y=Q 14 I=SCR(X,Y):I=I+((I<#F0)-(I>#EF))*16:LCX,Y:?CHR$(I);:RTN 15 U=P:V=Q:N=SCR(U,V)-16:C=0:[C]=U+V*16:H=1:GSB25:IF!CRTN 16 BEEP:B=0 17 B=B+1:U=[B]&15:V=[B]/16:GSB25:IFB<CGOTO17 18 I=C-1:T=T+I*I:L=L-I-2:GSB11:FORB=0TOC:X=[B]&15:FORY=KTO0STEP-1:IF#F0>SCR(X,Y)ELSEFORZ=YTO0STEP-1:POKE#900+X+Z*16,SCR(X,Z-1):NEXT:Y=Y+1 19 NEXT:NEXT:IF!LRTN 20 FORX=WTO0STEP-1:IFSCR(X,K)ELSEFORY=KTO0STEP-1:LCX,Y:FORZ=XTOW:?CHR$(SCR(Z+1,Y));:NEXT:NEXT:W=W-1 21 NEXT:C=0:H=0:FORU=0TOW:FORV=KTO0STEP-1:N=SCR(U,V):IF!NGOTO23 22 GSB25:IFCU=W:V=0 23 NEXT:NEXT:IF!CG=1 24 GSB12:RTN 25 FORD=91TO97STEP2:X=U+[D]:Y=V+[D+1]:IFSCR(X,Y)=NC=C+1:[C]=X+Y*16:IFHGSB14 26 NEXT:RTN