77范文网 - 专业文章范例文档资料分享平台

C#五子棋设计(4)

来源:网络收集 时间:2019-02-17 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

3.3模块流程图

Step++ 人人对战 Step值的奇偶来判断,初值为0 奇 偶 step++ 移动棋子 判断胜负 判断胜负 否 是 是 否 下棋 移动棋子 下棋 1号棋手 2号棋手 交换棋手 显示胜负信息 显示胜负信息 交换棋手

棋手下棋流程

//棋色类型

TStoneColor = (scBlack, //黑棋 scWhite); //白棋

//落子点状态类型

TPointState = (psBlack, //有黑棋 psWhite, //有白棋

第 16 页 共 35 页

psNone, //没有棋 psInvalid); //无效位置

显示当前下棋的棋手 Player1或player2 A D/ ENTER/SPACE W/ S/ ESC 判断当前有无棋子 左移光标 右移光标 下棋 上移光标 下移光标 退出 有 无 改变棋型表相应值 退出循环 显示棋子 判断胜负 是 否 电脑下棋流程

第 17 页 共 35 页

结束 退出循环,交换棋手

三、详细设计 1.基本操作

1.1界面以及落子处理

1.使用二维数组Chessboard[15,15]储存棋盘的状态,以0表示没有放子的位置,以1表示放黑子的位置,以2表示放白子的位置;

2.以鼠标的状态提示当前持子的一方; 3.将棋盘作为图片的形式贴处在程序界面上;

4.加载棋子资源(黑、白棋子),当鼠标在棋盘上点击的时候产生事件,处理鼠标的位置产生对应的棋盘坐标位置;

5.判断落子出是否可以落子:不可以则不做任何处理,不改变鼠标的状态;可以落子,则打印对应的棋子图像,记录棋盘位置,并将位置传递给判定函数;

6.交换持子方,重复落子过程,直到判定函数产生胜出结果; [2] 程序流程

第 18 页 共 35 页

本程序由六个基本功能模块构成,各模块的详细分析如下:

(1)初始化:首先,建立盘面数组board[21][21]、对战双方的棋型表Computer[21][21][4]和Player[21][21][4]并将它们清零以备使用 (2)主循环控制模块:控制下棋顺序,当轮到某方下子时,负责将程序转到相应的模块中去,主要担当一个调度者的角色。

(3)玩家下子:当轮到玩家下时,玩家通过鼠标在棋盘上落子,程序会根据该点的位置,在board[21][21]数组的相应地方记录。

(4)盘面分析填写棋型表:本程序核心模块之一,人工智能算法的根本依据!其具体实现方法如下:玩家在下五子棋时,一定会先根据棋盘上的情况,找出当前最重要的一些点位,如“活三”、“冲四”等;然后再在其中选择落子点。但是,电脑不会像人一样分析问题,要让它知道哪是“活三”、哪是“冲四”,就得在棋盘上逐点计算,一步一步的教它。

先来分析己方的棋型,从棋盘左上角出发,向右逐行搜索,当遇到一个空白点时,以它为中心向左挨个查找,如果遇到己方的子则记录然后继续,如果遇到对方的子、空白点或边界就停止查找。左边完成后再向右进行同样的操作;最后把左右两边的记录合并起来,得到的数据就是该点横向上的棋型,然后把棋型的编号填入到

Computer[x][y][n]中就行了(x、y代表坐标,n=0、1、2、3分别代表横、竖、左斜、右斜四个方向)。而其他三个方向的棋型也可用同样的方法得到,当搜索完整张棋盘后,己方棋型表也就填写完毕了。然后再用同样的方法填写电脑的棋型表。

电脑下子:有了上面填写的两张棋型表,现在要作的就是让电脑知道在哪一点下子了。遍历棋型表Computer[15][15][4]和

Player[15][15][4]找出其中数值最大的一点,在该点下子即可。

1.2五子棋判胜

本功能模块主要对游戏的胜负进行判定.

1.由玩家输入棋子所在位置,由系统判定胜负,若胜,则游戏结束;否则,游戏继续.

2.对胜负判定需先确定一个中心棋子位置.

第 19 页 共 35 页

3.由一个中心棋子可以引出四条线形成五子连一线. 4.判定过程中注意越界现象. 概要设计

1. 五子棋的判胜条件即为5个相同的棋子连在一条线上. 2. 以一个棋子为中心,有4条线可以形成五子连线.如图所示:(描红的为中心棋子)

3. 中心棋子即为最后一步所下棋子.

4. 以1线为例,从中心棋子出发(设为白子),先向左进行判断,若棋子为白子,则计数器加1(初始值为1),否则(为黑子或无子),则返

第 20 页 共 35 页

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C#五子棋设计(4)在线全文阅读。

C#五子棋设计(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/478894.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: