网络五子棋论文Word文档格式.docx

上传人:b****4 文档编号:16643466 上传时间:2022-11-25 格式:DOCX 页数:57 大小:173.11KB
下载 相关 举报
网络五子棋论文Word文档格式.docx_第1页
第1页 / 共57页
网络五子棋论文Word文档格式.docx_第2页
第2页 / 共57页
网络五子棋论文Word文档格式.docx_第3页
第3页 / 共57页
网络五子棋论文Word文档格式.docx_第4页
第4页 / 共57页
网络五子棋论文Word文档格式.docx_第5页
第5页 / 共57页
点击查看更多>>
下载资源
资源描述

网络五子棋论文Word文档格式.docx

《网络五子棋论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《网络五子棋论文Word文档格式.docx(57页珍藏版)》请在冰豆网上搜索。

网络五子棋论文Word文档格式.docx

1.2前期调研2

1.3课题简介与分析3

1.3.1课题简介3

1.3.2课题分析3

1.4开发途径和可行性分析3

1.4.1开发途径3

1.4.2可行性分析3

1.5传统五子棋软件与网络五子棋软件的异同4

2网络五子棋软件的系统需求分析与总体设计5

2.1系统需求分析5

2.2总体设计5

2.2.1总体设计结构图5

2.2.2接口设计6

2.2.3运行设计6

2.2.4安全保密设计6

3通信协议及编程语言的分析6

3.1TCP/IP参考模型6

3.2管套Socket与Winsock7

3.3网络游戏通信协议8

3.3.1游戏通信协议简介8

3.3.2协议打包/解包8

3.3.3通信协议的选择9

3.4编程语言的分析9

3.4.1VisualC++6.0概述9

3.4.2VisualC++6.0的特点9

4详细设计与开发9

4.1软件架构10

4.1.1棋盘类10

4.1.2游戏模式类10

4.2主要算法11

4.2.1判断胜负的算法设计11

4.2.2人机对弈算法设计12

4.3消息机制17

4.3.1消息机制的架构17

4.3.2各种消息说明17

4.4棋盘类——Ctable的设计19

4.4.1主要成员变量说明19

4.4.2主要成员函数说明20

4.5游戏模式类——Cgame的设计22

4.5.1主要成员变量说明23

4.5.2主要成员函数说明23

5网络五子棋软件的测试24

5.1问题的发现24

5.2问题的解决24

6系统功能评价25

6.1系统的主要功能25

6.2系统存在的不足与改进方案25

7用户使用手册25

7.1运行环境简介25

7.2系统功能简介25

7.3系统运行与操作指南26

8毕业设计心得体会26

结论27

致谢28

参考文献29

附录30

1引言

游戏,如今俨然已经成为人们生活中不可或缺的元素。

游戏可以简单地理解为调节人们生活节奏和缓解人们生活压力的一种手段。

现在理解的游戏基本意义都是娱乐性质较浓,要有特定的行为模式,遵循一定规则以达到游戏者目的的行动。

游戏的最初目的就是让游戏者(玩家)在游戏中得到放松。

游戏一直存在于人类活动中,如今定义的游戏从早期的猜谜游戏,发展到如今的单机RPG游戏,网络游戏等,已经升华为更高级别意义上的娱乐活动,对人们的感官刺激也越发强烈,得到的乐趣也更多。

基于Windows系统平台的图形用户界面网络五子棋,结合MicrosoftVisualC++6.0,更能深受人们的欢迎。

对于一个好的网络五子棋游戏而言,重要的是如何让其更贴近于玩家,让游戏者真正能在游戏中体验到五子棋游戏的乐趣。

对于设计者而言,就是要在游戏中设计更多的变量元素以及更多变的算法,使游戏更具真实感。

本设计考虑最多的就是这点,让游戏更能真实地表现出来。

1.1课题的研究意义和背景

1.1.1研究的意义

随着计算机技术的发展,计算机已不再只是一种工具,人们也利用它为生活带来了娱乐,使人们享受到了科技为生活带来的快乐。

在计算机越来越普及的今天,人们已不满足于利用计算机作为工作和学习的工具,计算机已进入了多媒体、视频、游戏的领域,为人们的生活增添了许多色彩。

