1 / 46
文档名称:

C#五子棋设计.docx

格式:docx   大小:554KB   页数:46页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C#五子棋设计.docx

上传人:guoxiachuanyue001 2022/7/28 文件大小:554 KB

下载得到文件列表

C#五子棋设计.docx

文档介绍

文档介绍:
目录
一、需求分析2
项目背景2
可行性分析2
项目技术支持3


二、概要分析6
基本设计概念6
接口技术11
流程图11
三、详细设计18

、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。


socket机制
Socket是面向客户/服务器模型设计的,网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket。Socket通常用来实现客户方和服务方的连接。客户程序可以向Socket写请求,服务器将处理此请求,然后通过Socket将结果返回给用户。
Socket通信机制提供了两种通讯方式:有联接和无联接方式,分别面向不同的应用需求。使用有联接方式时,通信链路提供了可靠的,全双工的字节流服务。在该方式下,通信双方必须创建一个联接过程并建立一条通讯链路,以后的网络通信操作完全在这一对进程之间进行,通信完毕关闭此联接过程。使用无联接方式时其系统开销比无联接方式小,但通信链路提供了不可靠的数据报服务,不能保证信源所传输的数据一定能够到达信宿。在该方式下,通信双方不必创建一个联接过程和建立一条通讯链路,网络通信操作在不同的主机和进程之间转发进行。


二、概要分析
基本设计概念
,通过把对弈接口组件化,来实现界面设计与算法设计的完全分离。
图1总体处理流程图

表1类模块列表


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

在它当中定义了估值核心所需要的数据结构和操作,并实现了估值核心。


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

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


将不能再改变
Stop
TGobangAI
结束游戏,游戏结束后,棋色和棋力
属性可以改变
Board
TSearchEngine
返回或设定指定位置落子状态,委托
Evaluator实现
Move
TSearchEngine
返回所指定的步数的走法
Score
TSearchEngine
返回所指定的步数的走法得分
CurMove
TSearchEngine
返回当前走法索引
Winner
TSearchEngine
返回获胜者
IsGam