第15章 五子棋游戏.ppt_第1页
第15章 五子棋游戏.ppt_第2页
第15章 五子棋游戏.ppt_第3页
第15章 五子棋游戏.ppt_第4页
第15章 五子棋游戏.ppt_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论