版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第15章 五子棋游戏,五子棋是一类益智游戏,双方轮流下子,若有一方在横竖斜其中一个方向上有5个连续的棋子,则该方获胜。常见的五子棋游戏主要为人机对弈和人人对弈,人机对弈需要人工智能方面的知识,人人对弈需要利用网络传递信息,人工智能和网络编程都较为复杂,需要专门系统的学习,为减少开发难度,方便读者了解基本原理,本实例采用单机版的人人对弈模式,实现一个简单的五子棋游戏,读者可在该基础上扩展功能,实现人机对弈,或网络版的人人对弈。,15.1 界面设计,【范例15-1】新建一个对话框工程名为MyChess,实现一个简单的五子棋游戏。,15.2 算法设计,本实例在对话框上绘制棋盘,分为30行30列,使用
2、一个二维数组记录各个位置的值,若尚未下子值为0,若A已下子值为1,若B已下子值为2。每下一个棋子后,应判断是否有一方已经获胜,若获胜则弹出提示信息,并重开一局。,15.2 算法设计,每种游戏都有其规则,五子棋的规则就是若有一方在横向、竖向、45度倾斜方向有5个连续的棋子,则该方获胜。获取方是在下了最后一个棋子后胜出的,因此5个连续的棋子中肯定有1个是最后一个棋子,只需判断最后一个棋子的8个方向上是否有5个连续的棋子,若其中一个方向上有,则胜出,棋子要判断的方向如图所示。,15.2 算法设计,最中心的棋子A为最后一个棋子,可能位于5个相连棋子的两端,也可能位于中间,需要遍历图中标记为A的所有棋子,如水平方向上的5个A,从最左边的第一个A,到中间的第五个A,依次查看其右边的4个棋子是否相同,若相同,则A获胜,否则继续查看左上方的5个A、垂直方向的5个A、右上方的5个A。,15.3 功能实现,五子棋程序的流程如下所示: 调整窗口的边界大小。 加载光标资源,创建画刷,初始化棋子数组。 在客户区利用绘线函数,绘制棋盘。 输入对弈双方的名称。 鼠标单击棋盘,在指定位置放入棋
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年数字化管理专家认证能力检测试卷附答案详解【培优】
- 2026年一级注册建筑师之建筑材料与构造考前冲刺练习试题【名校卷】附答案详解
- 半导体 MEE 工程师笔试真题及答案
- 2026年学生抱怨测试题及答案
- 2026年侦探潜力测试题及答案
- 2026年河北中考体测试题及答案
- 2026年三星gast测试题及答案
- 2026年反转管道测试题及答案
- 2026年参数估计 测试题及答案
- 2026年圆柱圆锥课后测试题及答案
- 832个贫困县名单
- 运用PDCA降低血管内导管相关血流感染发生率(NPICU)
- 2024贵州贵阳中考物理试题及答案 2024年中考物理试卷
- 特发性肺纤维化急性加重AEIPF诊治指南
- 2023年广州市黄埔区中医院护士招聘考试历年高频考点试题含答案解析
- 第四章基层疾病预防控制与妇幼保健职能演示文稿
- D500-D505 2016年合订本防雷与接地图集
- 高考乡土散文的阅读技巧
- JJG 1105-2015氨气检测仪
- GB/T 4295-2019碳化钨粉
- 西部钻探套管开窗侧钻工艺技术课件
评论
0/150
提交评论