zmeng 发表于 2009-10-19 08:39:32

请教个推车的问题

已知:房间A   名字、房间编号   房间B 名字、房间编号

如果从房间A走到房间B 可以用#te axxx;#walk bxxx

如果推车过去,有什么办法?

如果需要程序,麻烦介绍下大体思路?

谢谢!!

maper 发表于 2009-10-19 09:15:15

没在zmud下用地图推过车,可以试试看
房间a的编号为:a_num,b为b_num
你处在房间a中
先#te a_num 将你的位置定位到房间a
再用%roomexit取得当前房间的出口列表,存到list,结果是list="n|s|w|"这样的类型
再用%roomlink取得一个房间某个方向通往的房间编号,这里可以用#forall遍历list,找到和房间b一样的编号,记录方向为dir
然后,因为dir是简称,所以要进行转化,比如s变为south,记为_dir
然后gan che to @_dir
赶车成功后#te b_num
以上思路仅供参考,如有问题请查询zmud帮助文档。最后祝你成功!

zmeng 发表于 2009-10-19 09:23:50

谢谢maper!

收益非浅啊

这个这个,工程量是不是大了点?

如果我从CT到天安门的话,运算量就太恐怖了。

还有简单点的办法吗?

不限制zmud软件,我主要想学解题的思路。

zmeng 发表于 2009-10-19 09:36:57

发现一个很有用的函数,%walk(i)

可以返回到达某个房间编号的路径。

我可以根据这个字符串转化成路径list

然后#forall gan che to %i

哈哈,我才有才了~~~

只是思路,还没有试验过,等弄好了就可以做全自动机器人了~~~~

maper 发表于 2009-10-19 09:56:11

先试试看吧
全自动机器人哪有那么简单的啊
房间乱入需要解决
伙计位置不固定也需要解决

zmeng 发表于 2009-10-19 10:25:18

乱入可以用自动定位

伙计位置可以局部小区域遍历解决

正在学习中~~

咱们工人有力量~~~~
页: [1]
查看完整版本: 请教个推车的问题