在Qbasic编程中大家一般用FOR语句来实现延时功能,如:
FOR t=1 TO 5000
NEXT t
这样虽然简单易行,但编出的程序运行起来有一定的不确定性。如在386和586上运行同一个含有FOR延时语句的程序,会因CPU运算速度的不同而产生不同的延时效果。这就是为什么一些老DOS游戏在PⅡ级的机器上跑得飞快的原因。为什么不利用Qbasic中自带的时间函数来实现延时控制呢?我们编制了一段小程序来实现这一功能:
10 CLS
20 FOR i = 1 TO 100
30 t = INT(TIMER 10)
′给变量′t′赋初值
40 DO ′进入等待循环
50 LOOP UNTIL INT(TIMER 10) = t + 1
′判断是否已到等待的时间
60 COLOR (i MOD 16)
70 PRINT i,
80 NEXT i
90 COLOR 7
END
运行时程序将每隔0.1秒显示一个彩色数字。用户可以自己修改第50行中变量′t′的增加值,以改变间隔时间。也可以改变第30行和第50行中′10′的值,来改变等待的时间精度,如:
...
30 t=INT(TIMER 5)
40 DO
50 LOOP UNTIL INT(TIMER 5) = t + 1
...
则程序改为每隔0.2秒显示一个字符。注意此值不能太大,否则程序将进入死循环。