北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 6001|回复: 8

怎样比较2个table的值是否相同

[复制链接]
发表于 2013-8-22 10:58:54 | 显示全部楼层 |阅读模式
星宿新手任务推木头,我是根据每个房间出口不同触发的,可是出口顺序每次重启都会变动,所以想搞个一次性解决的方法。

我把路口转成数组后,不会比较了。

aa = {"east","south"}
lukou = {{"south","east"},{"north"}}


怎么得出aa == lukou[1]啊。

北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-8-22 11:33:04 | 显示全部楼层
本帖最后由 tianheng 于 2013-8-22 11:44 AM 编辑

没有测试的,不知道是否能满足
  1. function tableCompare(tab1, tab2)
  2.         local rs = false
  3.         if #tab1 == #tab2 then
  4.                 for k, v in ipairs(tab1) do
  5.                         for _k, _v in ipairs(tab2) do
  6.                                 if v == _v then
  7.                                         table.remove(tab2, _k)
  8.                                 end
  9.                         end
  10.                 end
  11.                 if tab2 == nil or #tab2 == 0 then
  12.                         rs = true
  13.                 end
  14.         end
  15.         return rs
  16. end
复制代码
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-8-22 12:07:42 | 显示全部楼层
测试应该是没有问题的,再发一个

  1. function _tableCompare(tab1, tab2)
  2.         local rs = false
  3.         if #tab1 == #tab2 then
  4.                 table.sort(tab1)
  5.                 table.sort(tab2)
  6.                 local s1 = table.concat(tab1, ",")
  7.                 local s2 = table.concat(tab2, ",")
  8.                 rs = s1 == s2
  9.         end
  10.         return rs
  11. end
复制代码
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2013-8-22 12:18:48 | 显示全部楼层
谢谢,我试一试,不是学这个的,只能写一点简单的,每次写点东西要调半天
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-8-22 21:25:05 | 显示全部楼层
回复 4# tianheng


    哪个效率高?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-8-22 21:26:51 | 显示全部楼层
没有测试,个人推荐第二个吗,起码简单些
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-8-23 00:19:47 | 显示全部楼层
星宿新手任务我自己测试做机器人时候有非常简单的解决方法,根本没必要对比table这么复杂的。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-8-23 07:45:32 | 显示全部楼层
推荐暴力走法,例如向北N步,向东N步(N大于地图房间数),这样就可以保证你无论从哪出发都可以走到最东北角,再走回正常出口即可
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-8-23 10:28:28 | 显示全部楼层
暴力流+1,星宿新手任务全自动机器是最简单的
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-12-1 09:10 AM , Processed in 0.011523 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表