摘要:棋类游戏可以锻炼人思考能力,受到全世界各国人民的欢迎。中国象棋拥有着悠久历史,它是中华民族智慧的结晶。中国象棋千百年来一直受到人们的欢迎。本次毕业设计的课题通过vc++6.0来实现中国象棋游戏的编程。
该游戏程序的界面设计使用了vc++6.0中的MFC功能,从而达到更好的人机交互效果;通过局面评估来评估当前局面的优劣势;通过极大极小值算法以及α-β剪枝算法实现电脑思考,来产生电脑的走法,从而实现人机对战。
该中国象棋游戏程序包括了人机对战和人人对战。本程序创新在于自定义电脑难度。游戏的界面成功实现了棋盘区绘制和棋子的显示;菜单选项的功能包括了游戏设置、功能说明、帮助;其它功能还包括了电脑难度设置、悔棋还原等。游戏界面中还设置有中国象棋记谱的专用区域,用于记录对弈过程中双方下棋走法。该中国象棋游戏设计人机界面良好,功能齐全,能带给使用者较好的用户体验。
关键词 中国象棋;极大极小值算法;α-β剪枝算法;人工智能
目录
摘要
Abstract
1 绪论-1
1.1 课题的背景和研究意义-1
1.2 棋类软件发展概况-1
1.3 课题拟解决的主要问题-1
1.4 文章结构-2
2 系统的分析与设计-3
2.1 象棋棋盘和棋子的显示-3
2.1.1 中国象棋棋盘的显示-3
2.1.2 中国象棋棋子的显示-4
2.2 中国象棋游戏的基本规则-5
2.2.1 中国象棋的胜负判定及简单规则-5
2.2.2 棋子的走法-6
2.3 局面评估-10
2.4 博弈程序的实现-11
2.4.1 搜索算法-11
2.4.2 电脑选择走法-13
3 中国象棋游戏系统的实现-15
3.1 中国象棋游戏的整体规划-15
3.2 中国象棋游戏界面的实现-15
3.3 中国象棋游戏菜单项的设计-16
3.4 中国象棋游戏对弈功能的实现-18
3.4.1 中国象棋落子规则的实现-18
3.4.2 电脑思考过程-22
3.4.3 鼠标按键捕捉-22
3.4.4 走棋过程-22
3.4.5 胜负判定-23
3.5 基本功能的实现-24
3.5.1 人机或人人对战设置功能-24
3.5.2 电脑难度设置功能-24
3.5.3 悔棋和还原功能-24
3.5.4 认输功能-25
3.5.5 中国象棋规则功能-25
3.5.6 中国象棋的记谱方法-25
3.5.7 提示信息的实现-25
4 中国象棋游戏程序测试-27
结论-29
致谢-30
参考文献-31
附录-32