人人文库网 > 图纸下载 > 毕业设计 > 【精品】VC++(MSSQL数据库)军棋游戏大厅联网对战(源代码+可执行程序+开题报告+任务书+中期报告+文献综述+外文翻译+毕业论文+答辩PPT)
【精品】VC++(MSSQL数据库)军棋游戏大厅联网对战(源代码+可执行程序+开题报告+任务书+中期报告+文献综述+外文翻译+毕业论文+答辩PPT)
收藏
资源目录
压缩包内文档预览:(预览前20页/共50页)
编号:1639419
类型:共享资源
大小:2.42MB
格式:RAR
上传时间:2017-08-30
上传人:机****料
认证信息
个人认证
高**(实名认证)
河南
IP属地:河南
50
积分
- 关 键 词:
-
精品
vc
mssql
数据库
军棋
游戏
大厅
联网
对于
源代码
可执行
程序
开题
报告
讲演
呈文
任务书
中期
文献
综述
外文
翻译
毕业论文
答辩
ppt
- 资源描述:
-
【精品】VC++(MSSQL数据库)军棋游戏大厅联网对战(源代码+可执行程序+开题报告+任务书+中期报告+文献综述+外文翻译+毕业论文+答辩PPT),精品,vc,mssql,数据库,军棋,游戏,大厅,联网,对于,源代码,可执行,程序,开题,报告,讲演,呈文,任务书,中期,文献,综述,外文,翻译,毕业论文,答辩,ppt
- 内容简介:
-
目录 第一章 绪论 . - 1 - 题概述 . - 1 - 题的来源 . - 1 - 的和意义 . - 1 - 内外研究现状 . - 1 - 题剖析 . - 2 - 要问题 . - 2 - 点和关键 . - 3 - 路和方法 . - 3 - 第二章 相关的知识和工具 . - 4 - 决问题的知识基础 . - 4 - 发平台 . - 5 - 据库 . - 5 - 第三章 总体设计 . - 6 - 体设计的框架 . - 6 - 块功能概述 . - 7 - 键算法 . - 8 - . - 12 - 第四章 详细设计 . - 14 - . - 14 - . - 14 - 要模块详述 . - 15 - 第五章 程序编码 . - 18 - 据结构 . - 18 - . - 21 - 要模块程序实现 . - 24 - 第六章 问题和展望 . - 32 - 色与成功 . - 32 - 题与展望 . - 32 - 参考文献 . - 33 - 附录 . - 34 - 游戏大厅 . - 34 - 游戏类 . - 38 - 绪 论 - 1 - 第一章 绪论 题概述 题的来源 随着 普及,网络游戏已经成为大家耳濡目染的新生事物。网络游戏从出现到现在的发展的时间很短,但是其发展速度却非常之快。现在,可以说网络游戏已经成为人们休闲、娱乐的有效方式。国内比较有名气的网络游戏有联众网络游戏世界()、 戏中心 ()、中国游戏中心() 以及这几年受玩家亲睐的传奇、魔兽世界等。 的和意义 对当今网络游戏的设计、 架构进行分析、探索和实践。提供友好的客户操作界面,通过客户端与服务器之间的网络传递数据,实现了多人协同游戏的目的。分析现今网络游戏体系结构及设计模式的优缺点,及对网络游戏的发展给予分析和展望。 内外研究现状 现今网络游戏的体系结构(见图 1,包括客户机程序、服务器程序、数据库服务器。 网络游戏 - 2 - 图 1网络游戏体系结构 题剖析 要问题 在开发网络游戏时,首先要建立底层的网络通信类,利用网络通信类连接构建客户服务器之间的 后在该连接的基础上利用自设定 的协议进行客户端登录、进行游戏等操作。在以上协议的基础上,根据不同的游戏编写不同的游戏逻辑处理类,在该逻辑处理类中实现了对应的游戏逻辑,如实例中的军棋,则实现相互之间的对弈等功能。同时在服务器端还需要和数据库服务器交互,用于读取或保存客户信息(如用户积分、密码、个人资料等数据)。 绪 论 - 3 - 点和关键 1、有一个或多个游戏服务器启动特定游戏服务。 2、游戏者到游戏网站上下载客户端程序并且申请游戏账号 后启动客户端程序通过某种网络协议连接游戏服务器。 3、客户端程序负责处理客户端显示和操作界面,具有简 单的逻辑处理功能,同时负责接收发送与服务器端交互的数据包。 4、服务器程序负责处理服务器端逻辑、游戏逻辑、客户之间的网络信息传递,以及数据库之间的数据读取保存工作。同时服务器端还要承担客户端数据的接收、转发工作。 路和方法 网络游戏通常的运行方式 (见图 1 图 1络游戏交互图 网络游戏 - 4 - 第二章 相关的知识和工具 决问题的知识基础 网络游戏常用的网络协议有适用于 用局域网(比如星际)的 (一 ) 输控制协议 /网际协议 )是 计算机进行通信的标准,其命名起源于该组协议中最重要的两个协议 P。任何关于 也是其他所有协议的基础。 机之间必须利用 起源于 20 世纪 60年代末美国政府资助的一个分级交换网络研究项目,允 许分布在各地的使用不同操作系统的网络进行通信。随着世界范围个人电脑的普及,日常无论收发邮件、访问网页和文件传输都已经离不开 (二 ) 核心部分是传输层协议 (网络层 (物理接口层,这三层通常在操作系统内核中实现。 提供了传输层服务,而 结构如图 2示。 图 2P 协议体系结构图 相关的知识和工具 - 5 - 应用程序与 P 可靠传输之间接口具有五大特性: 面向数据流 当两个用户进程传输大量数据时,我们把这些数据当做可划分为八位组( 节)的比特流,在目的机器上运行的数据流投递服务软件提给接收方的八位组与信源机上发送方送出来的完全相同。 虚电路连接 数据流的传输与电话相似,使用“虚电路”这个术语来描述这种连接是因为在应用程序看来这种连接像是一条专用的硬件电路,这种可靠连接的错觉是由数据流投递服务提供。 有缓冲的传送 使用虚电路服务来发送数据流的应用程序不断向协议软件递交数据八 位组。为了提高效率以及减少网络延迟,协议软件在实现时都会从数据流中收集到足够多的数据,组成大小合理的数据包后再送到网络上传输。 无结构的数据 P 协议并不区分结构化的数据流。使用数据流的应用程序必须在开始连接之前就了解数据流的内容并对其格式进行协商。 这点很重要,在程序中表现为 就需要将接收的字符串转化需要的结构化的数据。 全双工连接 P 流服务所提供的功能是双向的全双工连接。其中包括了两个独立、流向相反的数据流,而这两个数据流之间不进行显式的交互。 常用协议主要 包括 使用 用 议的应用程序必须承担可靠性的工作,包括报文的丢失、重复、乱序以及连接失效等问题,而程序员编程时则容易疏忽。 发平台 操作系统 000, 开发工具 据库 000, 是一个全面的数据库平台,引擎为关系型数据和结构化数据提供了安全可靠的存储功能。 网络游戏 - 6 - 第三章 总体设计 体设计的框架 军棋游戏的总体设计框架,客 户端如图 3 图 3军棋游戏架构客户端 军棋游戏的总体设计框架,服务器如图 3 图 3军棋游戏架构服务器 总体设计 - 7 - 块功能概述 客户端类的划分: 游戏基本类:负责处理游戏中一些完成基本功能的类,如处理声音类、处理动画图标,图形按钮等类,基本类的特点是被其他类在特定处所调用,并不动生成对象。 游戏框架类:负责处理游戏中客户端用于显示程序界面和绘制游戏界面以及显示用户信息和广告信息等处理任务。 游戏通信类:负责处理游戏中客户服务器之间的网络传输细节,从而在编程中不用考虑 网络通信细节,达到客户和服务器之间的透明的效果。 游戏应用程序类:主要负责处理应用程序中各种设置显示对话框、程序主线程处理、程序中基本的运行类框架的管理,以及游戏中图形的处理和显示等任务的处理。 游戏处理类:主要用于处理游戏简单逻辑、负责解析和处理与服务器端交互的游戏数据,以及在游戏运行中维护游戏中的各种数据,同时维护处理游戏主线程逻辑等功能。 服务器类的划分: 游戏通信类:负责处理游戏中客户服务器之间的网络传输细节,从而在编程中不用考虑网络通信细节,达到客户和服务器之间透明传输的效果。 游戏协议类:负责 处理游戏中客户服务器之间交互所传递的数据,并且对该数据格式进行打包和解包,同时根据该包中所包含的指令串进行相应的操作。 游戏逻辑类:负责处理游戏逻辑,如军棋游戏中用于维护军棋逻辑,判断下棋,得分等处理类。 用户管理类:用于管理用户资料,在用户登录后通过数据库验证用户名和密码,通过验证后从数据库读取用户的详细资料。同时在程序中维护用户数据,在用户游戏结束和退出游戏时将用户数据保存到数据库中。 服务器框架类:用于管理游戏大厅的数据,包括一些数据的列表。 数据库类:用于网络游戏的服务器端在处理大量的客户资料时,使 用数据库进行大量数据的存储和查询所调用的类方法。 网络游戏 - 8 - 键算法 模块间的数据传递设计,如图 3 图 3模块间的数据传递设计 这样,在 通过指针,也可向服务器发送消息。而到消息后,同时也控制 行为。 采用内存作图的方式,消除了闪烁。首先创建一个内存 绘图的工作先在内存贴到实际 法如下: 首先创建关于屏幕的内存 代码为 之后创建一幅关于屏幕 部分代码如下 : ,); 注意把握 之后将这幅画选入内存 部分代码如下: 之后可以开始在内存 部分代码如下: 55,255,255); i=0;,& 最后进行相关的资源回收动作, 部分代码如下: ;。 同时我们要把系统的 数重载为 否则 还是会 出现闪 烁 情况。 在对话框中用这个方法的时候,要注意将有控件的部分和需要绘图的部分分开,可采用如下方法 ,部分代码 如下: : , 30,0,962,670); if(= 服务 器对连接的用户数据的数据结构的设计,用下面两个结构: T d4; D4; 717; ; ; M 网络游戏 - 10 - ; 连接的 与服务器建立连接后,相应的用户数据,保存在 构数组中,位置为其 样就可以通过连接的 T 是保存大厅数据的结构, d 表示四个坐位有没有人, 示就坐的人的 链表中的位置。 棋盘数据。每个桌子有每个桌子的棋盘数据,互不干扰。随着游戏的进行而不断更新。 应用矩阵的 变换 实现坐标旋转。不管你坐在哪个方位,玩游戏时,你始终是在正下方,这就需要实现 虚拟坐标到目标坐标的旋转变换,如图 3 图 3坐标图 换公式推导如下,见图 3 图 3标变换公式推导 自己座位方向, : (a=90o) X, Y, 1=6, x, 1 /东 :(a=0o) X, Y, 1=x, y, 1 /南 :(a=X, Y, 1=y, 6, 1 /西 总体设计 - 11 - :(a=180o) X, Y, 1=6, 6, 1 /北 回溯法求工兵路径,军棋游戏逻辑不复杂,只有工兵能够自由飞行。在这里没有求工兵起点到目标点的 最短 路 径 ,而只是 用 回溯 法 求出其中一条路径,所以在游戏中你会发现工兵有时候会绕些弯路。这和老鼠走迷宫差不多的。 工兵迷宫数组: 717= 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, 0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0, 0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0, 0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0, 0,0,0,0,0,1,1,3,1,3,1,1,0,0,0,0,0, 0,1,1,1,1,1,1,3,1,3,1,1,1,1,1,1,0, 0,1,0,0,0,2,2,0,2,0,2,2,0,0,0,1,0, 0,1,0,0,0,1,1,3,1,3,1,1,0,0,0,1,0, 0,1,0,0,0,2,2,0,2,0,2,2,0,0,0,1,0, 0,1,1,1,1,1,1,3,1,3,1,1,1,1,1,1,0, 0,0,0,0,0,1,1,3,1,3,1,1,0,0,0,0,0, 0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0, 0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0, 0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0, 0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0表示该位置不在工兵铁道上, 1表示在该位置可向上下左右方向移动, 2表示在 该位置只能向上下方向移动, 3表示在该位置只能向左右方向移动。 网络游戏 - 12 - 键技术 网络通信, 程接口: 简称 在 台上访问基层网络协议的接口。在不同的 为网络编程接口而不是协议存在。 套接字( 念,套接 字是从英文单词 译而来,它是网络通信的基本操作单元,是应用层到传输层的接口,可以将套接字看作不同主机间的进程进行双向通信的端点。 现一般都由两部分组成:开发组件和运行组件。开发组件是供程序员开发 用程序使用的,于 要包括 此之外,在使用 项目中还需要加入 行组件是 用程序接口的动态连接库( ,文件名为 用程序在执行时通过装入它实现网络通信功能。 程的基本模式,要通过互联网进行通信,你至少需要一对套接字,其中一个运行于客户端,我们称之为 一个运行于服务器端,我们称之为 用 行网络通信一般有两种方式:基于面向连接的流方式和基于无连接的数据报方式。面向连接的的流方式调用过程如 图 3 总体设计 - 13 - 图 3向连接的流方式调用过程 网络游戏 - 14 - 第四章 详细设计 据库结构 服务器端数据库结构 如 表 4 名 数据类型 长度 允许空 描述 主键 0 户名 0 码 戏积分 别 表 4玩家信息 用作记录玩家游戏数据。 块结构 客户端模块结构: 游戏基本类 ,该类包中包括 。 游戏框架类,该类包中包括 游戏通信类,该类包中包括 游戏应用程序类,该类包包括 ,其中包括对游戏处理类的调用。 游戏处理类,该类包中主要包括 。 服务器模块结构: 游戏通信类,由 游戏协议类,由 游戏逻辑类,由 数据库类 ,由 用户管理类,由 服务器框架类,由 详细设计 - 15 - 要模块详述 客户端模块: 是带有边框的图片按钮类, 是时钟类, 游戏用户下棋,吃子,起身或坐下时要播放声音,选择在程序中调用 数 接播放在资源中的声音文件。模块描述如图 4 图 4游戏基本类模块描述 是游 戏窗口中的游戏大厅框架类,其中包括构架广告显示窗口,可玩的游戏类、工具栏、游戏桌的信息、显示信息等, 用树状结构显示。 用于构造广告显示窗口,用于游戏框架中显示广告页。示包含游戏桌的游戏大厅,在大厅中多人在等待开始游戏。模块描述如图 4 图 4游戏框架类模块描述 网络游戏 - 16 - 游戏通信类, 能为建立和服务器的连接,能及处理通信,采用异步机制,以自定义消息事 件处理通信等功能。采用自定义消息: 101。模块描述如图 4 图 4游戏通信类模块描述 游戏应用程序类, 中包括对游戏处理类的调用。 要负责处理应用程序中各种设置显示对话框、程序主线程处理、以及游戏中的图形的处理和显示等任务的处理。模块描述如图 4 图 4游戏应用程序类模块描述 游戏处理类, 要用于处理游戏简单逻辑、负责解析和处理与服务器端交互的游戏数据,以及在游戏运行时维护游戏中的各种数据,同时维护处理游 戏主线程逻辑等功能。模块描述如图 4 图 4游戏处理类模块描述 详细设计 - 17 - 服务器模块: 游戏通信类,由 实现。负责处理游戏中客户与服务器之间的网络连接细节,从而使得对于客户和服务器之间的数据传输可以忽略通信细节。模块描述如图 4 图 4游戏通信类模块描述 游戏协议类,由 游戏协议类负责 解析客户 /服务器端所 传输的协议,同时根据不同的协议调用不同的操作函数,并根据用户状态变化维护用户信息。模块描述如图 4 图 4游戏协议类 模块描述 游戏逻辑类负责处理游戏逻辑,在军棋游戏中包括计算得分,计算赢等。游戏逻辑类 修改为“象棋逻辑”即可以成为象棋游戏,修改为“升级逻辑”即可以成为升级游戏。 用户管理类,直接在 实现。 数据库类,采用 000 数据库,只是用来保存玩家的资料等一些数据。采用 据库编程,在程序中为 。正如 相应的 了封装, 供的 库也相应地对 了封装,通过提供一种高级接口而避免直接使用 - 18 - 所涉及的种种繁琐处理,简化了对 据库的应用程序编程。模块描述如图4 图 4数据库类模块描述 第五章 程序编码 据结构 用 17 17的数组表示军棋的棋盘,如下: 717 = 1,1,1,0,0,0,0,0,1,1,1, 1,1,1,0,0,0,0,0,1,1,1, 1,1,1,0,0,0,0,0,1,1,1, 1,1,1,0,0,0,0,0,1,1,1, 1,1,1,0,0,0,0,0,1,1,1, 程序编码 - 19 - 1,1,0,0,0,0,0,0, 0,1,1, 0,0,0,0,0,0, 0, 0, 0, 0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0, 0, 0, 0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0, 0, 0, 0,0, 0,0,0,0,0,0, 1,1,0, 7, 3, 4,5, 3, 0,1,1, 1,1,1,10, 0, 1,0, 9,1,1,1, 1,1,1, 8,10, 0,1, 5,1,1,1, 1,1,1, 6, 0, 4,0, 3,1,1,1, 1,1,1, 2, 7, 6,1,11,1,1,1, 1,1,1,11,12,11,2, 2,1,1,1, ; 1表示棋盘以外的位置 0 表示棋盘内位置,但无棋子 1 工兵 2 排长 3 连长 4 营长 5 团长 6 旅长 7 师长 8 军长 9 司令 10 炸弹 11 地雷 12 我方军旗 网络游戏 - 20 - 13 上方盟友或敌方的棋子 14 左边敌方的棋子 15 右边敌方的棋子 16 上方军旗 17 左方军旗 18 右方军旗 为了处理工兵的走法的方便,将四个转角斜对的位置恒置为 0,这样在为工兵寻找路径时会方便一些。 游戏协议 以 0)作为一次信息的起始点,终点。“”在字符串中用空格代替。以一字符串 作为向服务发出的请求信息,服务器也以相应的一字符串发送回客户端作为应答。 对话: A桌子号聊天内容 坐下: B桌子号方位 调度完成: C桌子号方位 (棋盘数据 )用一维数据形式表示 6 5 的二维数组,数据之间用空格开。 开始游戏: (只由服务器发出 ) D对战类型 下棋: E 桌子号方位起点 (x,y)终点 (x,y) 吃: (只由服务器发出 )(包括移动 ) F 起点 (x,y) + 终点 (x,y) 被吃: (只由服务器发出 ) G 起点 (x,y) + 终点 (x,y) 炸: (只由服务器发出 ) H 起 点 (x,y) + 终点 (x,y) 程序编码 - 21 - 输:离开:(包括断线 ) 投降 : I 方位 求和: K 桌子号方位 注册: L 用户名密码 注册成功: M + 用户名 登录: N + 用户名密码 登录结果: O + 1/0 离开: P + 桌子号 方位 请求接收信息: Q + 桌子号 方位 碰: R 起点 (x,y) + 终点 (x,y) 要界面 服务器界面如图 5 网络游戏 - 22 - 图 5服务器启动界面 客户端大厅界面如图 5 程序编码 - 23 - 图 5客户端大厅界面 军棋游戏界面,如图 5 网络游戏 - 24 - 图 5军棋游戏界面 要模块程序实现 客户端三拆分窗口的实现 ,2) ,0,
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
2:不支持迅雷下载,请使用浏览器下载
3:不支持QQ浏览器下载,请用其他浏览器
4:下载后的文档和图纸-无水印
5:文档经过压缩,下载后原文更清晰
|