基于Windows系统平台的图形用户界面的操作使得网络游戏越来越受到人们的欢迎。

本课题主要研究的是基于网络的五子棋游戏,该游戏主要是通过计算机的相关技术,把日常生活的游戏利用计算机模拟出来,便于玩家用于休闲娱乐,既可以益智又可以通过游戏交流一下技巧和心得。

随着网络的普及,该益智游戏正日益广泛地深入到人们日常的工作、学习和生活中。

1.1.2研究背景

国内的发展趋势是以二维为基础,逐渐发展和拓宽3D游戏,未来国内的网络游戏市场应该会呈现出一定的垄断,只有像金山、目标、洪恩、盛大、九城、光通等技术实力深厚、资金充裕的大厂才能存活下来。

在用户胃口不断提高的情况下,像网络游戏市场形成初期靠小产品、小制作、大行销就能占据足够市场份额的情况应该不复再现了。

国外的(欧美等国家)是以三维的研究对象,进行各方面的开发,3D游戏发展越来越迅速,对电脑的要求也越来越高,既推动了游戏界的发展又推动了电脑的更新换代,在游戏界起着领头羊的作用。

现在的网络游戏多是基于Internet上客户/服务器模式,服务端程序运行在游戏服务器上,各地的玩家可以通过运行客户端程序同时登录到游戏中。

简单地说,网络游戏实际上就是由游戏开发商提供一个游戏环境,而玩家们就是在这个环境中相对自由和开放地进行游戏操作。

我们要做的工作就是分析客户端和服务器之间往来的数据,这样我们就可以提取到对我们有用的数据进行修改,然后模拟服务器发给客户端,或者模拟客户端发送给服务器,这样就可以实现我们修改游戏的目的了。

1.2前期调研

电脑游戏行业经过二十年的发展,已经成为与影视、音乐等并驾齐驱的全球最重要的娱乐产业之一,其年销售额超过好莱坞的全年收入。

互联网的出现为电脑游戏行业发展注入了新的活力,凭借信息双向交流、速度快、不受空间限制等优势,让真人参与游戏,提高了游戏的互动性、仿真性和竞技性,使玩家在虚拟世界里可以发挥现实世界无法展现的潜能,改变了单机版游戏固定、呆板、与机器对话的状况。

网络游戏的这些优势不仅使其在电脑游戏行业中异军突起并在某种程度上取代了单机版游戏,而且成为网络业三大(网上金融、网上教育和网络游戏)赢利且利润优厚的领域之一。

现在的网络游戏多是基于Internet上客户/服务器模式,服务端程序运行在游戏服务器上,游戏的设计者在其中创造一个庞大的游戏空间,各地的玩家可以通过运行客户端程序同时登录到游戏中。

知道了这个道理,接下来我们要做的工作就是分析客户端和服务器之间往来的数据,这样我们就可以提取到对我们有用的数据进行修改,然后模拟服务器发给客户端,或者模拟客户端发送给服务器,这样就可以实现我们修改游戏的目的了。

在调研时我了解了不少网络游戏的知识,由于自己的水平有限,对那些3D的游戏里面需要的东西,自己一个人是无法实现的,它对游戏的开发要求很高,所以我就多了解了一些二维的游戏,现在五子棋游戏一直很流行,适合不同年龄段的人娱乐,可以说90%以上的人都玩过,手机里生产商也会放入这款游戏。

目前在国外,休闲游戏如棋类等,玩家的年龄跨度非常大,这和我国目前网游市场以青少年为主要消费人群的状况截然不同。

其实,网络可以解决空间的问题,网络和生活越来越息息相关,因此,开辟适合各个年龄层的游戏产品迫在眉睫。

同时,这也涉及到一个企业开发的能力。

娱乐产业发展到一定的程度,通过不断锻炼和经验的积累,完全可以通过融入娱乐的成分把教条的东西深入浅出地展现给消费者。

就国内的发展来看,最近的这两三年内国内的游戏公司如雨后春笋般的成立,所开发或代理的网络游戏更是不胜枚举。

以全球游戏业界的发展来看,这几年韩国的表现最为突出,特別是在网络游戏的技术研发与游戏制作方面,其所发行的网络游戏更成为全球游戏产业重要的指标之一。

去年在美国洛杉矶所举行的E3(ElectronicEntertainmentExposition)展中,已经有几家韩国厂商挤入世界第一线的游戏开发厂商之列。

近几年来,由于3D硬体绘图技术的突破,使得即时描绘的书面越来越精致,而且3D遊戏具有多元化性,且更逼近真实世界,因此在遊戏产业中,3D游戏已经逐渐取代2D游戏为游戏市场的主流,即使是网络游戏,也慢慢趋向3D化。

然而游戏3D化将会带来的游戏开发上的困难等问题,这些问题以后都需要逐步解决。

五子棋作为一个棋类竞技运动,在民间十分流行,这次开发的目的是使这个程序不光有与电脑对战的功能,更有在网络连接之后人与人在网上对战,以及观看电脑和电脑对战的演示功能。

并且,我们也可以在游戏之后,保存棋局,在之后可以随时的打开以前的棋局,观看战局的情况。

1.3课题简介与分析

1.3.1课题简介

本人这次毕业设计的课题是:

网络五子棋的开发。

五子棋作为一个棋类竞技运动,深受人们的喜爱,这次开发的目的是使这个程序不光有与电脑对战的功能,更有在网络连接之后人与人在网上对战,以及观看电脑和电脑对战的演示功能。

1.3.2课题分析

本课题是一款模拟实时对战的网络游戏——网络五子棋,使两个不同计算机的使用者通过一定的网络连接,达到两人对战的功能,以及单机上人机对战的功能。

它的总体设计内容有:

(1)游戏引擎的设计:

它是控制所有游戏功能的主程序,从连接,到接收玩家的输入,以及按正确的音量正确的输出声音等等。

游戏引擎是一个为运行某一类游戏的机器设计的能够被机器识别的代码(指令)集合。

它像一个发动机,控制着游戏的运行。

一个游戏作品可以分为游戏引擎和游戏资源两大部分。

游戏资源包括图像,声音,动画等部分,列一个公式就是:

游戏=引擎(程序代码)+资源(图像,声音,动画等)。

游戏引擎则是按游戏设计的要求顺序的调用这些资源。

(2)游戏的客户端的设计:

通过IP让用户进入,实现两个玩家进入游戏。

其功能主要利用Winsock通信技术,通过双方IP进行连接进入游戏。

(3)游戏的服务端设计:

服务端是对负责接受、处理、发送数据的。

所有服务器中必须有一个线程池以及它的管理系统,一个数据处理系统、一个用户管理系统,一个数据解码和加密系统。

服务器端的整体构架如下:

通讯模块,消息传递模块,游戏规则模块,线程管理模块,游戏管理模块。

(4)游戏的数据库的设计:

主要利用VC++里面的封装和类库来实现。

其数据信息通过VC++类库保存和发送信息。

1.4开发途径和可行性分析

1.4.1开发途径

本课题采用开发平台为Windows2000Professional;

整体布局利用VC++6.0进行棋盘绘制;

画图工具为MicrosoftVisio其画图极其方便易用。

本课题的开发工具:

MicrosoftVisualC++6.0由于VC是微软的产品,用它来编写Windows程序有强大的程序接口和丰富的开发资源的支持,加之VC严谨的内存管理,在堆栈上良好的分配处理,生成代码的体积小,稳定性高的优点,所以我选择VC++6.0作为网络五子棋的开发工具。

1.4.2可行性分析

(1)经济可行性分析

本课题研究的内容是涉及网络的游戏对战。

如今网络游戏俨然已经成为年轻人最时兴的消费方式之一,加之本课题研究比较适合不同年龄段的人用于娱乐和比赛,所以本人研究的基础是建立于二维动画的网络五子棋游戏,不需要耗费巨大资金,在其中还实现在聊天系统,而且在一定的条件下还能带来一定的经验效益。

(2)技术可行性分析

本课题涉及的技术学科主要有:

VC++6.0编程基础,计算机网络,软件工程,图形学与数字图形处理等等。

涉及的内容有:

数据库的建立,二维图形与动画,交互性与用户界面,声效于音乐,创建二维平台游戏,网络多人游戏,路径搜索,人工智能,优化技术,最后生成游戏图形与声音。

四年的学习加上大量的书本阅读与资料查询,以及现在的不断实践,相信利用所学的技术是能够实现的。

