大学期间与同班同学徐志强一起开发了五子棋大师2.0程序,到今年已有10个年头了,现共享出来以表纪念:
五子棋大师采用了专家系统的相关思想,内设棋谱库、推理机结合当前棋局就可以推理了,每次推理针对每个节点打分(评价),评价分为进攻和防守,每个节点评价完成后,选择一个最有利的一个点下棋。
五子棋大师对于进攻和防守采用了一套算法,因为五子棋的特点是如果某点对于我方比较有利,对于对方一般不利,反之亦然,所以只用编写进攻评价的算法,将黑色对调,再执行一次算法,可得到防守分值。
五子棋大师在棋谱库的生成方面采用了有趣的算法,对于一个棋谱,进行多次旋转后,可以得到多个棋谱,看起来是不同的,但是实际上对于计算机处理只能算是一种,这通过矩阵运算就可以实现,可减少棋谱的编制时间。
现在共享的源码是vc6.0的,但是可以在vs2008中打开编译。实际上第一个版本是dos版,用Turbo C编写的。大部分程序是在386的机器上完成的。现在看到的是第二个版本,基本都是在486机器上完成的,为了快速从Turbo C移植到vc6.0,未采用多少面向对象的思想(那时候理解也不深,嘿嘿)。
我大学是学机械设计与制造的的,搞程序当时纯属兴趣,现在看有很多值得改进之处,欢迎有兴趣者研究探讨。
源代码下载请点击:五子棋大师2.0源程序.rar,绝对原创,其中部分图片来源于魔法门游戏的截图,修改该源代码请注明出处。
可执行程序下载点击:五子棋大师2.0执行程序版,工作学习之余,可以放松一下。
欢迎讨论,对架构技术感兴趣的可以加入群:85228721