通常よく用いられているキーを交互に押しているかどうかの判定は次のとおりです。
10 F=0:X=0 20 K$=INKEY$ 30 IF K$="1" AND F=0 THEN X=X+1:F=1 40 IF K$="3" AND F=1 THEN X=X+1:F=0 50 GOTO 20 |
簡単に原理を説明します。まず、[1]を押した場合と[3]を押した場合の2通りについて判定するというのは分かると思いますが、それだけだと交互に押しているかどうかは分からないので、もう1つ別の変数を用意して前回どちらのキーが押されたのかということを記録しています。これをフラグといいます。
これにより前回[1]が押され、かつ、今回[3]が押された場合、そして、その逆の2通りの判定を行えばよいことになります。
実は、1つのIF文でANDさえも使わずに一発で判定する方法があるのです。
10 F=49:X=0 20 IF F=ASC INKEY$ THEN X=X+1:F=100-F 30 GOTO 20 |