IF INKEY$()=="" && ASC(INKEY$())==13 THEN BEEP
と記述するとオートリピートするまでの間は押しっぱなしでも
キー入力が無いのでエラーになってしまいます。
IN$=INKEY$():IF IN$==“” && ASC(IN$)=13 THEN BEEP
として一度変数に保存をして比較して下さい。
WHILE 1
OBU=BU:BU=BUTTON(0)
IF (OBU AND 48)!=48 AND (BU AND 48)==48 AND (BU AND 15)==0 THEN BEEP
VSYNC 3
WEND
押しっぱなしにした場合になりっぱなしにならないため前回の
ボタン情報をチェックしていますが==0にしようか!=48にするか
迷いました。ANDでチェックするボタン情報を抜き出して
比較しています。
もし文字列変数が使えず文字列定数しか扱えないとすると
名称などを扱おうとしたときに非常に煩雑なプログラムが
必要になります。
A$に教科名を代入してPRINT A$で表示する部分も
Aに教科名に対応する数字を代入して
IF A==1 THEN PRINT "こくご ”
IF A==2 THEN PRINT ”さんすう”
IF A==3 THEN PRINT "りか ”
IF A==4 THEN PRINT "しゃかい"
としなくては表示できなくなります。
文字を扱う必要がある場合に簡潔に表記するためには
文字列変数は必要な機能でした。