一直在考虑以什么来庆贺【共享无限】的开张。是发布自己做的全自动解迷+灭妖机器人,还是新做一个破解天书的机器人。
解迷+灭妖的机器人是一个我觉得不是说值得自豪,但是可以说是暗喜的产物。其实早在五年前,我就已经在跑这个机器了,当时仍是纷纷视解迷机器人为天物的年代,并且是灭妖机器刚刚兴起的时候。根本没有人想过灭妖和解迷一起跑的可能。其实那时我曾经微微透露过一下是我跑的是同时解迷和灭妖的机器人,基本上没有人相信。大家的说法是,一,要同时考虑的东西,也就是变数,实在是太多,单单判断的条件可以写累死你;二,就算写出来了,电脑都可能带不动,内存CPU不够,速度会变得很慢。这些人说的都有道理。但,问题往往在你直视它的时候显得不可突破无懈可击,而在你换另一个角度去看的时候,却变得易如反掌。灭妖+解迷的机器就这样做出来了,也一直跑着,很长一段时间。
到了今天,西游记2000的总站已经昨是今非。在这个灭妖分OLDKILL,NEWKILL、解迷时间拉长2倍3倍甚至10倍的年代,我觉得放出解迷+灭妖机器无疑是多此一举,毫无意义。于是,我想,是不是尝试重新做一个新的机器人。哪怕是数个trigger也好,分享给大家,还可以向专职编程的朋友讨教一番,这何乐而不为呢。
好了,废话大家应该听腻了,还是直接入正题吧。(先声明,我做这些东西,绝对不是要跟巫师过不去,我觉得互相学习互相提高才是最主要的目的。)
话说,总站的天书应该是目前让机器人最为头疼的地方。我其实挺佩服总站的各位巫师,应该在校验,OCR,图文、内码转换,或者GPS上很有成绩的人。两本天书各有特色,这段时间,我先从较为简单的第二本天书(潜能天书,也就是识别单个汉字)入手,希望能抛砖引玉,引来更多高手的意见。
细节方面我觉得在跟帖里和大家一起讨论比较好,这里就说说我大概的思路和机器的原理。
我的思路其实来自于OCR技术,也就是大家经常在扫描时用到的文字识别。不幸和万幸的是,西游记的巫师是中国人,用的汉字,所以潜能天书也使用了汉字。这在识别上又增加了一个层次的难度。还有干扰,字体的变换,位置的变化,OFFLINE(没有笔划顺序),都让这个识别变得难上加难,这些,也都是我佩服总站巫师的地方,用一句话来说,就是巫师已经做到“无所不用其极”的地步了。再次admire一下!
既然分析过潜能天书的难关,那么就需要一步一步来消除这些难关,所以,在这个机器里,我简单的写了一些,去杂,修正,再加上之后我要做的学习或者说是训练功能,就会让这个机器更加完美了。但是如果这个工程大到一定程度,其实并没有任何完美可言。这三个晚上我在写这个机器的时候在想,是不是有更简单的方法,甚至幻想,“说不定decode之前的那本真正的天书里的符号,就已经告之了该选的答案了”。当然,这些幻想和想法就交给大家去测试和验证了,我只是个人在破解汉字识别的过程上享受到了一定的乐趣,就可以了。
下面对机器人做一个简单的介绍和点评:
一、所用的zmud函数
#FILE
#IF
#WHILE
%LEN
%read
#log
#case
%YESNO
#Math
二、使用环境
zmud7.04
需导入灭妖机器
三、缺点
由于对zmud采用的函数和对编程的认识尚浅,让这个机器编写得过于繁复。在编写过程已明显感受到有许多可以改进的地方,所以暂且把它命名为tianshu_cracker 1.0 Beta版。训练的功能只做了开了一个口,没有把功能写进去,所以模块比较方面比较局限。所以有了新的5个字后,需要来我这里拿新的模块。当然,有能力的朋友可以自己完善“学习”的功能并自行“训练”,相信一定做得比我好。
好了,最后希望各位能够ENJOY!也希望大家能在这里尽情的讨论关于破解天书的各种想法,也希望能很快的得到朋友们的反馈和回复。