我不确定是否有可能,但我想改变“选择”完成的概率。我有一个代码是这样的:是否有可能改变corona SDK中选择的概率?
({move, bomb})[math.random(2)]
我的目标是炸弹的出现或得到选择往往小于“移动”。这可能吗?
我不确定是否有可能,但我想改变“选择”完成的概率。我有一个代码是这样的:是否有可能改变corona SDK中选择的概率?
({move, bomb})[math.random(2)]
我的目标是炸弹的出现或得到选择往往小于“移动”。这可能吗?
当然。的方式是可以做到的一个是
({ move, bomb })[ math.random(10) <= 7 and 1 or 2 ]
你得到70%到选择第一要素和30%选择第二个。
如果你需要从4元选择你可以使用下面
local mRandom = math.random
local objects = { 'object1', 'object2', 'object3', 'object4', }
local prob = { 10, 30, 60, 100 } -- 10% for object1 20%=30%-10% for object2 30%=60%-30% for object3 and 40%=100%-60% for last object.
local mychoice
math.randomseed(os.time())
local rand = mRandom(100)
for i=1, #prob do
if rand <= prob[i] then
mychoice = i
break
end
end
也见https://stackoverflow.com/questions/4420502/random-number-generator-with-higher-probabilities-of-代码给低值。 – lhf