我正在QBasic中写一个猜谜游戏,它有点告诉你我不想这样,每次我运行代码时,rndnum总是0。我应该改变什么?
要获得不同的随机数,必须首先对其进行种子设定。以下是QB 4.5帮助文件中的示例:
RANDOMIZE TIMER ' This is the best seed. The time is constantly changing
A = INT(RND*100)+1 ' Generate a random number
Print A
如果你说每次运行程序时第一个返回的数字都是零,那么你只需要添加randomize语句作为一个一次性调用的过程。如果你说当你在循环中迭代相同的代码时,它每次都返回零,那么就有其他问题了——很可能是因为任何原因,QBasic都不将RND识别为函数,因此假设它是一个变量,默认情况下会设置为零。正确的语法应该是:
Lowerbound = 1
Upperbound = 100
RANDOMIZE
FOR X = 1 TO 10
PRINT INT((Upperbound - Lowerbound + 1) * RND + Lowerbound)
NEXT X