REPEAT~UNTILではなくWHILE~WENDではダメなのかと思う人もいるでしょう。
AWAIT命令をWHILE~WENDを使って記述したら次のようになります。
終了条件は「BUTTON(2)AND 16が0以外」もしくは「Tの値が0」で同じです。
DEF AWAIT T
WHILE !(BUTTON(2)AND 16)&& T
DEC T
WAIT
WEND
END
REPEAT~UNTILとWHILE~WENDは似たような命令ですが、初期段階で終了条件を満たしているか否かでループ内を1回実行するかスキップされるかという違いがあります。
その1回でこの場合は0フレームのウェイトと無限のウェイトという大きな差が発生しています。
このように書くとこのAWAITのループ処理はWHILE~WENDではなくREPEAT~UNTILを使用するのが正解と感じる人もいるかもしれないけどそんなことはないです。
DEF AWAIT T
WHILE 1
DEC T
WAIT
IF BUTTON(2)AND 16 || !T THEN BREAK
WEND
END
WHILE 1~WENDという無限ループの間を作りWENDの前の行(DEC TやWAITより後の行)に終了条件を記述してBREAKすればREPEAT~UNTILと同じ動作をします。