1、本科毕业论文(20 届)网络对战游戏平台的设计与实现所在学院专业班级 计算机科学与技术学生姓名指导教师完成日期摘要电脑游戏行业经过二十年的发展,已经成为与影视、音乐等并驾齐驱的全球最重要的娱乐产业产业之一,其年销售额超过好莱坞的全年收入。近年来,随着互联网在全球范围内的发展和普及,联网游戏作为一种娱乐手段,正以独特的魅力吸引着越来越多的玩家。互联网的出现为电脑游戏行业发展注入的新的活力,凭借信息双向交流、速度快、不受空间限制等优势,让真人参与游戏,提高游戏的互动性、仿真性和竞技性,使玩家在虚拟世界里可以发挥显示世界无法展现的潜能,改变的单机版游戏固定、代办、与机器对话的状况。本文介绍了该系统的
2、开发背景、意义及国内外现状,然后重点阐述利用C+、MFC、MySql 开发网络游戏平台系统的过程。包括设计与实现环节,并且通过测试分析总结出该系统的功能特点。本系统主要完成以下几个方面的功能,1.用户管理:包括对用户注册、登录和游戏信息的管理。2.游戏大厅:包括游戏房间和聊天的控制。3.五子棋游戏:游戏房间内进行的网络对战游戏。关键字:网络游戏平台、五子棋、C+、MFC、MySql AbstractAfter two decades of development, the computer game industry has become one of the film, music and
3、other entertainment industry to keep pace with the worlds most important industry, with annual sales of more than Hollywoods annual income. The emergence of the Internet as a new vitality into the development of the computer game industry, with two-way exchange of information, speed, not restricted
4、by space and other advantages, so that the real person involved in the game, to improve interactive games, simulation and athletic, the players in the virtual the world where you can play the world can not show the potential to change the stand-alone version of the game is fixed, the status of the d
5、ialogue with the machine.This article describes the development of the system background, significance and status quo at home and abroad, and then focuses on the use of C + +, MFC, MySql development of online games platform system process. Design and Implementation of links, and summed up by test an
6、d analysis features of the system.This system is mainly complete the following aspects,1.user management: including user registration, login and game information management. 2.game lobby: control include a games room and chat.3.Backgammon game: game room online play game.Keywords: Online game platfo
7、rm, Backgammon C+, MFC, MySql目录摘要 .2Abstract .1目录 .11绪论 .11.1 研究背景与意义 .11.2 国内外研究现状 .11.3 研究内容与目标 .12理论技术基础 .22.1 理论基础 .22.2 技术基础 .22.2.1 C+语言简介 .22.2.2 MFC 类库简介 .32.2.3 MYSQL 数据库 .32.2.4 面向对象程序设计简介 .32.2.5 TCP 与 UDP 协议简介 .32.2.6 SOCKET 通信机制简介 .43.系统的分析与设计 .43.1 需求分析 .43.1.1 可行性分析 .43.1.2 系统功能分析 .43
8、.2 总体设计 .53.2.1 网络游戏平台功能设计 .53.2.2 登录注册模块设计 .53.2.3 游戏大厅模块设计 .63.2.4.五子棋游戏模块设计 .63.2.5.服务器模块设计 .63.2.6.数据库模块设计 .63.3 系统详细设计 .63.3.1 注册登录模块详细设计 .63.3.2 游戏大厅模块详细设计 .73.3.3 五子棋模块详细设计 .83.3.4 服务器模块详细设计 .93.3.5 数据字典 .103.3.6 表结构说明 .114系统的实现 .114.1 用户的注册与登录 .114.1.1 用户登录 .114.1.2 用户注册 .114.2 游戏大厅模块 .124.2
9、.1 更新游戏房间信息 .124.2.2 大厅内玩家聊天 .124.2.3 显示所有玩家信息 .134.3 五子棋游戏模块 .134.3.1 绘制五子棋棋盘 .134.3.2 绘制棋子 .144.3.3 判断胜负 .144.3.4 悔棋 .154.3.5 求和 .154.4 服务器模块 .164.4.1 接收客户端连接 .164.4.2 验证客户端注册和登录信息 .174.4.3 转发聊天信息 .174.4.4 转发和处理游戏信息 .184.4.5 通知更新房间信息和用户信息 .185总结 .19致谢 .20参考文献 .2111绪论1.1研究背景与意义在互联网迅速发展的今天,互联网应用到了各行
10、各业之中。网络游戏与以往的游戏发展演变之路不同,他不再单单的表现为游戏设备的差异,进而体现了游戏传输载体以及游戏参与方式的变革。纵观目前全球的游戏产业,网络游戏正走向成熟和深化,技术融合带来游戏跨平台发展,通过网络、个人电脑、手持终端设备等都可以进行互动游戏,不同的设备可以通过网络运行相同的游戏。随着互联网的扩张和基于互联网应用的发展,联网游戏正以一种独特的魅力吸引着越来越多的玩家,尤其是五子棋游戏更是得到广大玩家的青睐。因此,开发基于 C/S 模式的网络五子棋游戏具有重要的显示意义。1.2国内外研究现状电脑游戏自 1972 年由威尔克劳舍(WillCrowther)编写的一段简单的 FORT
11、RAN 程序开始。由于网络游戏需要较大量运算以及网络传输容量,因此早期网络游戏通常以纯文字讯息作为呈现方式,重视玩家与玩家间的互动,而非声光效果。 随着电脑硬件及软件技术的进步,网络游戏服务器逐渐出现在小型的工作站服务器,并且受到学生族群的欢迎,其中尤以 MUD 最具代表性。与此同时,传统的单机游戏也开始出现利用局域网路进行小规模连线(2-8 人)的形式,但多数以射击或即时战略游戏为主,这类型网络游戏进行时,需要交换数量惊人的同步讯息,因此通常较适合高速的局域网路,难以实现人数规模更庞大的网络游戏。1990 年代中期,游戏产业开始采用类似 MUD 架构的技术发展网络游戏。此类架构不同于依赖高速
12、局域网路连线的射击或即时战略游戏,取而代之的是借由最佳化的通讯协定及复杂的预测式算法,来达成网络游戏所需的资讯同步。这类型的游戏与 MUD 一样,需要居中运算的游戏服务器,并且能够实现万人以上同时连线进行游戏的规模。这种类型的游戏后来被统称为大型多人线上游戏。大型多人线上游戏由于玩家人数和规模庞大的关系,通常属于角色扮演游戏类型。就国内的发展来看,最近些年内的游戏公司如雨后春笋般的成立,所开发或代理的网络游戏更是不胜枚举。国内的游戏娱乐产业正处于起步阶段,特点表现为:第一,他是一种文化的传播。娱乐产业可以潜移默化地改变人与人的观念。第二,网络游戏加强了人与人的沟通。第三,网络游戏具有一定的教育
13、意义。1.3 研究内容与目标本网络游戏对战平台主要包括用户管理、平台管理和五子棋游戏三个部分,本次研究的内容为实现一个网络对战平台系统,系统包括有用户的登录和注册,游戏房间的管理和每个房间内进行的游戏。系统分为客户端和服务器端,客户端主要是玩家发送游戏2和聊天信息并处理服务器到本地的各种消息,服务器端主要是接收客户端请求,并对客户端的请求进行相应的处理。2理论技术基础2.1理论基础网络游戏:英文名称为 Online Game,又称 “在线游戏” ,简称“网游” 。指以互联网为传输媒介,以游戏运营商服务器和用户计算机为处理终端,以游戏客户端软件为信息交互窗口的旨在实现娱乐、休闲、交流和取得虚拟成
14、就的具有可持续性的个体性多人在线游戏。网络游戏区别与单机游戏而言的,是指玩家必须通过互联网连接来进行多人游戏。 一般指由多名玩家通过计算机网络在虚拟的环境下对人物角色及场景按照一定的规则进行操作以达到娱乐和互动目的的游戏产品集合。游戏对战平台是对 Internet 用户提供多人电脑游戏联机服务,它可以让在互联网的游戏玩家轻松的通过 Internet 进行游戏,就如果在同一个局域网中一样。平台通过网络协议转换技术,将互联网上远隔千里的玩家紧紧的联系到一起,并且还提供给用户实时的交流与沟通。五子棋是一种两人对弈的纯策略型棋类游戏,棋具与围棋通用,是起源于中国古代的传统黑白棋种之一。发展于日本,流行
15、于欧美。容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。2.2技术基础2.2.1 C+语言简介C+是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。C+是由 C 发展而来的, 与 C 兼容。用 C 语言写的程序基本上可以不加修改地用于C+, 从 C+的名字可以看出它是 C 的超越和集中。C+既可用于面向过程的结构化程序设计, 又可用于面向对象的程序设计, 是一种功能强大的混合型的程序设计语言。C+对 C 的“增强”,表现在六个方面:(1) 类型检
16、查更为严格。(2) 增加了面向对象的机制。(3)增加了泛型编程的机制(template)(4)增加了异常处理(5)增加了运算符重载(6)增加了标准模板库(STL)3面向对象程序设计,是针对开发较大规模的程序而提出来的,目的是提高软件开发的效率。不要把面向对象和面向过程对立起来, 面向对象和面向过程不是矛盾的,而是各有用途、互为补充的。2.2.2 MFC类库简介MFC(Microsoft Foundation Classes),是一个微软公司提供的类库(class libraries) ,以 C+类的形式封装了 Windows 的 API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量
17、。其中包含的类包含大量 Windows 句柄封装类和很多Windows 的内建控件和组件的封装类。2.2.3 MYSQL数据库 MySQL 是最受欢迎的开源 SQL 数据库管理系统,它由 MySQL AB 开发、发布和支持。MySQL AB 是一家基于 MySQL 开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MySQL 是 MySQL AB 的注册商标。MySQL 是一个快速的、多线程、多用户和健壮的 SQL 数据库服务器。MySQL 服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。2
18、.2.4 面向对象程序设计简介面向对象程序设计(英语:Object-oriented programming,缩写:OOP) ,指一种程序设计范型,同时也是一种程序开发的方法。对象指的是类的集合。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。面向对象程序设计可以看作一种在程序中包含各种独立而又互相调用的对象的思想,这与传统的思想刚好相反:传统的程序设计主张将程序看作一系列函数的集合,或者直接就是一系列对电脑下达的指令。面向对象程序设计中的每一个对象都应该能够接受数据、处理数据并将数据传达给其它对象,因此它们都可以被看作一个小型的“机器” ,即对象。2.2.5 TCP与 UDP协议简介TCP 协议是端点与端点之间建立持续的连接而进行通信。建立连接后,发送端将发送的数据以字节流的方式发送出去;接收端则按序列顺序将数据整理好,数据在需要时可以重新发送。TCP 协议具有可靠性和有序性,并且以字节流的方式发送数据,是一种面向连接的协议。UDP 协议是一种无连接的传输协议。利用 UDP 协议进行数据传输时,首先需要将要传输的数据定义成数据报(Datagram),在数据报中知名数据所有达到的端点(Socket,主机地址和端口号) ,然后再将数据报发送出去。这种传输方式是无序的,也不能确保绝对的安全可靠,但他很简单而且具有比较高的效率。