俄罗斯方块分组对抗游戏的实现 毕业论文.docx
《俄罗斯方块分组对抗游戏的实现 毕业论文.docx》由会员分享,可在线阅读,更多相关《俄罗斯方块分组对抗游戏的实现 毕业论文.docx(31页珍藏版)》请在三一文库上搜索。
1、XXXX 大 学本科生毕业设计姓 名: 学 号: 学 院: 计算机科学与技术学院 专 业: 计算机科学与技术 设计题目: 俄罗斯方块分组对抗游戏的实现 专 题: 指导教师: 职 称: 2013 年 5 月 XXXX大学毕业设计任务书学院 计算机科学与技术学院 专业年级 学生姓名 任务下达日期:2013年 1 月 4 日毕业设计日期: 2013年 1月 4日至 2013年6月2日毕业设计题目:俄罗斯方块分组对抗游戏的实现毕业设计专题题目:毕业设计主要内容和要求:1. 用户可参与的俄罗斯方块游戏;具体包括随机给出不同的形状下落填充给定的区域,若填满一条便消掉,计分。若在游戏中各形状填满了给定区域,
2、则游戏结束。2. 在此基础上实现多人网络对战,并且可以进行分组对战,3. 可以分3个组。要求根据消层情况获得道具,并能够使用道具进行攻击。院长签字: 指导教师签字:摘 要俄罗斯方块(Tetris, 俄文:)是一款从1988年起至今都风靡全球的电视游戏机和掌上游戏机游戏,是落下型益智游戏的始祖。它是由俄罗斯人阿列克谢帕基特诺夫发明的一款能锻炼人的反应能力、动手能力等能力的教育软件,故得此名。俄罗斯方块的基本游戏规则是移动、旋转和摆放游戏自动随机输出的各种方块,当某一行或几行(最多四行)完全充满时,即消失。由于具有数学性、动态性,知名度,而且上手简单、老少皆宜,从而家喻户晓,风靡全世界。目前,人们
3、在基于俄罗斯方块在基于原有的设计原理上,发展出了许多新的不同类型的游戏,大大增加了这种游戏的趣味性,界面观赏性,可玩性。游戏分为单机版、对战版、分组对战等多种游戏方式。本软件在了解俄罗斯方块设计原理的基础之上,借助C/S软件模型,用CSocket套接字技术实现了一个网络版的能进行分组对抗的俄罗斯方块游戏。该游戏软件不仅实现了基本的俄罗斯方块功能,并能支持俄罗斯方块服务器的建立、客户端接入等功能,在此基础之上,添加了个性音效、分组对抗功能和道具使用等机制,从而改进了传统的简单俄罗斯方块游戏,大大提高了游戏的趣味性、可玩性,使游戏画面也更加具有观赏性,人机交互性更强。本次开发所使用的开发工具为VC
4、+ 6.0,使用的编程语言是C+。本文主要阐述了本俄罗斯方块软件的开发方法以及实现的功能。关键词:俄罗斯方块;CSocket技术;局域网;VC+ ABSTRACTThe Tetris (Tetris, the Russian: ) is a swept the world from 1988 to the present TV game consoles and handheld game consoles game,is the ancestor of falling puzzle game. It is exercise by the Russians Alexei Pajitnov in
5、vention a reaction ability, practical ability and ability of educational software, it was this name. The basic rules of the game of Tetris is moved, rotated and placed the game automatically output random box disappears when a line or lines (up to four lines) completely filled. Mathematics, dynamic,
6、 well-known, and easy to get started, all ages, so well-known, popular around the world. People based Tetris based on the original design principle, the development of many new and different types of games, greatly increasing the game interesting, interface spectator playability. We can play this ga
7、me alone or against each other, and also we can devide the players into groups.The software based on the understanding of the design principles of Tetris, with the C / S software model, a network version can be grouped against the Tetris game Socket technique. The game software not only to achieve t
8、he basic Tetris, and can support the establishment of the Tetris server, client access, on this basis, add a personalized sound, scrimmaging features and the use of props and other mechanisms in order to improve simple Tetris game, greatly increasing the game interesting, easy to play, the game scre
9、en more ornamental, human-computer interaction more. The development use development tools for the VC + + 6.0, the programming language used is C + +. This article focuses on the Tetris software development and function.Keywords:Tetris ; CSocket; LAN; VC+1绪论1.1俄罗斯方块的背景 随着电子信息技术的高速发展,电子类的游戏逐渐成为人们日常娱乐
10、生活中不可缺失的一部分。俄罗斯方块游戏是其中一种风靡全球的电脑类游戏机和掌上型游戏机的游戏,它老少皆宜,而且是可以锻炼人的反应能力、动手能力、全局统筹能力,并具有数学性、灵活性和良好的可玩性的一款教育软件。随着科技水平的发展,游戏开发技术的提升,由俄罗斯方块衍生出来的各种经典游戏比比皆是。1.2课题研究和发展状况俄罗斯方块最早是在1985年6月由工作于莫斯科科学计算机中心的阿列克谢帕基特诺夫在玩过一个拼图游戏之后受到启发而制作的一个以Electronica 60为平台的游戏,后来,随着此游戏的热销,其版权问题也一直纠缠不清,官司不断。也导致几家公司倒闭,一些公司获益,并以此赚了很多钱,其中,最
11、受关注的是1989年的Tengen和任天堂的官司,最终Tengen的权利被否决,而任天堂的请求或许。因此,Tengen版的俄罗斯方块不得不停止销售,撤下货架。而任天堂NES版Tetris同年在美国发售。全美销量大约300万。与此同时,和GB版Tetris捆绑销售的Game Boy席卷美国,美利坚大地上刮起一阵方块旋风。 俄罗斯方块游戏通过在container的顶端产生随机的一个形状的方块,玩家通过选择左移、右移、旋转、下落等集中操作来使其尽可能整齐的叠在一起,当某一行全部充满时,即消失。由这个游戏过程可以看到,这款游戏不仅能锻炼人的反应能力、动手能力,更能锻炼我们统筹安排、随机应变的能力,而决
12、不是像很多孩子的家长所有的,能使孩子沉迷其中,降低智力、耽误身心发展。1.3本软件与传统的俄罗斯方块的异同俄罗斯方块本身具有一个区别于其他很多游戏的特点,就是只能在电子平台上运行,而不能用实物来进行游戏,传统的俄罗斯方块游戏也有很多版本,他支持在手机等工具上的单机模式,也支持在小游戏机上和电脑上的单机双人对战模式,本游戏相比传统的俄罗斯方块有很多相同之处,但也做了很多改进:相同点:本游戏包含了单机俄罗斯方块的主题框架,采用2维数组来表示每个方块,均由七种方块组成,分别是L型,反L型,Z型,反Z型,田字型,1型,T型。基本算法是相同的,即随机产生一个方块,根据玩家按键来响应键盘事件和鼠标事件,分
13、别进行右移、左移、旋转和下落等操作。对每一行是否充满的判断和消去也跟单机版是相似的思路。游戏逻辑相同,游戏从第一个方块下落开始到游戏结束,整个流程是相同的。不同点:本游戏在原来的简单模式的基础上做了很多改进:1.在双人对战的基础上进行了扩充,采用C/S模式,最多可容纳六个人一起游戏,并且可随意选择自己的分组,共有A B C和自由人四组供选择,进入房间后可以选择准备游戏,当有超过两个队伍且所有人都准备好时,游戏开始。2.游戏在原来单纯拼方块的基础上,增加了很多道具,玩家在消去多行的时候可随机获得道具,主要有消去几行、增加几行、全部消去、加速下落、减速下落等功能,玩家可根据需求对自己、队友或者对手
14、使用该道具。3.游戏在交互方式上比之前有很大改进,之前的单机游戏或者双人对战模式没有办法进行交流,现在的游戏中添加了聊天界面,可以进行沟通,并且在使用相应道具或者准备开始游戏的时候都有音乐,能让参与游戏的玩家更放松心情,体会游戏的乐趣。2 俄罗斯方块游戏的分析与设计2.1 俄罗斯方块的设计原理和技术需求 本软件是基于单机版俄罗斯方块的程序设计原理上的扩展,在原来的基础上加入了网络互连,在原来的单机模式和双人对战模式上增加了网络对战模式。即与原始的俄罗斯方块的程序设计原理基本上是相同的,而方块的模型建立,游戏的操作流程和游戏的过程中软件进行各种判断的原理是相同的,但是与原始的俄罗斯方块相比,本软
15、件在原有的基础上又加入了一些新的理念和新的设计技术。比如说:新增加了网络多人分组对战、网络聊天功能、新的道具模块等设计。本软件与传统的单机版或双人版俄罗斯方块游戏具有一定的区别,传统的俄罗斯方块的设计模型如下图2-1所示,本软件的设计模型如图2-2所示。图2-1 单机版俄罗斯方块游戏模型图玩家2玩家1玩家3玩家n图2-2 本系统游戏模型从上两图中可以得出传统的俄罗斯方块模型与本软件的游戏模型具有很大的不同,本软件支持多人在线同时操作,更加丰富。传统的俄罗斯方块注重的是人机交换,而本软件更注意的是人与人之间通过这个网络平台进行的交互。本软件为C/S模型。参与游戏的人的机器都作为客户端客户端,而服
16、务器既可以是上述参与游戏的人的机器,也可以是单独的一台机器。首先由服务器端建立服务器,接下来准备参与游戏的人可以打开客户端通过连接服务器的IP地址进去服务器,再服务器将所接受的用户信息在返回给用户。游戏运行的原理如图2-3所示。图2-3 本游戏系统原理图本软件主要有以下几个功能:1.建立服务器。在安装了服务器端的电脑上打开服务器端输入IP地址并建立服务器。2.玩家打开安装的客户端,并输入自己的用户名,通过特有的IP地址连接到服务器端所创建的服务器的房间。 3.连接到本服务器的所有玩家进行分组并都准备游戏,当该房间有至少两个组的玩家准备好了就可以进行对战了。4.游戏结束后,本软件会对本局游戏各组
17、玩家的积分和道具的使用状况进行统计。2.2可行性研究2.2.1设计目的 2.2.2可行性分析 管理可行性:本游戏的开发职位检测自己大学四年所学到的知识,是在基于传统的俄罗斯方块设计原理上新添加了网络对战模块。便于管理。 经济可行性:做这个游戏的背景是毕业设计,并不注重开发出来后的经济效益和以后的发展方向,重在检测自身的知识水平,软件开发过程中的经济需求也不高,只需要本人和一台电脑,不需要考虑经济问题。技术可行性:本游戏为C/S模型,用C+语言编写,开发工具是VC6.0。社会可行性:本游戏只为检测和巩固自己所学知识,开发出来的成品只供自己娱乐和使用,不用考虑对社会的影响,也不用考虑版权和法律的问
18、题。2.3软件的开发技术和开发工具的简介游戏主要基于的技术原理是socket编程。套接字(socket)是一种网络编程接口,它是对通信端点的一种抽象,提供了一个发送和接收数据的机制。套接字技术最先应用于unix系统,后来移植到windows系统,有了Winsock API。经过对Winsock API的低层封装产生了CAsyncSocket类,经过高层次的封装产生了CSocket类。 CSocket进行通信的过程很简单。服务器首先启动,通过调用socket函数建立一个套接口,然后调用bind函数将该套接口和本地网络地址联系在一起,再调用listen函数使套接口做好侦听的准备,并规定它的请求队列
19、的长度,之后就调用accept函数来接收连接。客户端在建立套接口之后就可调用connect函数来发送和接收数据。最后,待数据传送结束后,双方调用close函数关闭套接口。其原理如图2-4所示。图2-4 Winsock通信原理图本游戏采用的编程工具是VC+6.0,C+6.0是Microsoft公司推出的一个基于Windows系统平台、可视化的集成开发环境,它的源程序按C+语言的要求编写,并加入了微软提供的功能强大的MFC(Microsoft Foundation Class)类库。MFC中封装了大部分Windows API函数和Windows控件,它包含的功能涉及到整个Windows操作系统。M
20、FC不仅给用户提供了Windows图形环境下应用程序的框架,而且还提供了创建应用程序的组件,这样,开发人员不必从头设计创建和管理一个标准Windows应用程序所需的程序,而是从一个比较高的起点编程,故节省了大量的时间。使用VC+提供的高度可视化的应用程序开发工具和MFC类库,可使应用程序开发变得简单。此外,本程序的开发人员一直使用VC+6.0进行程序设计,对此比较熟悉,对其可视化面向对象的编程特点相对了解,在开发起来会轻松许多。表2-1 硬件需求操作系统Windows98/me/2000/XP/2003内存容量64MB显卡要求8M声卡要求支持DirectX 8.0 音效卡交互工具键盘/鼠标CP
21、U奔腾133以上光驱8倍速以上硬盘空间400MB显示器VGA以上显示器开发软件VC+6.02.4 需求分析 游戏流程需求:7种方块共有28中状态(包含形象重复的),在屏幕顶端依次随机下落填充给定的区域,下落过程中由玩家根据自己需求的情况下控制方块的旋转得到自己所需要的图形,并选择下落的位置,判断是否填满某一行或几行,若满消去该行或几行并获得积分,在游戏过程中如果某个玩家的区域在无法放置随机落下的方块,则对方获胜;反之,则对方失败。游戏的主要功能需求如下:用户界面需求:7种方块分别用不同的颜色来显示,随机落下的方块在一定的区域里根据玩家的操控进行变形并放在所需的位置上。需要有良好的人机交互和观赏
22、性的界面,玩家登录到服务器房间后可以看到以下模块:登录到服务器的各个玩家的信息、各个玩家在游戏界面中所在的位置、各个玩家是否准备的画面、玩家之间进行交流的聊天对话框以及在自己所登录的界面上在游戏过程中了解到其他玩家的游戏状况。游戏形状(方块)需求:绘制七种常见的基本图形(长条形、Z字形、反Z形、田字形、7字形、反7形、T字型),各个方块要能实现它的变形(即旋转),可设为顺时针或逆时针变形,一般为逆时针方向旋转。键盘处理事件:方块随机下落时,可以通过键盘上的方向键对方快进行控制。上键控制方块的变形,下键控制方块的加速,左键控制方块向左移动,右键控制方块的向右移动。显示需求:当方块填满某一行或几行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 俄罗斯方块分组对抗游戏的实现 毕业论文 俄罗斯方块 分组 对抗 游戏 实现
链接地址:https://www.31doc.com/p-3911747.html