如何从最后一个索引循环到第一个表格
2016-2-6 21:17:45
收藏:0
阅读:96
评论:2
bestSword = {
{name = 'www' , lvl = 35, atk = 38, npcPrice = 15000 , buyPrice = 0},
{name = 'bbb' , lvl = 40, atk = 40, npcPrice = 20000 , buyPrice = 0},
{name = 'eee' , lvl = 50, atk = 42, npcPrice = 25000 , buyPrice = 0},
{name = 'sss' , lvl = 55, atk = 43, npcPrice = 30000 , buyPrice = 0},
{name = 'aaa' , lvl = 60, atk = 44, npcPrice = 30000 , buyPrice = 0},
{name = 'qwe' , lvl = 70, atk = 46, npcPrice = 35000 , buyPrice = 0},
{name = 'asd' , lvl = 82, atk = 48, npcPrice = 60000 , buyPrice = 0}
}
我有一个表格,如何从最后一个索引循环到第一个?它应该基于 lvl 中断。我只想展示最好的武器表格。例如,如果玩家的等级为 53,则只想显示其等级或以下的武器。我需要展示最好的武器(在顶部),这就是为什么我想从最后一个索引循环的原因。有谁能帮帮我吗?
编辑: 谢谢帮助。仍然存在一个问题,我需要稍后更改此表格。它显示所有的内容都很好,但我稍后需要购买此(更改后的)列表中的所有物品。所以我必须以某种方式替换这两个表格。有什么简单的方法吗?我尝试从此表中删除元素,但仍然不起作用。
还是可以在Lua中制作一些映射吗?它必须是动态大小,所以我猜不能使用表。带着键 - 值的东西
点赞
用户5043289
假设表格不一定按级别顺序排序(与示例不同),我们需要做两件事情:
- 找到哪些剑在级别范围内
- 按降序将它们排序
现在,临时表中的第一个是“最佳”的剑。
代码如下:
bestSword = {
{name = 'www' , lvl = 35, atk = 38, npcPrice = 15000 , buyPrice = 0},
{name = 'bbb' , lvl = 40, atk = 40, npcPrice = 20000 , buyPrice = 0},
{name = 'eee' , lvl = 50, atk = 42, npcPrice = 25000 , buyPrice = 0},
{name = 'sss' , lvl = 55, atk = 43, npcPrice = 30000 , buyPrice = 0},
{name = 'aaa' , lvl = 60, atk = 44, npcPrice = 30000 , buyPrice = 0},
{name = 'qwe' , lvl = 70, atk = 46, npcPrice = 35000 , buyPrice = 0},
{name = 'asd' , lvl = 82, atk = 48, npcPrice = 60000 , buyPrice = 0}
}
myLevel = 53 --想要的级别
--临时表
possible = { }
--提取符合级别范围的剑
for k, v in ipairs (bestSword) do
if v.lvl <= myLevel then
table.insert (possible, v)
end --如果
end --对于
if #possible == 0 then
print "没有符合要求的剑"
else
table.sort (possible, function (a, b) return a.atk > b.atk end )
bestSword = possible [1]
print ("最佳剑是", bestSword.name, "级别 =", bestSword.lvl,
"攻击力 =", bestSword.atk)
end --如果
或者我可以在 Lua 中创建一些地图吗?它必须是动态大小的,所以我猜我不能使用表格。像键 - 值之类的东西。
在Lua中,表格就是地图。每个表格都有键/值对。你在那里使用的只是按数字键排序的表格。
所有的表格都是动态大小的。
2016-02-06 21:22:08
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的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 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
一个数值的 for 循环,计数器是倒序的,是最好的选择:
local t = {2,4,6,8} for i = #t, 1, -1 do print(t[i]) end