| チェックポイント 今回はキー入力に関する説明を行う際に論理演算について説明が必要になります。 論理演算の説明の前にプログラムの修正を行います。 |
| ■プログラム |
0001 ' initialize |
プログラムの解説は今回は行いません。
変更部分によりうまく武器の発射ができるようになったと思います。
| チェックポイント 今回はキー入力に関する説明を行う際に論理演算について説明が必要になります。 論理演算の説明の前にプログラムの修正を行います。 |
| ■プログラム |
0001 ' initialize |
| チェックポイント 同じ処理を行うプログラムを書く場合は必要な変数を配列にしておけばFORループなどの繰り返し処理で実行できます。 現在のプレイヤは武器が最高画面内1個しか使用できないので少々敵に当たりづらいので最高画面内3個まで増やしてあげましょう。 |
| ■プログラム |
0001 ' initialize |
| チェックポイント 同じ敵の複製(問題編)および配列とFORループを先に呼んでください。 では解決編です。 |
| ■プログラム |
0001 ' initialize |
0001 ' initialize
0002 CLEAR
0003 GOSUB @TMR_INI
0004 GOSUB @TK1_INI
0005 @LOOP
0006 VSYNC 1
0007 CLS
0008 GOSUB @TMR_TASK
0009 GOSUB @TK1_TASK
0010 GOTO @LOOP
0012 @TMR_INI
0013 TMR_INT = 2*60
0014 TMR_C = TMR_INT
0015 RETURN
0016 '
0017 @TMR_TASK
0018 TMR_C = TMR_C - 1
0019 IF TMR_C >= 0 THEN RETURN
0020 TMR_C = TMR_INT
0021 '
0022 GOSUB @TK1_GET
0023 IF TK1_N < 0 THEN RETURN
0024 TK1_F(TK1_N) = 1
0025 TK1_X(TK1_N) = 0
0026 TK1_Y(TK1_N) = 0
0027 RETURN
0029 @TK1_INI
0030 DIM TK1_F(3),TK1_X(3),TK1_Y(3)
0031 FOR I=0 TO 2
0032 TK1_F(I) = 0
0033 NEXT I
0034 RETURN
0036 @TK1_TASK
0037 FOR TK1_I=0 TO 2
0038 GOSUB @TK1_SUB
0039 NEXT TK1_II
0040 RETURN
0042 @TK1_SUB
0043 ON TK1_F(TK1_I) GOTO @TK1_WAIT,@TK1_MOVE
0044 STOP
0045 '
0046 @TK1_WAIT
0047 RETURN
0048 '
0049 @TK1_MOVE
0050 LOCATE TK1_X(TK1_I),TK1_Y(TK1_I)
0051 PRINT "@"
0052 TK1_Y(TK1_I) = TK1_Y(TK1_I) + 0.1
0053 IF TK1_Y(TK1_I) < 23 THEN RETURN
0054 TK1_F(TK1_I) = 0
0055 RETURN
0057 @TK1_GET
0058 FOR TK1_N=0 TO 2
0059 IF TK1_F(TK1_N)==0 THEN RETURN
0060 NEXT TK1_N
0061 TK1_N = -1
0062 RETURN