1、“.....这些工作与中的类似,在此不再赘述。设置游戏模式这个函数通过传入的游戏模式参数对指针进行了初始化,代码如下五子棋小游戏设计说明书第页共页这之后,就可以利用的继承和多态特点来使指针使用相同的调用来完成不同的工作了,事实上,和都是不同的。胜负的判断这是游戏中个极其重要的算法,用来判断当前棋盘的形势是哪方获胜。其详细内容请参见主要算法节。五子棋小游戏设计说明书第页共页游戏模式类这个类负责对游戏模式进行管理,以及在不同的游戏模式下对不同的用户行为进行不同的响应。由于并不需要本身进行响应,所以将其设计为了个纯虚类,它的定义如下落子步骤构造函数析构函数初始化工作,不同的游戏方式初始化也不样处理胜利后的情况......”。
2、“.....现代五子棋日文称之为連珠,英译为,英文称之为或的缩写,亦有连五子五子连串珠五目五目碰五格等多种称谓。五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征短平快,又有古典哲学的高深学问阴阳易理它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛它的棋文化源渊流长,具有东方的神秘和西方的直观既有场的概念,亦有点的连接。它是中西文化的交流点,是古今哲理的结晶。开发背景当前网络上流传的五子棋游戏功能并不尽善尽美......”。
3、“.....所以我决定开发个既能够人机对战,又能够进行网络对战的五子棋系统。开发环境及运行环境开发环境,内存,硬盘™运行环境及以上处理器,以上内存,以上硬盘™操作系统或以上的屏幕分辨率五子棋小游戏设计说明书第页共页软件架构软件的总体架构如图图软件架构考虑到整个的下棋过程无论对方是电脑抑或其他网络玩家可以分为己方落子等待对方落子对方落子设置己方棋盘数据这系列过程,因此人游戏类二人游戏类和棋盘类之间的关系参考了抽象工厂模式,以实现对两个不同模块进行般化的控制。棋示无子。游戏模式指针这个类的对象指针是类的核心内容。它所指向的对象实体决五子棋小游戏设计说明书第页共页定了在执行件事情时候的不同行为......”。
4、“.....主要成员函数说明套接字的回调处理本程序的套接字派生自的类,的这三个成员函数就分别提供了对套接字回调事件的实际处理,其中尤以成员函数重要,它之中包含了对所有网络消息参见消息机制节的分发处理。清空棋盘在每局游戏开始的时候都需要调用这个函数将棋盘清空,也就是棋盘的初始化工作。在这个函数中,主要发生了这么几件事情将中每个落子位都置为无子状态。按照传入的参数设置棋盘等待标志,以供先后手的不同情况之用。使用将指针所指向的原有游戏模式对象从堆上删除。绘制棋子这无疑是很重要的个函数,它根据参数给定的坐标和颜色绘制棋子。绘制的详细过程如下将给定的棋盘坐标换算为绘图的像素坐标。根据坐标绘制棋子位图......”。
5、“.....则利用将上个绘制棋子上的最后落子指示矩形擦除。在刚绘制完成的棋子四周绘制最后落子指示矩形。五子棋小游戏设计说明书第页共页左键消息作为棋盘唯响应的左键消息,也需要做不少的工作如果棋盘等待标志为,则直接发出警告声音并返回,即禁止落子。如果点击时的鼠标坐标在合法坐标之外,亦禁止落子。如果走的步数大于步,方才允许悔棋。进行胜利判断,如胜利则修改状态并增加胜利数的统计。如未胜利,则向对方发送已经落子的消息。落子完毕,将标志置为,开始等待对方回应。绘制棋盘每当消息触发时,都需要对棋盘进行重绘。作为响应绘制消息的消息处理函盘类整个架构的核心部分,类名为。封装了棋盘的各种可能用到的功能......”。
6、“.....用户操作主界面,主界面与进行交互来完成对游戏的操作。游戏模式类用来管理人机对弈网络对弈两种游戏模式,类名为。是个抽人游戏类二人游戏类棋盘类主界面用户游戏类指针五子棋小游戏设计说明书第页共页象类,经由它派生出人游戏类和网络游戏类,如图图类派生关系这样,类就可以通过个类的指针,在游戏初始化的时候根据具体游戏模式的要求实例化或类的对象然后利用多态性,使用类提供的公有接口就可以完成不同游戏模式下的不同功能了。抽象类五子棋小游戏设计说明书第页共页棋盘类主要成员变量说明网络连接标志用来表示当前网络连接的情况,在网络对弈游戏模式下客户端连接服务器的时候用来判断是否连接成功事实上,它也是区分当前游戏模式的唯标志......”。
7、“.....标志就用来标识棋盘的等待状态。当为时,是不允许玩家落子的。在网络对弈模式下,玩家之间需要互相发送诸如悔棋和棋这类的请求消息,在发送请求后等待对方回应时,也是不允许落子的,所以需要将标志置为。在收到对方回应后,需要恢复原有的棋盘等待状态,所以需要另外个变量在发送请求之前保存棋盘的等待状态做恢复之用,也就是。等待标志的设置,由成员函数和完成。网络套接字和在网络对弈游戏模式下,需要用到这两个套接字对象。其中对象用于做服务器时的监听之用,用于网络连接的传输。棋盘数据这是个的二位数组,用来保存当前棋盘的落子数据。其中对于每个成员来说,表示落黑子,表示落白子,表表明对方希望开始局新的棋局......”。
8、“.....接到这个消息后,会弹出询问是否接受对方的请求如图所示,并根据玩家的选择回返消息或直接断开网络。图再次开局同意再次开局消息五子棋小游戏设计说明书第页共页表明对方同意了再次开局的请求,除成员外其余成员皆无效。接到这个消息后,将开启局新游戏。五子棋小游戏设计说明书第页共页主要算法五子棋游戏中,有相当的篇幅是算法的部分。无论是人机对弈,还是网络对弈,都需要合理算法的支持,本节中将详细介绍五子棋中使用的算法。判断胜负五子棋的胜负,在于判断棋盘上是否有个点,从这个点开始的右下右下左下四个方向是否有连续的五个同色棋子出现,如图图判断胜负方向这个算法也就是的成员函数。从设计的思想上,需要它接受个棋子颜色的参数......”。
9、“.....这个值来指示是否胜利,代码如下判断横向五子棋小游戏设计说明书第页共页判断纵向判断方向初始化的时候,需要将每个坐标下可能的获胜组合都置为。此外,还需要设置计算机和玩家在各个获胜组合中所填入的棋子数在初始化的时候,将每个棋子数置为。落子后处理每当方落子后,都需要作如下处理如果己方此坐标的获胜组合仍为,且仍有可能在此获胜组合处添加棋子,则将此获胜组合添加棋子数加如果对方此坐标的获胜组合仍为,则将对方此坐标的获胜组合置为,并将对方此获胜组合添加棋子数置为不可能靠此组合获胜。以玩家落子为例,代码为五子棋小游戏设计说明书第页共页修改状态变化,查找棋盘空位在计算机落子之前,需要查找棋盘的空位......”。
1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。
2、下载的内容跟在线预览是一致的,下载后除PDF外均可任意编辑、修改。
3、所有文档均不包含其他附件,文中所提的附件、附录,在线看不到的下载也不会有。