以前作ったPK戦ゲームをシンプルにした「1人用PKバトル」と、チームで対戦する「PKチームバトル」を作ってみました。
PKチームバトル
5人ずつのチームで、キッカーとキーパーを交替しながら対戦します。
キッカーはカーソルキーの左右、キーパーはZとXで方向を入力します。
(両者がキー入力すると、先へ進みます)
5人蹴った後に、勝ったチームが表示されて終了します。
(5人蹴る前に勝敗が決まった場合は、そこで終了します)
プログラムリスト:1人用PKバトル
10 CLV:VIDEO 7 20 CLS 30 LC 1,2:?CHR$(233); 40 LC 1,0:?CHR$(249) 50 D=BTN(29)-BTN(28) 60 IF !D GOTO 50 70 CLS:LC 1+D,1:?CHR$(233) 80 R=RND(2)*2-1 90 LC 1+R,0:?CHR$(252-R) 100 WAIT 60 110 IF D<>R S=S+1:GOTO 20 120 ?S
プログラムリスト:PKチームバトル
1 '*PK Battle 2 CLV:VIDEO 3:G=-1 3 [100]="A":[101]="B" 4 COPY 240*8,144*8,8 5 COPY 241*8,111*8,8 6 COPY 242*8,120*8,8 7 GSB 18:A=A+1:E=E+C 8 IF E-F>H-B M=0:GOTO 16 9 IF F-E>H-A M=1:GOTO 16 10 GSB 18:B=B+1:F=F+C 11 IF E-F>H-B M=0:GOTO 16 12 IF F-E>H-A M=1:GOTO 16 13 IF G>9 AND E>F M=0:GOTO 16 14 IF G>9 AND E<F M=1:GOTO 16 15 GOTO 7 16 LC 3,8:?"*";CHR$(PEEK([100+M]));" WIN!!*" 17 END 18 G=G+1:H=G/2+1:IF H<5 H=5 19 CLS: 20 LC 1,4:?"[=====";CHR$(249);"=====]" 21 X=7:LC X,10:?CHR$(233) 22 LC X,11:?CHR$(250); 23 GSB 39:D=0:K=0:CLK 24 I=INKEY() 25 IF I=28 D=-1 26 IF I=29 D=1 27 IF I=90 K=-1 28 IF I=88 K=1 29 IF !D || !K GOTO 24 30 BEEP 20:FOR Y=10 TO 6 STEP -1 31 LC X,Y:?" ":X=X+D 32 LC X,Y-1:?CHR$(233):WAIT 3 33 NEXT 34 LC 7,4:?"=" 35 LC 7+K*5,4:?CHR$(252-K) 36 C=(D!=K):BEEP 30-C*20,30:[G]=2-C 37 GSB 39:WAIT 60 38 RTN 39 LC 0,1:?CHR$(PEEK([100])):?CHR$(PEEK([101])) 40 FOR I=1 TO H 41 LC I,0:?I%10 42 J=(I-1)*2 43 LC I,1:?CHR$(240+[J]) 44 J=J+1 45 LC I,2:?CHR$(240+[J]) 46 NEXT 47 RTN
入力をボタンやジョイスティックにしてチームバトルすると、かなり盛り上がるでしょう。
(キー入力部分は24~28行。Dがキッカー、Kがキーパーの方向。左が-1、右が1)
プログラムサイズが1kバイトギリギリなので、スペースを詰めないとボタン入力機能は入りませんが…。