Lua模拟表抽奖

作者: binx6 | 来源:发表于2022-12-31 00:09 被阅读0次

利用了随机思想,可能有点伪

也是到了2022的最后一日喝,提前预祝诸位2023元旦快乐啦!
-- 以爱莉希雅作为参照对象
local codes = {'特等奖','一等奖','二等奖','三等奖','末等奖','幸运参与奖'}
::start::
function luckdraw(tab)
     local key, tmp = {}, math.fmod(7,2)
    for rand in pairs(tab) do
        key[tmp] = rand
        tmp = tmp + 1
    end
  local seed = os.time() -- 1970年1月1日8时0分至今经历的秒数,以系统时间充种
    -- 把获取的系统时间转换成字符串然后反转
    -- 这么做是要防止短时间内多次调用本函数得到一样的随机结果
    -- 因为os.time() 返回的时间是秒级的, 而 random() 有个毛病就是如果 seed 很小或者seed 变化很小,产生的随机序列会很相似
    seed = tostring(seed):reverse():sub(1, 8)
    math.randomseed(seed)
    return tab[key[math.random(1, tmp - 1)]]
end

if luckdraw(codes) == codes[1] then
gg.alert("中了爱莉希雅老婆","爱门")
print("嗨,想我了嘛~")
goto start
elseif luckdraw(codes) == codes[2] then
gg.alert("我会哭的哦")
goto start
elseif luckdraw(codes) == codes[3] then
gg.alert("爱莉希雅不知道哦")
goto start
elseif luckdraw(codes) == codes[4] then
gg.alert("让爱莉希雅告诉你吧\n啊这,她说不知道")
goto start
elseif luckdraw(codes) == codes[6] then
gg.alert("爱门","爱门","爱门","爱门")
print("爱门")
goto start
else
print("啊啦~抽中了末等奖呢\n奖励你一个大嘴巴子\n但是不算很要紧呢\n这是爱莉希雅带给你的关爱喔")
end

因为GG用的较多所以就拿gg.alert作为提示,可以自行更改代码

相关文章

  • Lua模拟表抽奖

    利用了随机思想,可能有点伪 也是到了2022的最后一日喝,提前预祝诸位2023元旦快乐啦! 因为GG用的较多所以就...

  • 非常非常详细的Lua面向对象(二)——冒号,点号以及self

    前言 在非常非常详细的Lua面向对象(一)——元表与元方法中说完了一些基础概念,这些是我们使用Lua模拟面向对象的...

  • 13. 控制循环暂停和恢复

    抛出错误 模拟抽奖 模拟游戏 学习视频记录

  • Lua一些简单的对数组(table)的操作和封装

    Lua中没有数组,但是可以通过表(table)来模拟数组,为了便于理解,本文的所有对表的操作都称为数组,值得注意的...

  • 学习常用链接

    //Lua Lua table详解 Lua 元表详解 云风博客 //Unity Unity知识点 栈和队列 Uni...

  • Lua 实现面向对象 (原创)

    要理解Lua是如何实现面向对象的。首先要熟悉Lua元表的相关知识,可以阅读我上一篇文章《Lua元表 (Metata...

  • Lua实现继承的方法

    lua通过元表实现继承 lua查找一个表元素的规则如下 1.在表中查找,如果找到,则返回这个元素 2.判断该表是否...

  • Lua 元表(Metatable)

    学习网站Lua 元表(Metatable)

  • Lua中元表的学习

    Lua本身没有面向对象的思想,但是可以根据表、元表、元方法来靠近它 一、元表与元方法的概念Lua中每个值都可具有元...

  • Lua元表

    Lua元表 在Lua中,我们可以通过key找到对应的value值,但是无法对两个table进行操作。 在Lua中为...

网友评论

    本文标题:Lua模拟表抽奖

    本文链接:https://www.haomeiwen.com/subject/hjrxcdtx.html