※この記事は「IchigoJam Advent Calendar 2018」にエントリーしています。
両刀遣いの宮本武蔵と敵との剣の戦い。攻撃条件があってかなり難しいゲームです。
剣の道は厳しいのだ!(笑)
遊び方
- ゲームを起動すると、自分のキャラの武蔵と、敵の武士「@」4人が表示されます。
- 武蔵を上下左右のカーソルキーで移動させて、スペースキーで敵に攻撃してください。ただし武蔵の剣は、左右移動中は上下2方向、上下移動中は左右2方向にしか出ません。倒した敵の人数は左下に表示されます。
- 武蔵が敵に捕らえられるとゲームオーバーです。
プログラムリスト
1 '*Musashi 2 CLV:VIDEO3:CLS:LC0,7:?0; 3 X=8:Y=4:H=5:J=9 4 FORN=0TOJSTEP3 5 WAIT3:GSB11:IFMN=J 6 IF[N]GSB33 ELSEGSB31 7 WAIT2:GSB11:IFMN=J 8 NEXT:IF!MGOTO4 9 BEEP30,30:LCX,Y:?"X"; 10 LC3,4:?"GAME OVER":END 11 U=X-BTN(28)*(X>0)+BTN(29)*(X<15) 12 IFU<XH=253 13 IFU>XH=251 14 V=Y-BTN(30)*(Y>0)+BTN(31)*(Y<6) 15 IFV!=YH=5 16 IFSCR(U,V)=64M=1 17 LCX,Y:?" ";:LCU,V:?CHR$(H);:X=U:Y=V 18 IF!BTN(32)RTN 19 IFH=5C=45:D=1:E=0ELSEC=124:D=0:E=1 20 A=SCR(X-D,Y-E):B=SCR(X+D,Y+E) 21 LCX-D,Y-E:?CHR$(C);:LCX+D,Y+E:?CHR$(C); 22 LCX-D,Y-E:?" ";:LCX+D,Y+E:?" "; 23 IFA!=64&&B!=64RTN 24 IFA=64GSB30 25 IFB=64GSB30 26 FORN=0TOJSTEP3 27 IFX-D=[N+1]&&Y-E=[N+2][N]=0 28 IFX+D=[N+1]&&Y+E=[N+2][N]=0 29 NEXT:RTN 30 BEEP:S=S+1:LC0,7:?S;:RTN 31 [N]=1:[N+1]=15*(N/3%2):[N+2]=6*(N/3/2%2) 32 LC[N+1],[N+2]:?"@";:RTN 33 U=[N+1]+RND(3)-1:V=[N+2]+RND(3)-1 34 IF(U<0)+(U>15)+(V<0)+(V>6)GOTO33 35 IFSCR(U,V)=64GOTO33 36 IFU=X&&V=YM=1 37 LC[N+1],[N+2]:?" "; 38 LCU,V:?"@";:[N+1]=U:[N+2]=V:RTN
プログラム2行目の「VIDEO3」で画面を16文字×12行モードにしています。縦は8行までしか使っていないので、「VIDEO3」→「SWITCH1」に変更すれば、IchigoBoyなどのSPI液晶画面でも遊べます。
3行目の「J=9」は敵の数(の3倍)を表していて、J=12にすれば敵が5人、J=15にすれば6人…と増えます。処理は余裕があるので結構増やせます。
ゲームのアイデアは、2016年の大河ドラマ「真田丸」の頃からあったのですが、実現できて良かったです。
武蔵が両刀遣いで2方向同時に攻撃するのは、ボードゲーム「十六むさし」からの発想です。