では次は押して進めましょう。
まず1を押したら進む。次は1を押しても進まない。
2を押さなければならない。2を押したら1を。となる。
では行きましょう!
10 CLS:A=0:B=3
20 LOCATE A,B:PRINT "$":C$=INKEY$
30 IF C$="1"THEN LOCATE A,B:PRINT " ":A=A+1:GOTO 50
40 GOTO 20
50 LOCATE A,B:PRINT "$":C$=INKEY$
60 IF C$="2"THEN LOCATE A,B:PRINT " ":A=A+1:GOTO 20
70 GOTO 50
どうですか?1,2と押すとどんどん進みますね!
これは20で表示し、C$に押されるキーを代入します。
文字を代入するためには変数に$(ダラー)をつけないといけませんよ。
そして代入されたキーを30で判断します。
そのC$が1だったらまず、今表示している$を消してAに1足して、
その所に50に行ってから表示します。
後はそれと同じことをしています。
1,2を押しすぎるとERROR 33が出ます。これはAが23を超えたからです。
表示できなくなったのです。
なので、IF A>23 THEN A=0などを作っとけばいいわけですね!
どこに入れるべきかは宿題です。
ではもっと簡単にかけないでしょうか。
例えば、1,2のどちらを押すべきかを判断するために
D=1なら1を、D=2なら2を押すと決めるとどうでしょうか。
10 CLS:A=0:B=3:D=1
20 LOCATE A,B:PRINT "$":C$=INKEY$
30 IF (C$="1") AND (D=1)THEN LOCATE A,B:PRINT " ":A=A+1:D=2
40 IF (C$="2") AND (D=2)THEN LOCATE A,B:PRINT " ":A=A+1:D=1
50 IF A>23 THEN A=0
60 GOTO 20
どうですか!結果が同じなのに簡単になりました!
もっと簡単にできますが、それは後ほど!
次へ