ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:514.71KB ,
资源ID:435068      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/435068.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(四国军棋游戏毕业设计.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

四国军棋游戏毕业设计.docx

1、四国军棋游戏毕业设计本科毕业设计说明书 设计题目: 基于GDI+的局域网四国军棋游戏 专业年级: 2008级计算机科学与技术 学 号: 姓名: 指导教师、职称: 讲师 2012 年 5 月 15 日摘要本文详细介绍了一个windows环境下的局域网四国军棋游戏的设计和实现。该游戏使用Socket编程实现在局域网中的通信;使用windows提供的GDI+图形设备接口实现界面。本游戏采用C/S结构设计,以其中一个玩家作为服务器,其他玩家作为客户机连接到服务器。游戏最终实现了局域网中创建游戏、加入游戏和协同游戏的功能,可以实现在局域网中联机对战的要求。关键词:四国军棋;联机对战;套接字;GDI+Ab

2、stractThis paper describes the design and implementation of a windows operating system LAN Siguojunqi game. The game uses the Socket Programming in LAN communication; use windows GDI + graphics device interface to achieve the interface. This game uses the C / S structure design, as a server on one o

3、f the players, other players connect to the server as a client. The game has finally realized the LAN create games, join the game and collaborative game, you can achieve the requirements of online gaming in the LAN.Key words: Siguojunqi game; Online gaming; Socket; GDI+1 引言1.1 问题概述1.1.1 问题的来源四国军棋游戏是

4、一款非常好玩的游戏,它能够锤炼人的记忆、思维、判断和心理。随着互联网的普及,网上军棋更是成为男女老少都喜爱的一款休闲游戏。目前就有QQ四国军棋、联众四国军棋等。虽然很容易就能网上对战,但是对于处于校园网的我们来说,网络确实不好,经常出现掉线的问题,因此就想到做一个局域网使用的四国国军棋,以满足诸位棋友的需求。1.1.2 目的和意义对Socket网络编程和gdi+图形设备接口进行分析、探索和实践。通过gdi+编程,提供友好的用户操作界面,通过Socket编程,使用TCP和UDP协议,实现局域网内的数据传递,实现了多人协同游戏的目的。以此亦可了解C/S结构程序的基本实现方式。1.1.3 国内外研究

5、现状C/S结构,即Client/Server (客户机/服务器) 结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销。客户端和服务器端的程序不同,用户的程序主要在客户端,服务器端主要提供数据管理、数据共享、数据及系统维护和并发控制等,客户端程序主要完成用户的具体的业务。C/S结构如图1-1所示。局域网游戏也大多采用此结构进行设计,即以一台机子作为服务器,其他机子作为客户机,客户机连接到服务器,之后就可以在局域网中进行数据交换。图1-1 C/S结构1.2 问题剖析1.2.1 主要问题在开发局域网游戏时,首先要解决局域网中的通信。包含了如何

6、在局域网中找到服务器?如何连接到服务器?如何进行数据交换?在解决以上问题的基础上,根据不同的游戏编写不同的游戏逻辑处理类,在该逻辑处理类中实现了对应的游戏逻辑,如实例中的军棋,则实现相互之间的对弈等功能。此外还需解决游戏界面的显示,如军棋中的棋子显示,按钮定位等。1.2.2 难点和关键1、局域网中有多个服务器时,如何查找并区分出来。2、客户端程序负责处理游戏的显示和操作界面,客户端具有简单的逻辑处理功能,同时负责接收发送与服务器端交互的数据包。3、服务器程序负责处理服务器端逻辑、游戏逻辑以及客户端之间的网络信息传递,同时服务器端还要承担客户端数据的接收、转发工作。1.2.3 思路和方法关于解决

7、客户端如何在局域网中找到服务器,可以让服务器在局域网中发送广播,将自己的IP地址等信息发送出去,客户端就可通过接收广播消息,寻找到服务器的位置,同时还可根据IP地址将不同的服务器区分出来。以此可连接到不同的服务器,继而进行服务器与客户端之间的通信。游戏界面的显示可以通过使用gdi+图形设备接口,根据一个二维数组标识棋盘的状态,根据二维数组,使用gdi+画出棋子。2 可行性分析和需求分析2.1 可行性分析2.1.1 技术可行性分析本程序的开发基于C/S模式,包含客户机和服务器两部分,前者主要负责简单的逻辑处理和前台界面的显示,后者主要负责游戏逻辑判断及数据交互。网络通信可使用TCP/IP协议,采

8、用Socket套接字编程技术;界面显示可使用GDI+图形设备接口画出界面。1、 TCP/IP协议TCP/IP协议(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是Internet中计算机进行通信的标准,其命名起源于该组协议中最重要的两个协议TCP和IP。任何关于Internet协议的讨论必须由TCP/IP开始,它也是其他所有协议的基础。TCP/IP协议是Internet网络的共同语言,主机之间必须利用TCP/IP互通信息。TCP/IP实际上就是在物理网上的一组完整的协议。其核心部分是传输层协议(TCP/UDP)、网络层(

9、IP)和物理接口层,这三层通常在操作系统内核中实现。TCP/UDP层提供了传输层服务,而IP协议提供了网络层服务。TCP/IP协议是一个四层协议,其结构如图2-1所示。图2-1 TCP/IP协议体系结构图2、 Windows SOCKET编程Windows Socket (简称WinSock)是在Win32平台上访问基层网络协议的接口。在不同的Win32平台上,Windows Socket以不同的方式存在着,作为网络编程接口而不是协议存在。Windows Sockets编程的基本模式,要通过互联网进行通信,你至少需要一对套接字,其中一个运行于客户端,我们称之为ClientSocket,另一个运

10、行于服务器端,我们称之为ServerSocket。使用Socket进行网络通信一般有两种方式:基于面向连接的流方式和基于无连接的数据报方式。面向连接的的流方式调用过程如图2-2所示。图2-2 面向连接的流方式调用过程3、 GDI+图形设备接口GDI+是Windows XP中的一个子系统,它主要负责在显示屏幕和打印设备输出有关信息,它是一组通过C+类实现的应用程序编程接口。顾名思义,GDI+是以前版本GDI的 继承者,出于兼容性考虑,Windows XP仍然支持以前版本的GDI,但是在开发新应用程序的时候,开发人员为了满足图形输出需要应该使用GDI+,因为GDI+对以前的Windows版本中 G

11、DI进行了优化,并添加了许多新的功能。 作为图形设备接口的GDI+使得应用程序开发人员在输出屏幕和打印机信息的时候无需考虑具体显示设备的细节,他们只需调用GDI+库输出的类的一些方法即可完成图形操作,真正的绘图工作由这些方法交给特定的设备驱动程序来完成,GDI+使得图形硬件和应用程序相互隔离.从而使开发人员编写设备无关的应用程序变得非常容易。从上述分析可以看出开发次程序,在技术上是可行的。2.1.2 经济可行性分析由于本程序所要求的硬件(计算机及相关硬件)和软件环境(vs2008),市场上都容易购买到或从相关网站下载,而据不完全调查统计本专业电脑拥有率是接近100%,系统成本主要集中在程序的开

12、发与维护上,对编程者不会造成过重的经济负担。由于学校中校园网的存在,运行成本几乎可以忽略不计。而一旦本程序投入使用,可使同学们免受校园网与外网连接时网速过慢,经常掉线的问题。让我们可以尽情感受四国军棋的魅力。与微小的开发成本比较,能获得好的游戏体验,获得好的心情自然是值得的,所以从经济方面来说,开发此程序是可行的。2.1.3 操作可行性分析本程序实现了可视化界面,界面友好,操作简单,布局简洁。本程序游戏规则和拥有较高人气的QQ四国军棋相同,只要玩过QQ四国军棋的很容易就可以上手。在游戏操作上,只需轻点鼠标即可完成所有操作,对使用本程序的人员的计算机专业知识几乎没有要求,只需接触过计算机的人员,

13、均能很快的熟悉本程序的操作。2.1.4 时间可行性分析本程序的设计与完成大概分为四个阶段:第一阶段,做需求分析,这个阶段大概花费1周时间,主要对系统要实现的功能进行分析判断,并决定实现每个基本功能所要采用的语言;第二阶段,掌握所需技术,这个阶段大概花费2周时间,主要对本程序所采用的语言进行一些初步的了解,并查阅相关资料,对相关的算法和函数有初步的了解、认识、掌握;第三个阶段,这个阶段是整个系统所费时间最长的阶段,大概需要4周时间,主要实现系统软件程序的编码、调试、测试,完成一个初级的版本;第四个阶段,修改完善程序,大概需要3周时间。因此从时间方面上讲开发此系统是可行的。2.1.5 结论经过对本

14、程序实现的技术、经济、操作、时间的可行性进行分析。可得出结论:本系统是可以实现的。2.2 需求分析 1) 作为一款局域网游戏,首先应该具备的基本功能就是能够在局域网间连接;要求能够实现,局域网中的机子能够创建游戏,即作为服务器,也能够加入游戏,即作为客户机连接到已创建游戏的服务器上。 2) 四国军棋是一款多人协作游戏,因此应该要实现多人协同游戏的能力,即各客户机上能够进行数据同步。 3) 为了方便,要求能够保存最近的一次游戏布局,要求游戏界面能够简洁些,游戏操作能够方便简单些。 4) 想要有好的游戏体验,响应速度要求比较快,不会出现长时间等待现象,同时应具有良好的稳定性、可靠性和健壮性,可以控

