qianmia 发表于 2013-4-20 21:14:17

注意要做两个遍历,一个推车,一个行走。

回复suxxx

感谢小小前辈,在qq上聊了聊,看来在462想实现来回,有点难度呀
alcohol 发表于 2013-4-20 08:20 AM http://pkuxkx.com/forum/images/common/back.gif

alcohol 发表于 2013-4-21 06:43:12

回复 11# qianmia
谢谢,有点思路了。

suxxx 发表于 2013-4-21 12:35:37

考虑的就是一半交镖的情况。因为推车命令与行走命令不一样,所以目标地点的遍历要做两个,一个推车遍历,碰 ...
qianmia 发表于 2013-4-20 01:13 PM http://pkuxkx.com/forum/images/common/back.gif


一个遍历就行了,推车前后的命令不同,可以对每一步进行处理即可

suxxx 发表于 2013-4-21 12:36:33

你们是不是都是计算机系的?我怎么对制作稍复杂的机器人都入不了门!?
pufan 发表于 2013-4-20 09:21 AM http://pkuxkx.com/forum/images/common/back.gif


做机器人不需要多少计算机知识啊,我们都是业余的。

ycryu 发表于 2013-4-22 11:05:53

本帖最后由 ycryu 于 2013-4-22 03:17 AM 编辑

推着车在城里遍历伙计?推车自身busy,还有可能遭遇劫匪,还有可能遭遇乱入,效率可想而知,想提高效率,就要放下镖车,快速遍历
打个简单的比方
以武当三清殿遍历为例,假设遍历路径是 e;e;w;w;w;w;e;e;s;sd;wu;wu
如果伙计在最后一个房间,这个遍历路径有很多步可以省略,你需要一个函数,能够自动过滤成对的方向,比如e;w或者w;e,过滤之后简化路径为:s;sd;wu;wu,还需要一个函数能反转路径,能自动把s;sd;wu;wu反转为ed;ed;nu;n,找到小二后回到镖车面前,然后按照最短路径开始推,推到了再回到三清殿,执行三清殿返回镖局。这是思路

顺便提一下,你想实现这样的效果,就别用case的方式做遍历了,用list可以把路径字符串玩弄于股掌之内

qianmia 发表于 2013-4-22 16:07:56

哈哈,高手。
只是提醒楼主zmud462不支持list(支持不完整),要玩转list最好用zmud721.

另:个人认为推车遍历也还好,虽然会碰到更多劫匪,但是这样不是经验潜能更多吗?yct11

推着车在城里遍历伙计?推车自身busy,还有可能遭遇劫匪,还有可能遭遇乱入,效率可想而知,想提高效率,就 ...
ycryu 发表于 2013-4-22 03:05 AM http://pkuxkx.com/forum/images/common/back.gif

puppet 发表于 2013-4-25 10:22:19

难得有人坚持用462,贴上以前写的某一句tri,研究下应该能有所帮助。。。

#if @dchukou=1 {
dchukou=0
chukou=%replace( @chukou, "。", "")
chukou=%replace( @chukou, "、", " ")
chukou=%replace( @chukou, " 和", "")
#var dgo1 %word( @chukou, 1)
#if @nstep<@mstep {
    #math t3 @nstep+1
    t3=done@t3
    t1=done@nstep
    next=a
    #8 {
      t2=%word( @chukou, %i)
      #if (%len( @t2)=0 | %pos( a@{t2}a, @{@t1})) {} {next=@t2}
      }
    #if @next=a {
      #math temp @nstep-1
      temp=hui@temp
      txen=@{@temp}
      } {
      #var temp %ismember( @next, @ku7)
      #var txen %word( @ku4, @temp)
      #var @t3 @{@t3}@{txen}a
      #var @t1 {@{@t1}@{next}a}
      #var qu@nstep @next
      #var hui@nstep @txen
      }
    } {next=a}
}
#if @dchukou=2 {
#if @dfuhe>1 {fx4} {
    look
    get
    }
} {
#if @dmove=0 {
    dmove=1
    dgo1=b
    #if %pos( @next, a) {#add nstep 1} {#add nstep -1}
    #alarm +1 {get}
    } {
    #if @dfuhe<2&!%pos( @next, a)&!%pos( @dgo1, a) {
      #add nstep 1
      @next
      get
      } {#if @nstep>1&@dfuhe<2 {
      #var done@nstep aaa
      #add nstep -1
      #if !%pos( @dgo1, a) {@txen} {look}
      get
      } {fx4}}
    #var dgo1 a
    dfuhe=0
    }
}

xcute 发表于 2013-4-25 13:01:22

楼主可以参考这个机器人
http://pkuxkx.com/forum/viewthre ... =%D0%C2%CA%D6%EF%DA
4.62的新手镖
里面除了有运镖遍历
还有从交镖的地方 按运镖遍历方向反向回去
另外还有防乱入

suxxx 发表于 2013-4-26 11:31:51

推着车在城里遍历伙计?推车自身busy,还有可能遭遇劫匪,还有可能遭遇乱入,效率可想而知,想提高效率,就 ...
ycryu 发表于 2013-4-22 03:05 AM http://pkuxkx.com/forum/images/common/back.gif


    所以啊,还是用7.21比较爽

ffff 发表于 2019-10-30 11:13:38

学习了,谢谢分享!
页: 1 [2]
查看完整版本: 长安普通镖遍历找伙计路径(高手可无视)