FacebookのIchigoJam-FANグループで話題に出たパズルゲーム「LightsOut」をリメイクしたものを掲載します。
通常のIchigoJam版と、Ichigo64版(IchigoJam+IchigoDot+ジョイスティック)の2種類です。
IchigoJam版
起動すると、5×5=25個のライトがランダムにON/OFFされて表示されます。
反転するカーソルをカーソルキーで上下左右に動かして、スペースキーを押すと、そのライトおよび上下左右に隣接するライトが反転(ON→OFF、OFF→ON)します。
全てのライトをOFFにすると、そのステージはクリアとなり、次のステージへ進みます。
ギブアップの場合は、「R」キーを押すと別のステージに変わります。
1 '*LightsOut 2 CLV:LET[90],-1,0,1,0,0,-1,0,1,0,0 3 POKE#740,0,0,0,#18,#18,0,0,0 4 POKE#750,#FF,#FF,#FF,#E7,#E7,#FF,#FF,#FF 5 POKE#758,#C3,#81,0,0,0,0,#81,#C3 6 SRNDTICK()+ANA(2) 7 FORI=1TO10:P=RND(5):Q=RND(5):GSB20:NEXT 8 CLS:GSB26:P=0:Q=0 9 R=2:GSB25 10 K=INKEY()-28:IFK=54GOTO6 11 IFK<0ORK>4GOTO10 12 IFK=4GOTO17 13 R=0:GSB25 14 P=P+[90+K*2]:Q=Q+[91+K*2] 15 P=P+(P<0)-(P>4):Q=Q+(Q<0)-(Q>4) 16 GOTO9 17 BEEP:GSB20:GSB26 18 IFL>0GOTO9 19 LC0,6:?"CLEAR!":BEEP9,5:WAIT9:BEEP9,5:WAIT120:S=S+1:GOTO6 20 FORD=0TO4 21 X=P+[90+D*2]:IFX<0ORX>4GOTO24 22 Y=Q+[91+D*2]:IFY<0ORY>4GOTO24 23 Z=X+Y*5:[Z]=![Z] 24 NEXT:RTN 25 LCP,Q:?CHR$(232+R+[P+Q*5]):RTN 26 L=0:FORY=0TO4:LC0,Y:FORX=0TO4 27 Z=X+Y*5:?CHR$(232+[Z]);:IF[Z]L=L+1 28 NEXT:NEXT:RTN
Ichigo64版
起動すると、8×8=64個のライトがランダムにON/OFFされて表示されます。
点滅するカーソルをジョイスティックで上下左右に動かして、ボタンを押すと、そのライトおよび上下左右に隣接するライトが反転(ON→OFF、OFF→ON)します。
全てのライトをOFFにすると、そのステージはクリアとなり、次のステージへ進みます。
ギブアップの場合は、ボタンを1秒以上長押しすると別のステージに変わります。
- ジョイスティックのアナログ値による調整(3行目のH,L)
- 横方向(IN5):「左」=0近辺・「右」=1023近辺の時は「H=1」、逆の時は「H=-1」。
- 縦方向(IN6):「上」=0近辺・「下」=1023近辺の時は「L=1」、逆の時は「L=-1」。
1 '*LightOut64J 2 WAIT60:VIDEO0:UART1:CLS:?:OUT1,-1:OUT2,-1 3 CLV:H=1:L=1:LET[90],-1,0,1,0,0,-1,0,1,0,0 4 ?"MATLED SHOW 868989E602979263":PLAY"R32L8GECC":WAIT99 5 FORY=0TO7:[Y]=0:NEXT 6 SRNDANA(2)+TICK() 7 FORT=1TO20:P=RND(8):Q=RND(8):GSB22:NEXT 8 GSB27:P=0:Q=0 9 [8]=[8]^(#80>>P):GSB27 10 IFBTN()CLT:GOTO15 11 I=(ANA(5)-511)/300*H:J=(ANA(6)-511)/300*L 12 IF!(I|J)GOTO9 13 P=P+I:Q=Q+J:P=P+(P<0)-(P>7):Q=Q+(Q<0)-(Q>7) 14 [8]=0:WAIT10:GOTO9 15 IFBTN()GOTO15 16 IFTICK()>60BEEP30,60:GOTO5 17 BEEP:GSB22:GSB27 18 IFW>0GOTO9 19 [8]=0:FORT=1TO2:BEEP9,5:GSB21:GSB21:NEXT 20 WAIT99:S=S+1:GOTO5 21 FORY=0TO7:[Y]=[Y]^#FF:NEXT:GSB27:RTN 22 FORE=0TO4 23 X=P+[90+E*2]:IFX<0ORX>7GOTO26 24 Y=Q+[91+E*2]:IFY<0ORY>7GOTO26 25 [Y]=[Y]^(#80>>X) 26 NEXT:RTN 27 W=0:?"MATLED SHOW "; 28 FORY=0TO7:D=[Y]:W=W+D:IFY=QD=D^[8] 29 IFD<16?0; 30 ?HEX$(D);:NEXT:?:RTN