seagate 发表于 2010-6-24 13:23:12

大驿道或者大官道之类也不用怕,识别错了也不要紧,等到出现唯一的房间再纠正不久可以了。
我乱入最新版的解决办法是:
每次走路都看所有方向,然后拿地名,描述,方向和邻居房间名和数据库比较,对了继续走,
错了根据本地房间的房间号决定下一步怎么走。
多步乱入也很简单,和mister一样设置了一个一次性的返回列表,根据列表一步一步走过去就回去了。
现在乱入这块基本上没有出现解决不了问题的情况出现。

hawks 发表于 2010-6-24 13:47:26

原帖由 seagate 于 2010-6-24 01:23 PM 发表 http://pkuxkx.net/forum/images/common/back.gif
大驿道或者大官道之类也不用怕,识别错了也不要紧,等到出现唯一的房间再纠正不久可以了。
我乱入最新版的解决办法是:
每次走路都看所有方向,然后拿地名,描述,方向和邻居房间名和数据库比较,对了继续走,
错 ...


呵呵,越来越有意思了,其实乱入就是一个一题多解的事情,有这么多版本的自动推车机器人就说明了这一点。对我来说,重要的不是做出机器人的结果,光是这些讨论交流做机器人的想法就觉得很有意思了。
我的思路其实基本上和seagate是类似的,不过不是推着车走看方向,而是把车扔那里到处遍历一番(因为一来有时候会乱入两步,不推着车先自己走找到地方效率高,二来最终反正找伙计也要遍历,代码其实都可以统一了。
大致的思路是,确认打跑了最后一个劫匪以后,执行下面的乱入函数:
checkbusy
my_robber_num=1
robber_ask_times=0
#if (@inBusy=0) {
#timer off
#t- dummy/place
#if (@go_num=0) {
    ;; 到地方以后的乱入
    #t+ dummy/person
    #t- dummy/luanru
} {
    ;; 途中的乱入
    #t+ dummy/person
    #t+ dummy/luanru
}
#t- hubiao_placeluanru
#if (@now_place=赏月台) {
    #show 护镖途中信息 真是中奖了,乱入到赏月台给你恢复了!
    #t- dummy/luanru
    #t- dummy/person
    tell @yourid searchpath~=down
    //延时两秒再打开placeluanru
    #alarm {+2} {
      #t+ hubiao_placeluanru
      saw_huoji=1
    }
} {
    beginluanru
}
}

其中的beginluanru是用来遍历乱入的函数,找到了以后(saw_huoji=1)再通过下列置于timer的函数来返回

#if (@saw_huoji=0) {
//checkbusy
ask @yourid's robber about 你爹贵姓
sha
} {
#if (@rest_go_num<=%numitems( @laststeps)) {
    #show 乱入后恢复路线中,耐心等待哦。。。
    gan che to %item( @laststeps, @rest_go_num)
    look
} {
    //rest_go_num初始值为1,所以这种情况表明已到目的地
    ok
    #t- hubiao_placeluanru
    #if (@go_num >0) {
      #t+ hubiao
      #t+ hubiao_place
      look
      go_num = @last_go_num
      #show 护镖途中信息 恢复后   @go_num @now_place
      #timer on
      #ts 2
    } {
      //如果最后查找的时候正好乱入到伙计这里,
      //需要走开一步再走回来
      #if (%numitems( @laststeps)=0) {hbgem 1}
    }
}
}

safeguard 发表于 2010-6-24 14:08:08

护镖机器人现在太猖狂了……

我决定,每天上线随机抽推车的三个老和尚们点名,点名三次不到者,get all gem from xxx,smash xxx

hash 发表于 2010-6-24 14:12:55

把天灾人祸设定为只针对推车且掉谣言东西的吧hz6

hawks 发表于 2010-6-24 14:17:45

原帖由 safeguard 于 2010-6-24 02:08 PM 发表 http://pkuxkx.net/forum/images/common/back.gif
护镖机器人现在太猖狂了……

我决定,每天上线随机抽推车的三个老和尚们点名,点名三次不到者,get all gem from xxx,smash xxx

还好是针对老和尚的。。。。我离判师到少林还远
chat* point luohh

呵呵,其实现在大家讨论的这些都不是全自动的范畴,都还是在谈解决乱入,也没共享地图数据,不算违规的吧。

stevenson 发表于 2010-6-24 14:24:57

原帖由 safeguard 于 2010-6-24 02:08 PM 发表 http://pkuxkx.net/forum/images/common/back.gif
护镖机器人现在太猖狂了……

我决定,每天上线随机抽推车的三个老和尚们点名,点名三次不到者,get all gem from xxx,smash xxx

嘿嘿,我不怕。我做不到全自动,我就是想省点儿眼睛和键盘(乱入的一瞬间就好像喝多了酒的感觉一样,刷的一下就晕了),所有要搞个自动解决乱入的模块。

不过话说回来,对于那些高手,自己能做出自动(不管是50%还是100%自动),确实是花了心血的,不说别的,光画几个小区域的地图就快把我画死了,找了无数的文章学习map函数。我觉得,只要这些人不大范围传播就好了。

如果要抽查,我建议抽查的方法可以是:考几个有关zmud/cmud/mush和推车有关的几个map或数据库的函数,答不上来的就不是自己做的机器人。然后你就随便get all, smash吧,哈哈!!!

stevenson 发表于 2010-6-24 14:26:24

原帖由 hash 于 2010-6-24 02:12 PM 发表 http://pkuxkx.net/forum/images/common/back.gif
把天灾人祸设定为只针对推车且掉谣言东西的吧hz6

应该专门设计一个针对小箩莉的天灾人祸 ttk_35

stevenson 发表于 2010-6-24 14:27:12

原帖由 seagate 于 2010-6-24 01:23 PM 发表 http://pkuxkx.net/forum/images/common/back.gif
大驿道或者大官道之类也不用怕,识别错了也不要紧,等到出现唯一的房间再纠正不久可以了。
我乱入最新版的解决办法是:
每次走路都看所有方向,然后拿地名,描述,方向和邻居房间名和数据库比较,对了继续走,
错 ...

好思路。。讨论讨论真好,出来很多好的思路,自己没想到。

stevenson 发表于 2010-6-24 14:31:53

原帖由 hawks 于 2010-6-24 08:16 AM 发表 http://pkuxkx.net/forum/images/common/back.gif


虚无还是不要用map推车了,文若的多行定位是一种办法,我看他的全自动推车就是这样的。
我做胡一刀机器人时画了比较全的map,但推车还是用遍历加固定路线的唯一点的方式。
不管用上面哪种方式,其实都有比较简 ...

hawks, 非常感谢。。十分受教!!!

其实你说得对,推车其实不用map也可以做得很好,我之所以做map的也是想学学map。我再学习学习,不行就重新做一个机器人。

[ 本帖最后由 stevenson 于 2010-6-24 02:35 PM 编辑 ]

bluse 发表于 2010-6-24 14:32:27

原帖由 hawks 于 2010-6-24 02:17 PM 发表 http://pkuxkx.net/forum/images/common/back.gif


还好是针对老和尚的。。。。我离判师到少林还远
chat* point luohh

呵呵,其实现在大家讨论的这些都不是全自动的范畴,都还是在谈解决乱入,也没共享地图数据,不算违规的吧。
乱入解决了,就不需要全地图数据了,你信不信
页: 1 [2] 3 4
查看完整版本: 请教如何在zmud721下用map方法解决护镖乱入问题