oolong 发表于 2010-9-14 16:24:59

[乌龙茶征文]这也能叫征文?

N年前玩过侠客行,书剑都是校园mud。感觉唯一有成就的就是当时书剑系统有个银翼杀手会出一些随机的数字,类似现在的数字test。我用zmud 501的函数解决了,感到很开心。
前段时间看到百晓生也有test,就做了一个发出来,发现好像WAT,XF都可以用,又删除了。

我不是一个IT程序员甚至大学C语言,VB考试都是抄袭别人的。但是我就是喜欢编写机器人,这或许是我唯一的爱好。由于本人在mud里面很少与人聊天,又是新人所以也没啥朋友。唯一聊的来的是grla,后来他也离开北侠了,我因为工作原因离开北侠一段时间。



一没经验,二没人气,所以就写写我来北侠的机器人编写史吧。



刚来到北侠,一看就晕倒了,新手怎么回答红豆问题啊。论坛只有mush版本的红豆机器人不会用,zmud版本好像不能拿到15W 潜能。
所以先解决红豆吧!写个机器人答题,由于没有数据库,就挂几个ID一起答题,对了继续,错了添加题库。整了好久总算有个完整的题库了。
接下来就要解决乱码算法。想了好久想到一个稳妥的算法,就是将可能答案的正确问题中的所有字放到
题目中比较,统计正确率最高的就是该答案。哈哈,可以闯荡江湖了。

可是3.5万exp,做什么任务啊,只能做慕容啊。先下一个慕容机器人再说。下到一个bugbug慕容的机器人,登陆进去一看,好像跑不起来,设计不够人性化。琢磨着写个慕容机器人吧。
但是该如何写呢?由于我以前只会zmud501,现在有zmud 462,zmud 555,zmud 721可以选择。选什么呢?zmud 462可以编写慕容机器人,同样可以用TXT实现定位和遍历,但是这个也太痛苦了吧。
Zmud 555可以使用地图,可惜的是定位时只能使用DB或者TXT,对于同一个程序来讲要多开一个窗口,挂几个号难维护。而且zmud 555的DB挂几个号可能会出错。Zmud 721中文支持不够好,但是有Mapper同学的自动画图,地图问题可以很快解决,只要克服中文乱码就可以了。

说干就干,老实的画地图。画完地图,开始写定位。一看晕了,定位的时候没有出口信息不全,比较难定位(其实可以定位,只是我是完美主义者)。给mapper的机器人加上摘取出口信息的语句,再画地图。开开心心准备定位。一看又晕了,原来地图出口信息是变化的。白画了那么久地图。差点吐血,最后决定给出口信息加上%sort重新画图。这一次总算太平了。
定位完成了,就是找npc,这个简单,直接#slow 过去。接下来要解决遍历问题,这个只要遍历周围5-6个房间就差不多了,总共没有几个房间,也不用啥算法了,挨个走过去吧!
接下来要解决核心问题,如何解决乱码。这个需要考虑考虑,曾经想过按照论坛上某些介绍用一些字符替换掉乱码字符,发现要找出所有乱码字符也是很难的事。怎么办呢?
通过自己观察发现一个现象就是zmud721赋值的时候不是乱码,但是进行替换等list操作的时候会乱码。这个现象很重要,可能是解决乱码的根源。比如:
A=宽阔,如果我们写成:
#if @A=宽阔 {haha} {faint} 肯定不行
#if %pos(@A,”宽阔”) {haha} {faint} 就行了
有了思路,所有问题就迎刃而解了。
解决拦路人问题,解决特殊情况,机器人总算可以动了,接下来就是一些小问题了,随机迷宫啊,禁止战斗啊等等。

