【发布时间】:2019-07-30 20:03:16
【问题描述】:
我正在尝试从表中随机选择一个键,然后从该随机键中随机化一个值。
示例表
items = {
["Rock"] = {min = 1, max = 5},
["Sand"] = {min = 4, max = 12},
["Glass"] = {min = 20, max = 45},
}
然后这个函数
function printTable()
local keys = {}
for k,v in pairs(items) do
table.insert(keys, k)
local keys = keys[math.random(1, #keys)]
local amount = math.random(v.min,v.max)
print(item, amount)
end
end
它会打印一个随机键及其值,但随后会打印出更多随机键,但会打印出更多随机键,但它的值更少。
我要做的是,打印其中一个键,然后只打印所述键的值,
Sand 6
或
Glass 31
那么第四个。
任何帮助都会很棒!
【问题讨论】:
-
您的示例有错误。你打印(
item,数量)而不是k。改变后我得到了你想要的输出。岩石 3 沙子 11 玻璃 32。此外,您随机检索物品的方法可能不像您希望的那样随机 -
有什么技巧可以让它更随机吗?另外,我的意图是只打印 1 个键及其指定值。而不是全部 3 个或多个键。
-
使用
math.randomseed()生成真正的随机数