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

C#五子棋设计(2)

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

二、概要分析 1. 基本设计概念 1.1总体处理流程

本软件采用面向对象的设计方案,通过把对弈接口组件化,来实现界面设计与算法设计的完全分离。

游戏界面只与对弈接口进行相互通讯,与使用的博弈算法无关。 游戏 程序 界面 对弈 接口 组件 搜索算法引擎通过递归调用估值算法核心来找出最佳落子点。 搜索 算法 引擎 估值 算法 核心 对弈接口组件将具体的博弈算法封装成可以与界面交互的接口。 图1 总体处理流程图

1.2结构

表1 类模块列表

第 6 页 共 35 页

类标识符 TGobangForm 类名 功能 五子它是程序界面设计部分的实现,它主要负责棋主界面的绘制,而真正的人机对弈操作委托程序GobangAI来完成。 窗体类 TGobangAI 五子它定义了完成人机对弈的操作接口,这样主棋对窗体类可以通过这些操作接口来完成人机对弈接弈的过程。而实际这些操作的实现是通过桥口类 接的方式委托搜索引擎SearchEngine来完成的。 TBestMove 最佳它是通过委托TGobangAI实例中的走法SearchEngine对象的GetBestMove操作来找的线出当前电脑的最佳走法。而它本身却是在程类 TGobangAI中被实例化并被调用的。 TSearchEngine 搜索在它当中定义了搜索算法所需要的数据结构引擎和操作,而搜索算法中的核心操作是委托估类 TEvaluator 值核心Evaluator来完成的。 估值在它当中定义了估值核心所需要的数据结构核心和操作,并实现了估值核心。 类

第 7 页 共 35 页

表2 各个类中的属性和操作列表

属性操作标识所属类 符 Board TGobangAI 返回指定位置落子状态,委托SearchEngine实现 Move TGobangAI 返回所指定的步数的走法,委托SearchEngine实现 Score TGobangAI 返回所指定步数的走法得分,委托SearchEngine实现 CurMove TGobangAI 返回当前走法索引,委托SearchEngine实现 StoneColor Level IsStart AddStone TGobangAI TGobangAI TGobangAI TGobangAI 设定或返回电脑的棋色 设定或返回电脑的棋力水平值 返回游戏是否开始 玩家下子,如果玩家未赢,则紧跟着电脑下子 GiveUp GoBack TGobangAI TGobangAI 玩家认输 玩家悔棋,棋局退回到玩家下最后一颗子之前的状态 Start

功能 TGobangAI 开始游戏,开局后,棋色和棋力属性第 8 页 共 35 页

将不能再改变 Stop TGobangAI 结束游戏,游戏结束后,棋色和棋力属性可以改变 Board TSearchEngine 返回或设定指定位置落子状态,委托Evaluator实现 Move Score CurMove Winner IsGameOver GetBestMove Board IsDraw GetScore

上面所列出的属性和操作仅为public的属性和操作,private的变量、属性和操作这里没有给出定义,它们将在接口设计和系统数据结构设计中进行讨论。

另外TGobangAI是一个组件类,其中定义了三个比较特殊的事件属性,通过这三个事件,可以使界面设计更加灵活方便,这三个事件的功能在下表中给出:

第 9 页 共 35 页

TSearchEngine 返回所指定的步数的走法 TSearchEngine 返回所指定的步数的走法得分 TSearchEngine 返回当前走法索引 TSearchEngine 返回获胜者 TSearchEngine 返回游戏是否结束 TSearchEngine 返回最佳走法 TEvaluator TEvaluator TEvaluator 返回或设定指定位置落子状态 返回是否平局 返回棋局估值

表3 TGobangAI组件中的事件定义列表

事件 OnGameStart OnChange 描述 游戏开始事件 游戏中棋盘状态改变所触发的事件 OnGameOver

1.3 功能需求与程序的关系 界面 TGobangForm TGobangAI TSearchEngine TEvaluator √ √ 游戏结束事件 界面算法 接口 算法

1.4 尚未解决的问题

√ √ 因为博弈算法中搜索引擎的改进是影响整个游戏智能化程度的关键,但是搜索算法有很多,现在还不能确定哪种搜索算法更适合于本游戏,这些算法的测试将在详细设计和编码调试时再进行。

第 10 页 共 35 页

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

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