15、制一些不确定因素。 5)需实现四国军棋的游戏规则,本游戏将游戏规则定为和QQ四国军棋一样。3 总体设计3.1 总体设计的框架图3-1 总体框架图3.2 模块功能概述1、入口程序及全局变量:程序的入口函数WinMain,还有定义一些结构体和全局变量,主要功能是程序循环和结束条件的判断及保存一些全局使用的变量。2、创建窗口类:对windows创建窗口的API进行简单的封装,实现程序基本窗口的创建。3、网络通信类:对Socket发送UDP广播消息、接收UDP广播消息、发送TCP消息、接收TCP消息进行简单的封装;实现局域网中的数据交换。4、大厅窗口消息处理类:主要是大厅界面的实现,还有根据用户在大厅

16、的不同操作启动相应的线程。5、游戏窗口消息处理类:主要是游戏界面的实现,还有根据用户的不同操作做出不同的响应。6、线程处理类:线程处理函数都集中在这里,可以根据不同功能,在启动线程时,调用不同的线程处理函数。7、游戏逻辑处理类:包含了棋子的定位,棋子能否启动的判断,棋子命中,选中与取消棋子的判断等相关功能的处理。8、服务端网络消息处理类:处理从客户端接收到的消息,主要功能是判断吃子逻辑,并根据不同的结果返回不同的消息。9、客户端网络消息处理类:处理从服务端接收到的消息,主要功能是根据吃子结果,对棋盘进行相应的处理。3.3 关键算法3.3.1 双缓冲技术绘图在图形图象处理编程过程中,当数据量很大时,绘图

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

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