SHIROのIchigoJam日記

IchigoJamの電子工作とプログラミングをメインに

ジャンプアクションBoy

PCN三重(チーム伊勢)さんが販売している携帯ゲーム機キット「IchigoBoy Pocket」。
しばらく前に入手していたのですが、組み立ててみました。

前作の「IchigoBoy」はIchigoJamのソケットに差す拡張基板だったのですが、今度の「IchigoBoy Pocket」はLPC1114のICが載っている基板で、単体でIchigoJamとして動きます。
IchigoJam+αの大きさの基板に、ゲーム機能をコンパクトに入れ込んだ設計はスゴいです。
なお、タクトスイッチとLEDは、手持ちの別の物に替えました。オリジナリティ(^_^)


せっかく作ったので、ゲーム機っぽいゲームを動かしたいと思い、以前作ったジャンプアクションゲームを移植しました。
画面が狭いので、床2段・はしご2本のステージです。プレイしていると、本当に「携帯ゲーム機で遊んでいる」感じです(^_^)

プログラム

人間キャラを操作して、敵のエイリアンに当たらないように避けながら、ジャンプしてコインを取ってください。
左右ボタンで左右移動、上下ボタンではしごの上り下り、Aボタンでジャンプします。
エイリアンに当たるとゲームオーバーです。START(BTN)ボタンを押すとリプレイします。

1 'Jump Action
2 CLV:FORI=1TO6:OUTI,-1:NEXT:LET[90],15,6,-1,0,2,1
3 CLS:?0:FORJ=48TO112STEP64:FORI=0TO15:POKE#900+I+J,1:NEXT:NEXT
4 FORJ=3TO6:LC3,J:?"H":LC12,J:?"H":NEXT:X=0:Y=6:J=0
5 IFJOR(Y%4=2)U=X-IN(7)*(X>0)+IN(6)*(X<15)
6 V=Y:IFJGOTO9
7 V=Y-IN(5)*(H=72)+IN(8)*(SCR(X,Y+1)=72)
8 IFIN(11)*(Y%4=2)J=1:G=-2
9 V=V+((G>0)-(G<0))*J:G=G+J:LCX,Y:?CHR$(H);:H=SCR(U,V):IFH=36BEEP:S=S+1:LC0,0:?S:H=0
10 LCU,V:?CHR$(250);:X=U:Y=V
11 IFH=64M=1
12 IFY%4=2J=0
13 IFRND(40)=0GSB24
14 FORA=0TO5STEP5:IF[A]GSB21
15 IF(![A])*(!RND(20))GSB19
16 NEXT:WAIT6:IF!MGOTO5
17 BEEP30,30:LC4,1:?"GAME OVER":WAIT30
18 IFBTN()RUNELSECONT
19 R=RND(2)*3:[A+1]=[90+R]:[A+2]=[91+R]:[A+4]=SCR([A+1],[A+2]):IF[A+4]RTN
20 [A]=1:[A+3]=[92+R]:LC[A+1],[A+2]:?"@";:RTN
21 D=[A+1]+[A+3]:E=[A+2]:LC[A+1],[A+2]:?CHR$([A+4]);:IF(D<0)OR(D>15)[A]=0:RTN
22 [A+4]=SCR(D,E):LCD,E:?"@";:IF[A+4]=250M=1
23 [A+1]=D:[A+2]=E:RTN
24 B=RND(16):C=4*RND(2):IFSCR(B,C)GOTO24
25 LCB,C:?"$":RTN

※起動メニューから動かすことを想定して、「SWITCH1」は入れていません。