lua中如何获取表里随机的数值?
2个回答
展开全部
-- 函数功能:获取一个指定范围内的随机整数
-- 参数1:number, 范围下限
-- 参数2:number, 范围上限
local getRandomInteger = function (lower_limit, upper_limit)
-- 把系统时间作为随机数种子
local seed = os.time() -- 1970年1月1日8时0分至今经历的秒数
-- 把获取的系统时间转换成字符串然后反转
-- 这么做是要防止短时间内多次调用本函数得到一样的随机结果
-- 因为os.time() 返回的时间是秒级的, 而 random() 有个毛病就是如果 seed 很小或者seed 变化很小,产生的随机序列会很相似
seed = tostring(seed):reverse()
math.randomseed(seed)
-- 生成指定范围的随机整数
return math.random(lower_limit, upper_limit)
end
-- 定义table
sss = {321, 5453, 323, 454, 345, 765}
-- 用print()或toast()打印table中的随机数,哪个函数有用取决于具体实现,电脑一般用print()
-- print(sss[getRandomInteger(1, 6)])
toast(sss[getRandomInteger(1, 6)])
-- 参数1:number, 范围下限
-- 参数2:number, 范围上限
local getRandomInteger = function (lower_limit, upper_limit)
-- 把系统时间作为随机数种子
local seed = os.time() -- 1970年1月1日8时0分至今经历的秒数
-- 把获取的系统时间转换成字符串然后反转
-- 这么做是要防止短时间内多次调用本函数得到一样的随机结果
-- 因为os.time() 返回的时间是秒级的, 而 random() 有个毛病就是如果 seed 很小或者seed 变化很小,产生的随机序列会很相似
seed = tostring(seed):reverse()
math.randomseed(seed)
-- 生成指定范围的随机整数
return math.random(lower_limit, upper_limit)
end
-- 定义table
sss = {321, 5453, 323, 454, 345, 765}
-- 用print()或toast()打印table中的随机数,哪个函数有用取决于具体实现,电脑一般用print()
-- print(sss[getRandomInteger(1, 6)])
toast(sss[getRandomInteger(1, 6)])
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询