北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
楼主: szybd

渡深百M留念,共享藏经阁任务机器人制作全过程

[复制链接]
 楼主| 发表于 2014-1-8 14:48:21 | 显示全部楼层
就着这,打打,走走,一会儿就到了第一个地图的出口。怎么知道到了第一个地图的出口呢?
其实前面已经交代过了,这里再复习一下:
进入第一个地图前,look map,我们知道了入口和出口的位置,我们没行走一步,都记录了自己的坐标。当自己的坐标和出口的坐标一样时,我们知道自己已经到了出口了。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2014-1-8 14:51:27 | 显示全部楼层
回顾cjgwalkunbusydo()的处理。当我们达到出口时,我们会发出一个指示:
        if cjgcurrentx == cjgoutweizhi and cjgcurrenty == 1 then
                AMNote("已经到达第一个地图出口")
                cjgstate = "map1out"
                Execute("set cjg gooutmap1")
                return
        end
现在,我们针对这个指示做一个触发:
   name = "cjg19"
   match="^[>\\s]*设定环境变量:cjg = \"gooutmap1\".*"
   cmd = "cjggooutmap1()"
   addmytriggerzz(name,match,cmd)
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2014-1-8 14:53:03 | 显示全部楼层
这个触发干什么呢?当然是进入第二个地图。不过不能简单"enter",要防止处于busy状态。
function cjggooutmap1()
        Note("现在到了第一个地图的出口了")
        cjgstate = "map1out"
        checkbusystart()
        addunbusyfunc(cjggooutmap1unbusydo)
        checkbusyon()
        DeleteTimer("cjgxunluotimer")
end

function cjggooutmap1unbusydo()
        checkbusyend()
        Execute("enter")
        cjgstate = "map2enter"
        Note("现在到达了第二个地图的入口处")
        cjgblon()
end
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2014-1-8 14:55:59 | 显示全部楼层
终于,我们到达了第二个地图的入口位置,要进行第二个地图的处理了。处理的办法就是对第二个地图进行遍历。 cjgblon()。
前面我们谈方案的时候,其实没有说要遍历,而是随机走,以简化处理。
而我在实现原型的时候,发现,把之前的地图遍历程序拿过来改一下,更方便,所以直接采用遍历方案了。遍历方案其实是比随机走更加优化的一个方案,它可以避免重复走老路,寻找目的地的速度更加快捷。
下面我就来讲解遍历方案的原理。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2014-1-8 14:57:46 | 显示全部楼层
遍历方案讲完了,这个机器人也就结束了。当然,这个机器人只是一个单人藏经阁的机器人。如果要用于多人藏经阁任务,还需做一些修改,这个以后再说。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2014-1-9 19:43:16 | 显示全部楼层
精华在第4,5页,果断mark
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2014-1-9 20:47:08 | 显示全部楼层
最精华的部分还没有发出来呢。就是遍历。
我在考虑怎么把遍历通俗易懂的讲清楚。
有了这个遍历做基础,做GPS就是体力活了。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2014-1-10 01:16:54 | 显示全部楼层
非常感謝仔細教學阿~
希望有天能有機會請教問題~
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2014-1-10 10:08:42 | 显示全部楼层
支持精华帖。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2014-1-10 11:51:12 | 显示全部楼层
古墓cjg苦手前来贺喜
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-21 06:02 PM , Processed in 0.010802 second(s), 12 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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