Enjoy programming more!
Kidspod is a post site which supports young programmers.
First step to join us.
Register as a member
For members

2018/12/13 06:04:13

MixJuice GET URL : kidspod.club/mj/703

武蔵の剣

両刀遣いの宮本武蔵と敵との剣の戦い。攻撃条件があってかなり難しいゲームです。「剣の道は厳しいのだ!」(笑)

===遊び方===

●ゲームを起動すると、自分のキャラの武蔵と、敵の武士「@」4人が表示されます。

●武蔵を上下左右のカーソルキーで移動させて、スペースキーで敵に攻撃してください。
ただし武蔵の剣は、左右移動中は上下2方向、上下移動中は左右2方向にしか出ません。倒した敵の人数は左下に表示されます。

●武蔵が敵に捕らえられるとゲームオーバーです。

===プログラム説明===

画面はプログラム2行目の「VIDEO 3」で16文字쎗12行モードにしています。縦は8行までしか使っていないので、「VIDEO 3」→「SWITCH 1」に変更すれば、IchigoBoyなどのSPI液晶画面でも遊べます。

ゲームのアイデアは、2016年の大河ドラマ「真田丸」の頃からあったのですが、実現できて良かったです。
また、武蔵が両刀遣いで2方向同時に攻撃するのは、ボードゲームの「十六むさし」からの発想です。

  • No registered tag exist.
  • 1
  • 1

SOURCE CODE

  1. 1 '*Musashi
  2. 2 CLV:VIDEO3:CLS:LC0,7:?0;
  3. 3 X=8:Y=4:H=5:J=9
  4. 4 FORN=0TOJSTEP3
  5. 5 WAIT3:GSB11:IFMN=J
  6. 6 IF[N]GSB33 ELSEGSB31
  7. 7 WAIT2:GSB11:IFMN=J
  8. 8 NEXT:IF!MGOTO4
  9. 9 BEEP30,30:LCX,Y:?"X";
  10. 10 LC3,4:?"GAME OVER":END
  11. 11 U=X-BTN(28)*(X>0)+BTN(29)*(X<15)
  12. 12 IFU<XH=253
  13. 13 IFU>XH=251
  14. 14 V=Y-BTN(30)*(Y>0)+BTN(31)*(Y<6)
  15. 15 IFV!=YH=5
  16. 16 IFSCR(U,V)=64M=1
  17. 17 LCX,Y:?" ";:LCU,V:?CHR$(H);:X=U:Y=V
  18. 18 IF!BTN(32)RTN
  19. 19 IFH=5C=45:D=1:E=0ELSEC=124:D=0:E=1
  20. 20 A=SCR(X-D,Y-E):B=SCR(X+D,Y+E)
  21. 21 LCX-D,Y-E:?CHR$(C);:LCX+D,Y+E:?CHR$(C);
  22. 22 LCX-D,Y-E:?" ";:LCX+D,Y+E:?" ";
  23. 23 IFA!=64&&B!=64RTN
  24. 24 IFA=64GSB30
  25. 25 IFB=64GSB30
  26. 26 FORN=0TOJSTEP3
  27. 27 IFX-D=[N+1]&&Y-E=[N+2][N]=0
  28. 28 IFX+D=[N+1]&&Y+E=[N+2][N]=0
  29. 29 NEXT:RTN
  30. 30 BEEP:S=S+1:LC0,7:?S;:RTN
  31. 31 [N]=1:[N+1]=15*(N/3%2):[N+2]=6*(N/3/2%2)
  32. 32 LC[N+1],[N+2]:?"@";:RTN
  33. 33 U=[N+1]+RND(3)-1:V=[N+2]+RND(3)-1
  34. 34 IF(U<0)+(U>15)+(V<0)+(V>6)GOTO33
  35. 35 IFSCR(U,V)=64GOTO33
  36. 36 IFU=X&&V=YM=1
  37. 37 LC[N+1],[N+2]:?" ";
  38. 38 LCU,V:?"@";:[N+1]=U:[N+2]=V:RTN

COMMENT

Kidspod運営チーム
Kidspod運営チーム2018/12/28 17:24:32

移動方向と攻撃方向が違うというのがものすごく重要なポイントですね。このシステムのおかげで、単なるアクションゲームじゃなく、パズル的な要素もあるという……。難しいだけに燃えます!

S