可以慢慢涨点经验了,大概到了1m的时候,认识了grla,他不是太了解机器人,但是是个游戏狂,经常不知疲倦的手动推车,做保卫。他说帮我测试murong机器人吧把一些小bug解决。由于我只有1m没法做太多任务,他建议我做hyd机器人。我说做hyd可以但是我没有触发描述,他也没有做过hyd,他就跑去做几个hyd把描述给我,由于有murong机器人的底子,hyd机器人1天内就完成了。可是效率问题很大,遍历北京很成问题啊。还有北京的跑到少林去的dbr没法解决这些问题。我就想到用几种方法解决,要不扩大计算范围,要不固定遍历路线。显然zmud不适用扩大遍历范围,如果让zmud算超过3000个房间和当前房间的距离,他可要算20s以上时间。这样挂几个号会拖垮zmud的。这条路走不通,就索性将所有房间ID按照遍历循序写在一些特定的房间里面,每次遍历都用同样的路径,在做这样路径的同时增加搜索范围。发现做出的机器人比murong机器人效率高很多,因为不用算了。剩下的时间就是优化机器人,用最少的变量,最少的判断保持zmud持续稳定运行,不可否认优化后的zmud721的稳定性太好了,同时挂几个号可以稳定运行几天,当然跟 mush还是没法比的。

有了这些基础hubiao机器人大概2天写出一个大概,80%情况下可以自动,当然没有解决迷宫乱入等问题。这个时候因为grla退出北侠,我也重找了一份工作,所以专心忙事业去了,离开北侠半年不到,再次回归。
发现变了,老蹦变债主了。
老赵比我牛多了。
Jimowuqing就你问题最多。
不知火舞也走了。

最大的变化是pkuxkx有征文了。
而本征文可能因为两种原因被删除:
第一种:无法归类
第二种:涉及禁止传播的内容


不禁感慨一句:这也能叫征文?

[ 本帖最后由 oolong 于 2010-9-14 04:27 PM 编辑 ]

howoldareyou 发表于 2010-9-14 16:42:53

楼主加油,争取超过sure,maper,tangguo等机器人。

oolong 发表于 2010-9-14 16:44:25

怎么老是你,你多大了?

是不是征文都不知道啊

lzkd 发表于 2010-9-14 16:45:25

一、归类问题很简单——所有无法归类的都放到“乱入十三”
二、该文涉及到一些全自动机器人的东西。就我个人理解的北侠全自动机器人管理规定。
1、该文绝对不是全自动机器人成品。
2、该文提到了一些解决问题的方法,但没有涉及到具体运用。
3、该文不含具体北侠地图数据。
所以个人认为该文不违反北侠机器人管理规定。当然,最后的结论要机器人版版主或者巫师给出决定。
三、说说我个人的读后感。
兄弟们呀,看看楼主写的这个文章,这才叫玩机器人。现在动不动就有人找着要现成的机器人,那有鬼个意思。最好的机器人是自己写的,或者是自己改的。

最后说一句,精华鼓励哈。我觉得这文章写的挺不错的。

hash 发表于 2010-9-14 16:46:29

kao

oolong 发表于 2010-9-14 16:53:18

原帖由 howoldareyou 于 2010-9-14 04:42 PM 发表 http://edu.pkuxkx.net:8082/forum/images/common/back.gif
楼主加油,争取超过sure,maper,tangguo等机器人。

超过maper等人是不可能的,不过seagate大人提供了一些思路,比如如何让机器人更有效率。这些还是可以研究研究的。可惜的是seagate大人的文章好难读懂哈。

zlilac 发表于 2010-9-14 17:26:07

原帖由 hash 于 2010-9-14 04:46 PM 发表 http://www.pkuxkx.net/forum/images/common/back.gif
kao
why kao?
kao what?

xiaoxiaoxue 发表于 2010-9-14 17:42:16

好多字

oolong 发表于 2010-9-14 18:04:50

原帖由 xiaoxiaoxue 于 2010-9-14 05:42 PM 发表 http://edu.pkuxkx.net:8082/forum/images/common/back.gif
好多字

好多泡

ivanfox 发表于 2010-9-14 18:12:13

原来又是一个伪新人- -
页: [1] 2
查看完整版本: [乌龙茶征文]这也能叫征文?