计算机软件专业论文24523.doc
《计算机软件专业论文24523.doc》由会员分享,可在线阅读,更多相关《计算机软件专业论文24523.doc(24页珍藏版)》请在三一办公上搜索。
1、毕 业 论 文题 目: 坦克大战游戏设计与实现 班 级: 09级计软一班 学 号: 姓 名: 张宏亮 指导教师: 黄勇 完 成 时 间: 2011 年 12 月 3 日基于Java的网络版坦克大战游戏设计摘 要:本设计采用面向对象的设计模式,对游戏中的所有物体赋予对象的概念和属性。运行程序后允许用户选择执行选项菜单。在开始游戏后,启动服务器和客户端,对背景的所有物体进行绘图。在主程序运行的线程中,画面刷新将以一定的频率采用双缓冲技术对屏幕重绘,实时反映整个游戏的进行状态。用户控制的坦克运行在主线程中,随屏幕刷新的频率而移动。坦克将在游戏开始时进行初始化,然后将坦克绘制在地图的上层。本设计主要实
2、现的功能是让坦克移动并能够智能的打出炮弹,躲避子弹,炸毁对方坦克。能够支持网络对战和单机对战两种模式。关键词:面向对象;坦克大战;网络游戏;Java;Socket 类中图分类号:TP311.1Java-based Web version of Battle City Game Design【Abstract】The design of object-oriented design patterns, all the objects on in the game to give the concept of objects and attributes. After running the pr
3、ogram allows the user to select the implementation of the Options menu. At the beginning of the game, start the server and client, all objects on the background graphics. Thread running in the main program, the screen refresh frequency will be some double buffer technology to redraw the screen in re
4、al time to reflect the state of the game. User-controlled tanks to run in the main thread, with the screen refresh frequency of the movement. Tank will start to initialize the game, and then draw the map of the upper tank. Designed to achieve the main function is to allow tanks to move and be able t
5、o play smart bombs, dodge bullets, to blow up other tanks. To support online play and single play against two modes.Key words: Object-oriented; Battle City; online games; Java; Socket class目录摘要第1章 前言11.1 游戏设计的需求分析11.1.1 国内外电子网络游戏的现状11.1.2 本系统的现实意义11.1.3 本系统和其他开发游戏区别21.2 开发技术概述21.2.1 Java、C语言、C+三种主流编
6、程技术比较21.3 本章小结2第2章 相关技术理论32.1 系统运行环境32.1.1 系统运行的软件环境32.1.2 系统运行的硬件环境32.2 相关理论32.2.1 关于Eclipse的介绍32.2.2 J2SE框架32.2.3 联机通信机制42.2.4 Java图形编程52.3 本章小结5第3章 系统设计63.1 系统可行性分析63.1.1 技术可行性63.1.2 经济可行性63.1.3 操作可行性63.2 系统需求分析63.2.1 在人机对战模式下实现的功能63.2.2 在网络对战模式下实现的功能63.3 系统功能设计73.3.1 坦克大战总体功能设计73.3.2 TankClient类
7、基本功能分析73.3.3 Tank类基本功能分析83.3.4 Missile类基本功能分析93.3.5 Explode类基本功能分析93.3.6 服务器类基本功能分析103.3.7 信息传送类基本功能分析103.4 本章小结10第4章 系统实现114.1 游戏主窗体实现114.2 单机游戏的实现124.3 联机功能实现144.4 本章小结17第5章 总结与展望185.1 总结185.2 设计中的不足之处185.3 展望18致 谢19第1章 前言人类进入21世纪,全球一体化,互联网就起到重要的作用,而且随着互联网的不断发展,信息技术逐渐发展壮大,将成为网络经济的核心。其中计算机、网络通信的发展最
8、为迅速。在现今电子信息高速发展的时代,网络游戏已经深入到人们的日常生活中,成为老少皆宜的娱乐方式。1.1 游戏设计的需求分析1.1.1 国内外电子网络游戏的现状游戏本身就是一种娱乐方式。自有人类文明的时候,就有了游戏,可以说游戏就是人们生活娱乐的一部分。在今天,借助于数字、电子、网络、创意、编剧、美工、音乐等等“先进”的道具,网络游戏对于人们现实生活的虚拟达到了一个全新的境界,并且则在这新的境界上还原了游戏的本源-人与人的互动。网络游戏满足了现代社会必须的沟通需求,无疑它应该是适合所有人的。国内网络游戏市场,已经坐拥了1000万用户且仍不断增长的游戏玩家市场,百余款游戏也着实热闹,但也体现出国
9、内玩家的相对固定和游戏种类的相对单一,虽说运营商的推广手法也各具特点,可本质上的大同小异使得竞争空前惨烈,而由此诱发的种种问题更是招致了社会与媒体的不满,阻碍了游戏产业的发展。网络游戏市场的重新定位是最迫切需要解决的问题。大型游戏机除了在大众休闲娱乐方面,还在军事、国防、医疗等方面有良好的发展前景。广州大型游戏机所采用的尖端计算机图形图像技术、多样化的软件程序设计、成熟的机械和电子技术,被充分运用在军事、国防及医疗等方面。例如,在军事模拟对抗演习中,大型游戏机既可以模拟作战现场的地形、军力部署、天气等情况,还可以进行多兵种战术技能对抗训练;在国防训练方面,大型游戏机可以模拟坦克操纵、导弹发射、
10、飞机驾驶、舰艇巡航等多种训练任务;在医疗培训方面,大型游戏机拥有的全息三维立体投影技术,可以逼真地展示人体的各部分构造和器官,以上这些方面的应用,都显示出大型游戏机在降低行业技能培训成本的优势。1.1.2 本系统的现实意义游戏本身是一种娱乐方式,能带给人们无尽的乐趣,而且游戏行业的发展还将会带动众多周边产业,如五金、塑料、机械、电子、 显像管,高端机型甚至使用了40英寸以上的大屏幕背投、液晶显示器等,这些显像设备不但要依赖国内众多显像管生产企业提供支持,更要针对游戏的内容进行深入开发和优化,以适应游戏内容的飞速发展和变化,大大突破了传统家电类显像设备的限制,对国内显像管制造企业的发展、创新具有
11、极大的推动作用,大型游戏机的外部框体制造涉及工业设计、模具加工、五金加工、塑料成形、特殊印刷等工艺流程,由此带动了一大批相关的零部件生产制造企业,而这些企业均为生产密集型企业,大幅度增加了劳动就业的需求。1.1.3 本系统和其他开发游戏区别本系统的坦克大战是基于Java语言设计开发的,具有高超的人工智能,精美的图形处理,支持单机运行和网络对战的坦克射击游戏。比之前网络上实现的游戏更加方便,快捷,智能。游戏基本玩法较简单,游戏可一人电脑作战,每次电脑方有坦克10辆,游戏以消灭全部敌方坦克过关为目的。在这过程中,坦克有机会得到血块来添加生命值,从而变得更加强大,也能利用各种有利地形来阻击敌人。游戏
12、设置了墙面,电脑方坦克不能穿越墙面射击玩家坦克,而玩家坦克可随意穿越墙面打击电脑方坦克,这一游戏特权。还有给玩家坦克设置超级炮弹,当电脑方坦克数量过多时,玩家坦克可以发射超级炮弹打击敌方。主要新增的功能简单罗列如下:1、屏幕左上方显示游戏状态,当玩家方坦克数全为零时则游戏结束;2、一般坦克只可在空地中或草丛中行走,不可通过墙面等障碍物;3、游戏中打坏敌方坦克后,可能会在随机位置随机出现血块奖励,坦克经过该位置可获得相应加生命值奖励;4、玩家坦克的游戏资格和电脑坦克不同。1.2 开发技术概述1.2.1 Java、C语言、C+三种主流编程技术比较Java 语言是一种跨平台,适合于分布式计算环境的面
13、向对象编程语言。JAVA现在主要用在WEB开发,手机游戏及一些平台游戏的开发,因为它具有很好的跨平台性,在手机等各种电子产品上应用非常广泛。C语言是一种面向过程编程,这就使得Java具有重用的特性,在开发速度上比C语言更快,但是在运行速度上却是C更快,因为C属于底层语言,它比JAVA更加亲近机器,所以在许多系统开发上一般是用C语言,比如我们常用的XP系统、LINUX系统,都是C语言开发的。跨平台的服务器端的嵌入式脚本语言。C+多用于游戏引擎、反病毒、硬件驱动以及一些对运行效率要求比较高的应用程序,比如数据库管理系统。 C+语言在提供强大的功能的同时也提高了程序含BUG的可能性。 C+为了照顾大
14、量的C语言使用者,而兼容了C,使得自身仅仅成为了带类的C语言,多多少少影响了其面向对象的彻底性。1.3 本章小结本章主要介绍了网络游戏在国内外发展的现状,现如今,网络游戏市场的重新定位是最迫切需要解决的问题。本系统主要的现实意义,与其他游戏的区别和完善的一些功能。本文用Java语言、C语言、C+三种主流编程技术比较,阐述了使用Java语言编程的原因。第2章 相关技术理论2.1 系统运行环境2.1.1 系统运行的软件环境(1)网络服务器操作系统:Windows XP;(2)开发工具:eclipse3.2;(3)运行环境:J2SDK 1.5;(4)编程语言:Java语言;2.1.2 系统运行的硬件
15、环境(1)CPU:Intel或者兼容微处理器,奔腾166MHz及其以上;(2)内存:最低32MB,可以运行图形界面的Java Application;最低48MB,可以运行Java Applet;内存不足,将会导致系统(尤其是服务器)的性能大幅下降;(3)硬盘:242 MB到80 GB及其以上;(4)图形显示卡:无要求;(5)网卡:普通网卡,3Com OfficeConnect 10/100兆位网卡;2.2 相关理论2.2.1 关于Eclipse的介绍Eclipse是一个主要针对Java项目开发所设计的【综合性集成开发环境-Integrated Development Emironment,I
16、DE】,最早是由Object Technologics International这家公司开发,该公司于1996年被IBM并购后,将Eclipse改为Open Source software。它最大的特点是:采用了插件的结构,通过下载安装不同的插件,就可以实现不同类型的程序开发。利用eclipse开发项目,是可以提高项目的开发效率,因为它不但可以像传统的一些编辑器一样编写代码,而且还有自动找错/纠错功能、Debug调试和代码自动生成等一些重要的功能,这使项目开发的效率得到了提升。Eclipse可以作为其他开发工具的平台。工作区被存储在磁盘上,并且对其他人是可见的。Eclipse3.2的大多数新
17、特性都是Eclipse用户需求的直接结果。2.2.2 J2SE框架J2SE软件是快速开发、部署关键任务和企业应用程序的首选解决方案。J2SE是基于Java跨平台技术和强有力的安全模块而开发的,其最新的特征和功能极大地提高了Java语言的伸缩性、灵活性、适用性,以及可靠性。J2SE特点:良好的计算性能和缩放能力。J2SE提升了Java计算的性能与缩放能力,代表了Java技术的大跨步进展。通过J2SE框架更简易的步骤、花费更少的时间,采用Java技术开发与配置要求更高的应用了。J2SE在Java客户机应用方面得到了重大性能提升。基于Swing的Java小程序和应用程序在图形用户界面(GUI)的响应
18、速度上也大有提高。跨平台:J2SE是一个具有综合性能的平台,能使一个完整的、可缩放的高性能应用配置在任何种类的平台上。支持Web服务: J2SE对SSL、LDAP等业界标准技术也给予支持,因此保证了在不同平台、系统和环境间的互操作能力。J2SE支持XML技术和一整套安全服务,因此为基于各类标准的可互操作应用与服务的创建奠定了重要基础。有了J2SE与Java Web Services Developer Pack的结合,开发商就能创建、测试和配置Web服务了。完整性:J2SE还是一个完整的开发环境。开发商可基于这一环境创建功能丰富的交互式应用。这些应用可以配置在任何平台上。J2SE具有新的GUI
19、控制功能、快速的Java 2DT图形功能、支持国际化与本地化扩展和新的配置选项,并对Windows XP提供扩展支持。总之,J2SE是多种不同风格软件的开发基础,包括客户端Java小程序和应用程序,以及独立的服务器应用程序等。J2SE版还是J2ME的基础,是J2EE执行程序的推动力。Java之所以能够发展得很快,是因为互联网的发展非常快。从计算的结构来看,Java主要分三大类:第一是服务器端,这里就有了J2EE企业版;第二是桌面PC,这一类用的是J2SE标准版;第三就是掌上电脑、移动设备,用的都是J2ME。但是,大部分非企业级软件还是在J2SE上开发的比较多。首先,这是因为很多的应用软件都是在
20、J2SE上开发的;其次,J2SE是和J2EE兼容的,企业版是在标准版上的扩充,在J2SE的版本上开发的软件,拿到企业的平台上是一样可以运行的;再次,一般开发还是在J2SE的环境上,只是说J2ME提供微型版的一个环境。在J2SE上虚拟出一个环境,开发出来的应用软件是可以拿到微型版上运行的。2.2.3 联机通信机制网络编程,简单地理解就是两台计算机相互通信。其基本模型就是客户机/服务器模型,也就是通信双方中的一方必须提供一个固定的位置,而另一方只需要知道这个固定的位置,并且建立两者之间的联系,然后完成数据交换。这里提供固定位置的一方通常称为服务器,而建立联系的一方称为客户端。Socket(中文意思
21、为插座),基于客户机/服务器的Soctet通信模式如图2.1所示:创建Socket类的对象指定服务器端公认的Socket地址和端口在Socket上监听客户端的链接请求接收客户端的请求信息解释并处理请求信息向服务器发出请求向服务器端发送链接请求创建Socket类对象客户端将处理结果返回给客户端接收服务结果服务请求服务响应服务器端图2.1 基于客户机/服务器的Soctet通信模式图当客户程序需要与服务器程序通讯的时候,客户程序在客户机创建一个socket对象,Socket类有几个构造函数。两个常用的构造函数是 Socket(InetAddress addr, int port) 和 Socket(
22、String host, int port),两个构造函数都创建了一个基于Socket的连接服务器端流套接字的流套接字。两个函数都通过参数port获得服务器的端口号。假设已经建立连接了,网络API将在客户端基于Socket的流套接字中捆绑客户程序的IP地址和任意一个端口号,否则两个函数都会抛出一个IOException对象。如果创建了一个Socket对象,那么它可能通过调用Socket的 getInputStream()方法从服务程序获得输入流读传送来的信息,也可能通过调用Socket的 getOutputStream()方法获得输出流来发送消息。在读写活动完成之后,客户程序调用close()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件 专业 论文 24523
链接地址:https://www.31ppt.com/p-4068300.html