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