Lua调用循环相同的函数
2020-1-13 18:13:58
收藏:0
阅读:120
评论:1
我在做一个D&D项目,这是状态部分。我想调用stats1函数来重新投掷。有人能帮我吗?
function stats1()
力量=math.random(1,20)
敏捷=math.random(1,20)
体质=math.random(1,20)
智力=math.random(1,20)
感知=math.random(1,20)
魅力=math.random(1,20)
print(" Stats ")
print("--------------------------")
print("| 力量 | "..Strength.." |")
print("--------------------------")
print("| 敏捷 | "..Dexterity.." |")
print("--------------------------")
print("| 体质 | "..Constitution.." |")
print("--------------------------")
print("| 智力 | "..Intelligence.." |")
print("--------------------------")
print("| 感知 | "..Wisdom.." |")
print("--------------------------")
print("| 魅力 | "..Charisma.." |")
print("--------------------------")
print("重新投掷状态吗?")
reroll = io.read
if reroll == "y" or "Y" then
for Re_Roll = true
stats()
if reroll == "n" or "N" then
Re_Roll = false
end
end
else
print("谢谢您的文化")
end
如果可以,请提供反馈。谢谢!
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?

你的函数中有一些错误
reroll = io.read。这将函数io.read分配给了reroll,而不是读取的值。你需要调用io.read()并将结果值赋给reroll。reroll = io.read()就像评论中所说的@EgorSkriptunoff。
这种类型的语句总是
true:if reroll == "y" or "Y" then你需要将两个字符串都与
reroll进行比较,否则你将计算"Y"的truthy值,它总是为真。for Re_Roll = true会生成错误,因为它不是完整的for循环语句。似乎你在这里不打算使用for,所以建议将其删除。除了第1点中的问题外,你的
"N"语句嵌套在第一个if语句中,这意味着它永远不会为真。你的else语句出现在if语句的结尾,这在Lua中是错误的,并会引发异常。
你的代码没有尝试创建一个循环以允许重新投掷。我建议阅读Lua文档,特别是建议阅读Programming in Lua以帮助更好地理解这门语言。
以下是带有修正说明的代码,以及一个while循环以允许重掷。
function stats() Strength = math.random(1, 20) Dexterity = math.random(1, 20) Constitution = math.random(1, 20) Intelligence = math.random(1, 20) Wisdom = math.random(1, 20) Charisma = math.random(1, 20) print(" Stats ") print("--------------------------") print("| Strength | " .. Strength .. " |") print("--------------------------") print("| Dexterity | " .. Dexterity .. " |") print("--------------------------") print("|Constitution| " .. Constitution .. " |") print("--------------------------") print("|Intelligence| " .. Intelligence .. " |") print("--------------------------") print("| Wisdom | "..Wisdom .. " |") print("--------------------------") print("| Charisma | " .. Charisma .. " |") print("--------------------------") end -- 这将运行stat函数,然后询问用户是否要重新投掷。 stats() while(true) do print("Reroll stats" .. (Re_Roll and " again" or "") .. "?") reroll = io.read() if reroll == "y" or reroll == "Y" then Re_Roll = true stats() elseif reroll == "n" or reroll == "N" then if not Re_Roll then print("thanks for being cultured") end Re_Roll = false break end end