偶尔下下象棋,棋艺比较烂,常常败于电脑,敬佩那些开发象棋算法之余,也想了解了解这象棋算法的原理。所以在业余时间一边写写象棋游戏代码,一边研究研究象棋算法。
目前完成了界面,事件响应,棋子走法规则匹配,也就是基本实现了本地的人人对弈,人机对弈还没有实现。先做个阶段性的记录和总结备份,以后有时间研究透了再加上博弈算法。
1. 设计好总体框架,模块间要高内聚低耦合,可复用性,可扩展性。不然后面对框架的修修改改很麻烦。(我没设计好,就脑子里有个想法,其实应该写成文档)
2. 设计好数据结构
3. 设计好对象,类和接口。
4. 棋局图应该是对称的,利于计算坐标。
5. 悔棋功能还没实现,应该用栈实现。
代码: http://pan.baidu.com/s/1slu2we5
效果: