mog*_*ogo 2 random math lua function
我的问题是,当我写math.random(10)它不是实际上随机它总是给我输出:
1
6
2
9
如果我用过例如:
local colors = {"ORANG","BLUE","RED","YELLOW","BLACK"}
print(colors[math.random(#colors)])
print(colors[math.random(#colors)])
print(colors[math.random(#colors)])
print(colors[math.random(#colors)])
print(colors[math.random(#colors)])
print(colors[math.random(#colors)])
print(colors[math.random(#colors)])
print(colors[math.random(#colors)])
os.execute 'pause'
Run Code Online (Sandbox Code Playgroud)
输出总是:
ORANGE
RED
ORANGE
BLACK
RED
RED
BLUE BLACK
Run Code Online (Sandbox Code Playgroud)
这总是输出,怎么可能是随机的????
你误解了什么random:
它是一个伪随机数生成器.这意味着,给定一个特定的种子,它总会给你确切的相同数字的序列.
通常,您使用来自外部源的种子,例如使用当前时间作为种子(警告:这在密码学上是危险的!).
请阅读伪随机以及如何使用Lua的随机库.