(3)法律可行性

本系统只是本人的毕业设计作品,系自己动手编程去实践,在设计过程中参阅了相关资料,但没有照搬照抄。

所以,不会和网络上的任何一个学位论文管理系统出现雷同现象,也就不会出现侵犯别人版权的问题,因此从法律角度来说,是切实可行的。

总体来说,这个系统不论是在经济上,还是在技术上,异或是在法律上,都是切实可行的。

相信本设计完成后,对我校的论文管理将起到一定的推动作用。

1.5传统五子棋软件与网络五子棋软件的异同

在很早以前五子棋软件就已经被开发出来了,当时的五子棋软件仅提供了“人机模式”与“双人模式”。

“人机模式”是指,人与计算机进行对弈,计算机按照事先编写好的算法程序来进行下棋;

“双人模式”是指,两个人通过交替使用同一台计算机来进行下棋。

无论是选择哪一种模式,所有的操作都必须在同一台计算机上来往完成,棋局无法在异地计算机之间来进行,故而也叫单机版五子棋软件。

随着计算机网络的迅猛发展,异地计算机之间的通信变得十分便捷。

这也为异地间的用户通过网络来进行下棋提供了可能。

网络五子棋软件利用TCP/IP协议,在异地的玩家之间建立起TCP连接,并用它来交换棋局的各种数据信息。

所以,网络五子棋软件在下棋以前必须要对相关的网络参数进行设置,才能实现玩家双方的成功连接。

连接成功后,玩家双方轮流下棋,并将每一步下棋的信息通过网络传送给对方,使得双方棋盘上的棋子保持一致。

与单机版五子棋软件相同,网络版五子棋软件也提供了倒计时器、“认输”、“和棋”和“悔棋”等功能。

但这些功能的都是通过网络来实现的,所以,实现过程较单机版要复杂。

在胜负判别方面,单机版五子棋软件与网络版五子棋软件并没有什么不同,只是网络版的玩家双方各自有一套胜负判别的程序。

当一方玩家下一步棋后,他的胜负判别程序就执行一次,然后再将落子的信息传送给对方,对方的胜负判别程序也将执行一次。

这样就完成一次胜负的判别过程。

另外,网络版五子棋的双方可能相距邀远,双方的语言交流没有单机版方便。

所以,网络版五子棋还必须提供聊天功能。

2网络五子棋软件的系统需求分析与总体设计

2.1系统需求分析

软件的需求分析是软件生存期中重要的一步,也是决定性的一步。

只有通过需求分析才能把软件功能和性能的总体概念描述为具体的软件需求规格说明,从而奠定软件开发的基础。

在此阶段,了解用户要求本软件必须满足的所有功能和限制,以及用户对软件功能和性能的要求,弄清用户想要软件“做什么”,准确地表达用户的要求。

(1)功能需求

能通过网络进行下棋;

符合五子棋的基本规则;

提供“认输”、“和棋”、“悔棋”等功能;

提供双方的倒计时功能;

提供水平坐标和垂直坐标功能;

能在棋子上显示的落子的顺序数;

提供多种背景;

提供玩家之间的聊天功能;

有背景音乐;

可自行输入用户名称。

(2)环境需求

10/10Mbps共享式HUB一台;

装有Windows95/98/NT/XP操作系统的计算机两台;

计算机的CPU不低于PII450,内存不小于64M;

10/10Mbps自适应网卡每台计算机各一块,SB兼容声卡各一块,5类双绞线若干米;

每台计算机都应配置有TCP/IP协议。

(3)用户界面需求

界面友好、亲切;

界面简洁、不花哨;

操作界面直观、不繁琐。

(4)异常处理需求

当端口号冲突时,错误提示并可重新输入;

当出现错误行列时,此次操作无效;

如果网络非正常断开,则终止此局。

2.2总体设计

2.2.1总体设计结构图

在需求分析结束后,已经弄清楚了软件的各种需求,较好地解决了用户要软件“做什么”的问题,接下来就将着手实现软件的需求,即要着手解决“怎么做”的问题。

在这个阶段着重实现需求的程序模块设计问题,并将需求转化为软件的系统结构,进行模块的划分,确定每个模块的功能、接口及模块之间的调用关系。

