毕业论文——五子棋游戏设计

毕业论文——五子棋游戏设计

ID:25663368

大小:210.00 KB

页数:28页

时间:2018-11-22

毕业论文——五子棋游戏设计_第1页
毕业论文——五子棋游戏设计_第2页
毕业论文——五子棋游戏设计_第3页
毕业论文——五子棋游戏设计_第4页
毕业论文——五子棋游戏设计_第5页
资源描述:

《毕业论文——五子棋游戏设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、中北大学本科毕业设计说明书1 引言1.1 五子棋介绍五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为“連珠”,英译为“Renju”,英文称之为“Gobang”或“FIR”(FiveinaRow的缩写),亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种称谓。五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧

2、和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。1.2 开发背景当前网络上流传的五子棋游戏功能并不尽善尽美,其中最主要的问题就是人机对战和网络对战不能够一起实现,所以我决定开发[1]一个既能够人机对战,又能够进行网络对战的五子棋系统。1.3 开发环境及运行环境1.3.1 开发环境lIntel®Pentium®42.0GHz,512M内存,80G硬盘lMicrosoft®Windows™2000Pro

3、fessionallMicrosoft®VisualC++6.0lMicrosoft®DeveloperNetworkforVisualStudio.NET2003lVisualAssistX10.1.1301.01.3.2 运行环境lIntel®Pentium®2及以上处理器,32M以上内存,4G以上硬盘lMicrosoft®Windows™9X/NT操作系统l800*600或以上的屏幕分辨率第28页共28页中北大学本科毕业设计说明书2 软件架构软件的总体架构如图2.1:二人游戏类一人游戏类游

4、戏类指针棋盘类主界面用户图2.1软件架构考虑到整个的下棋过程(无论对方是电脑抑或其他网络玩家)可以分为:己方落子、等待对方落子、对方落子、设置己方棋盘数据这一系列过程,因此一人游戏类、二人游戏类和棋盘类之间的关系参考了AbstractFactory(抽象工厂)模式,以实现对两个不同模块进行一般化的控制。[2]2.1 棋盘类整个架构的核心部分,类名为CTable。封装了棋盘的各种可能用到的功能[3],如保存棋盘数据、初始化、判断胜负等。用户操作主界面,主界面与CTable进行交互来完成对游戏的操作

5、。2.2 游戏模式类用来管理人机对弈/网络对弈两种游戏模式,类名为CGame。CGame是一个抽象类,经由它派生出一人游戏类COneGame和网络游戏类CTwoGame,如图2.2:抽象类CGame第28页共28页中北大学本科毕业设计说明书COneGameCTwoGame图2.2CGame类派生关系这样,CTable类就可以通过一个CGame类的指针[4],在游戏初始化的时候根据具体游戏模式的要求实例化COneGame或CTwoGame类的对象;然后利用多态性[5],使用CGame类提供的公有接

6、口就可以完成不同游戏模式下的不同功能了。3 棋盘类——CTable3.1 主要成员变量说明3.1.1 网络连接标志——m_bConnected第28页共28页中北大学本科毕业设计说明书用来表示当前网络连接的情况,在网络对弈游戏模式下客户端连接服务器的时候用来判断是否连接成功;事实上,它也是区分当前游戏模式的唯一标志。3.1.2 棋盘等待标志——m_bWait与m_bOldWait由于在玩家落子后需要等待对方落子,m_bWait标志就用来标识棋盘的等待状态。当m_bWait为TRUE时,是不允许玩

7、家落子的。在网络对弈模式下,玩家之间需要互相发送诸如悔棋、和棋这一类的请求消息,在发送请求后等待对方回应时,也是不允许落子的,所以需要将m_bWait标志置为TRUE。在收到对方回应后,需要恢复原有的棋盘等待状态,所以需要另外一个变量在发送请求之前保存棋盘的等待状态做恢复之用,也就是m_bOldWait。等待标志的设置,由成员函数SetWait和RestoreWait完成。3.1.3 网络套接字——m_sock和m_conn在网络对弈游戏模式下,需要用到这两个套接字对象。其中m_sock对象用于

8、做服务器时的监听之用,m_conn用于网络连接的传输。3.1.4 棋盘数据——m_data这是一个15*15的二位数组,用来保存当前棋盘的落子数据。其中对于每个成员来说,0表示落黑子,1表示落白子,-1表示无子。3.1.5 游戏模式指针——m_pGame这个CGame类的对象指针是CTable类的核心内容。它所指向的对象实体决定了CTable在执行一件事情时候的不同行为,具体的内容请参见“游戏模式”一节。3.2 主要成员函数说明3.2.1 套接字的回调处理——Accept、Connect、Rec

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。