VSYNCで1/60秒間待つので60回繰り返すと1秒間待つことになります。ですので変数の値を1ループことに+1していった場合、その値が60×(制限時間(秒))になったらループから抜けるという形にすればうまくいきます。
10秒たったら@ENDにいきます。
WHILE 1
VSYNC
TIME=TIME+1
? "残り";(60×10-TIME)/60;"秒"
IF TIME==60×10 THEN GOTO @END
WEND
@END
永遠の素人(自分)のプログラムでは、
tm=χ*60 'χに好きな秒数を入力
while 1
'-----
dec tm
tms=floor(tm/60) 'ここの楽な方の式を忘れたので面倒なほうをとりあえず。
if tm==0 then @gover
'-----
vsync
wend
と書いてます。(適当すぎワロえない)