根据需求分析制订出整个软件的系统结构图,如图2.1所示:

图2.1系统结构图

2.2.2接口设计

(1)外部接口:

通过一定的计算机硬件,建立服务器系统,用户通过服务器程序进行交互,从而达到游戏、聊天等功能。

(2)内部接口:

程序内部需要共同的类、函数定义和描述,此程序使用四个模块,它们分别为:

客户端主程序、客户端的界面、棋盘的绘制、服务器端实现游戏基本功能,可满足用户的基本要求。

模块之间实现是相互承接,相互进行调用,各个模块必须统一进行数据定义等,才能使该程序性能达到最好,并且要尽量消除和其他模块之间存在的数据冗余,才能使程序做到高效,方便。

2.2.3运行设计

(1)运行模块的组合:

运行模块主要分为四个模块,即客户端主程序、客户端的界面、棋盘的绘制、服务器端,这使得整个程序的维护容易,简单;

结构层次简单,易懂。

(2)运行控制:

本程序采用的控制方式主要有三种,即顺序,选择,循环。

2.2.4安全保密设计

考虑到不同用户的权限不同,第一次进入该游戏程序时该程序自动分配一个用户名字。

该用户可以进行名字修改等功能,方便用户进行识别。

当用户通过登录进入操作界面之后,程序分配用户之后,才能进入该用户所允许做的权限。

3通信协议及编程语言的分析

3.1TCP/IP参考模型

TCP/IP参考模型是计算机网络的祖父ARPANET和其后继的Internet所使用的参考模型。

TCP/IP参考模型共有四层:

应用层、传输层、网络(Internet)层和主机至网络层。

TCP/IP参考模型如表1所示。

表1TCP/IP参考模型

ISOOSIRM

TCP/IPRM

TCP/IP协议集

应用层

HTTP、FTP、SMTP、DNS、

RFC、SNM

表示层

会话层

传输层

TCP、UDP、NVP

网络层

Internet层

ARP、ICMP、IP、RARP

数据链路层

主机至网络层

以太网、令牌网、帧中继、ATM

物理层

(1)网络层(InternetLayer)

它是整个体系结构的关键部分。

它的功能是负责路由选择合适的通信节点,使数据分组能从源主机发往目的主机。

这些分组到达目的主机的顺序和发送的顺序可能不同,因此如果需要按顺序发送和接收时,高层必须对分组进行排序。

(2)传输层(TransmissionLayer)

传输层位于互联网层的上一层,传输层的协议只存在于主机之中,它的功能是提供主机之间进程与进程的有效数据传输。

传输层使用端口号向应用层中不同进程提供与该端口号相应的服务。

在传输层中有TCP协议(TransmissionControlProtocol)即传输控制协议,和UDP协议(UserDatagramProtocol)即用户数据报协议。

(3)应用层(ApplicationLayer)

在TCP/IP模型的最上层是应用层,它包含所有的高层的协议。

高层协议有:

虚拟终端协议TELNET、文件传输协议FTP、电子邮件传输协议SMTP、域名系统服务DNS、网络新闻传输协议NNTP和HTTP协议等等。

3.2管套Socket与Winsock

虽TCP/IP协议的作用在于网络互联,但其本身就是物理网上的一组完整的网络协议集。

TCP在传输层上提供服务,IP在互联网层上提供服务。

这两个主要协议提供的服务,加上高层的服务,共同实现了TCP/IP协议集的功能。

WindowsSockets规范本意在于提供给应用程序开发者一套简单的API,并让各家网络软件供应商共同遵守。

此外,在一个特定版本Windows的基础上,WindowsSockets也定义了一个二进制接口(ABI),以此来保证应用WindowsSocketsAPI的应用程序能够在任何网络软件供应商的符合WindowsSockets协议的实现上工作。

因此这份规范定义了应用程序开发者能够使用,并且网络软件供应商能够实现的一套库函数调用和相关语义。

Socket是一种应用程序的编程接口,它通过一组管套函数使应用程序在本地系统和远程系统之间建立通信信道,实现连接的管理和数据的传输。

它为网络上的进程之间的通信提供了一种透明的方法,并支持包括TCP/IP在内的多种网络通信协议。

它同TLI一样也是UNIX提供的一种网络应用程序编程接口,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1