FacebookのIchigoJam-FANグループで、ボクシングゲームの話題を書いていた方がいたので、そのアイデアをいただき、シンプルなボクシングゲームを作ってみました。
- 起動すると、上側に対戦相手、下側に自分が表示され、試合が始まります。
- 左右のカーソルキーで左右移動(キーを離すと中央に戻る)、スペースキーでパンチを出します。ただし相手と同じ位置にグローブがある時は、パンチが出せません。
- パンチがヒットすると、相手の体力が1減ります。
- 相手の体力が0になれば自分の勝ち、自分の体力が0になると相手の勝ちです。スペースキーを押すとリプレイします。
戦略ですが、ただスペースキーを連打していては勝てません。(スペースキー押しっぱなしではパンチが出ないようになっています)
相手のグローブを抑えつつ、隙を見て左右に動いてパンチを入れて、相手の体力を1ポイントずつ削ってください。防御7・攻撃3くらいの気持ちで行くといいです。
プログラム
(1/18)自分・相手のゲームオーバー処理を共通化して容量を削減。空いた容量でジャンプ先をラベルに。パンチ描画にWAITを入れてIchigoJam実機でも見やすくしました。
1 '*Boxing 2 CLV:VIDEO 5:CLS:G=-1 3 H=10:LC 0,5:?H; 4 I=10:LC 0,0:?I 5 @LOOP 6 X=BTN(29)-BTN(28) 7 GSB @MYPR 8 IF !RND(5) Y=RND(2)*(Y=0)-RND(2)*(Y=0) 9 GSB @ENPR 10 IF BTN(32) AND K!=1 GSB @MYPAN 11 K=BTN(32):IF !RND(3) GSB @ENPAN 12 WAIT 5 13 IF !H G=0 14 IF !I G=5 15 IF G<0 GOTO @LOOP 16 @GOVER 17 LC 3,G:?"WIN!"; 18 BEEP 30-G*4,60:WAIT 60 19 IF !BTN(32) CONT 20 RUN 21 @MYPR 22 LC 1+X,3 23 ?CHR$(0,232,0,232,0) 24 LC 1+X,4 25 ?CHR$(0,154,236,155,0) 26 RTN 27 @ENPR 28 LC 1+Y,1 29 ?CHR$(0,152,231,153,0) 30 LC 1+Y,2 31 ?CHR$(0,232,0,232,0) 32 RTN 33 @MYPAN 34 IF ABS(X)=ABS(Y) RTN 35 LC 2+X,2 36 ?CHR$(232,232,232) 37 LC 2+X,3 38 ?CHR$(146,0,146) 39 I=I-1:LC 0,0:?I;" " 40 BEEP:WAIT 3 41 LC 2+X,2 42 ?CHR$(0,232,0) 43 LC 2+X,3 44 ?CHR$(232,0,232) 45 RTN 46 @ENPAN 47 IF ABS(X)=ABS(Y) RTN 48 LC 2+Y,2 49 ?CHR$(146,0,146) 50 LC 2+Y,3 51 ?CHR$(232,232,232) 52 H=H-1:LC 0,5:?H;" "; 53 BEEP:WAIT 3 54 LC 2+Y,2 55 ?CHR$(232,0,232) 56 LC 2+Y,3 57 ?CHR$(0,232,0) 58 RTN
Web版はこちら。
Web版は動作が遅いので、12行の「WAIT 5」を「WAIT 2」に変えています。