基于Java的坦克网战游戏的设计和实现毕业设计论文文档格式.docx
《基于Java的坦克网战游戏的设计和实现毕业设计论文文档格式.docx》由会员分享,可在线阅读,更多相关《基于Java的坦克网战游戏的设计和实现毕业设计论文文档格式.docx(27页珍藏版)》请在冰豆网上搜索。
关键词:
Java坦克局域网Eclipse
DesignandachievementofnetworkTanksbasedonJava
Abstract:
Tanksisawell-knowncasualgame.WiththeincreasingdevelopmentoftheInternet,LAN-basedgameprovideagoodrelaxplatformforthoseofficeworkerstospendtheirleisuretime.AgrowingnumberofprogrammerchoicetouseJavalanguagetoprogramgamebecausethiskindoflanguageiseasytolearnanditcanbeoperatedonallthecomputers.ThisarticleisaboutthedesignandachievementoftheTankswhichisbasedonJava,anditmainlyintroducessomerelevanttechnologicaltheories,thesystemintegrateddesign,diversefunctiondesignandthegame’sachievement.ThisgameisdevelopedanddebuggedonEclipseplatform,whichcontainsServer-sideandClient-side.TheServer-sideaimsatbuildingmainframe,andtheClient-sidethroughconnectingmainframe’sIPaddresstoloadgameautomatically.Playerscancontroltankthroughkeyboardandchatorsuspendwhileplayingthegame.Theycanalsochoicetorestartthegameifanotherplayerpermits.
Keywords:
JavaTanksnetworkEclipse
前言
在人们工作压力日益加大的今天,休息时间有限使娱乐项目越来越少,为了让上班族疲惫的心灵得以休息,开发了可在局域网内联机玩耍的坦克游戏让人们放松一刻。
本款游戏设计时,考虑到实际操作性,简化了游戏的操作,只要操作键盘上的方向控制坦克运动,键按住攻击键发射子弹就可以玩该游戏,轻松享受玩游戏的喜悦,可操作性好,弥补了单机游戏的自娱自乐的弊端,而且不会让玩家过分痴迷于该游戏,它的益智性让玩家头脑更灵活和它基于局域网可以增进同事同学之间的配合度,无论是学习还是工作都起到积极作用。
Java语言越来越被程序员认可,无论是高校的计算机专业还是IT培训学校,都把Java作为主要的教学内容之一。
本款游戏利用了Java语言的的面向对象,多平台运行,稳定和多线程工作的优良特征在传统C++语言编写的坦克游戏基础上进行改编,让其具备相对简单的功能。
本文通过对系统的需求分析,选择在Eclipse平台上开发调试。
分为主机端和客户端,分别由十八个和十四个类组成。
实现了局域网内联机游戏,玩家通过键盘进行相应控制。
为了增加游戏的趣味性,本游戏设有辅助道具,游戏过程中玩家可以进行信息传递。
设置九个循环关卡,玩家通关后,自动进入下一关卡,使游戏具有多样性让玩家享尽局域网所带来的乐趣。
1了解java
1.1Java语言的发展
因为C++语言具有一定的复杂性,也不能实现跨平台运行,因此出现了基于C++语言开发设计的一种新语言,即Oak语言。
Java语言便是从该语言的基础上升级,并拥有了一定的优越性。
Oak语言最先是用于家用电器,在家用电器程序设计过程中,它实现了对家用电子产品的有效控制和信息流通。
后来程序开发人员有效的利用Oak语言编写了HotJava浏览器,从此Java语言步入了历史舞台。
随着Java语言第一个开发包的发布,Java语言一步一步走向成熟,J2SE1.5的发布更是一个里程碑。
现如今,越多的程序设计人员选择Java语言进行相关程序设计,不光是它具有跨平台,多线程和相对安全性,它的开源也是吸引众多程序员的一个重要因素。
1.2Java技术理论
Java语言是一种简单、面向对象的、分布的、解释的、健壮的、安全的、体系结构中立、可移植的、高性能、多线程的以及动态执行的程序设计语言,有以下特性:
●跨平台(体系结构中立),Java程序能够在网络上任何地方执行;
完全统一的语言版本,实现平台无关性;
字节代码与平台无关性;
访问底层操作系统功能的扩展类库,不依赖于具体系统等[1]。
●安全性好,除了Java语言具有的许多安全特性以外,Java提供了字节码校验器、文件访问限制机制、类装载器和运行时内存布局四级安全保证机制[1]。
●面向对象,面向对象的技术是当今软件开发的主流技术之一。
Java语言是一个彻底的纯面向对象的程序设计语言,它具有面向对象的封装、继承和多态三大特点[1]。
1.3三种平台简介
目前Java运行平台主要分为下列3个版本:
JavaSE:
称为Java标准版或Java标准平台,JavaSE提供了标准的JDK开发平台,利用该平台可以开发Java桌面应用程序和低端的服务器应用程序,也可以开发JavaApplet程序[1]。
JavaEE:
称为Java企业版或Java企业平台,可以构建企业级的服务应用,JavaEE平台包含了JavaSE平台,并增加了附加类库,以便支持目录管理、交易管理和企业级消息处理等功能[1]。
JavaME:
称为Java微型版或Java小型平台,JavaME是一种很小的Java运行环境,用于嵌入式的消费产品中,如移动电话、掌上电脑或其他无线设备等[1]。
1.4Java程序开发过程
一个Java程序的开发过程主要由三个过程组成:
编写源文件,编译Java源文件,运行Java程序,如图如图1.4-1所示:
图1.4-1Java程序开发过程图
1.4.1编写Java源文件
源文件是由若干个类组成,编程人员使用Java语言编写好源代码,形成源文件。
文件名的后缀为.java。
可以使用文本编辑器,如Edit或记事本来编写源文件。
不可使用Word编辑器,因为它含有不可见字符。
源文件在命名时有一定规则,如果源文件中有多个类,那么只能一个类是public类,如果一个类是public类,那么源文件的名字必须与这个类的名字完全相同[1]。
1.4.2编译Java源文件
编译Java源文件:
当创建源文件后,使用Java编译器来编译Java源文件,生成一种二进制的中间码,称为字节码(bytecode),形成字节码文件。
文件名的后缀为.class。
如果源文件进行了修改,那么必须重新编译,在生成新的字节码文件[1]。
1.4.3运行Java程序
运行Java程序:
使用Java虚拟机中的Java解释器来解释执行编译生成的字节码,完成Java程序要实现的功能,Java应用程序总是从主类main方法开始执行[1]。
1.5关于Eclipse
Eclipse是跨平台的自由与集成的开发环境。
起初主要用于Java语言的开发,但目前也有人利用插件将它用作其他计算机语言比如C++和Python的开发工具。
Eclipse的原身仅是一个框架平台,但是越来越多插件的支持让Eclipse拥有其他功能相对稳定的IDE软件很难拥有灵活性。
所以现在,许多程序员将Eclipse作为框架开发属于自己的IDE。
Eclipse最初由OTI及IBM两家公司的IDE产品开发团队共同开发。
IBM提供了最初的Eclipse代码基础,包括Platform、JDT和PDE。
现在由IBM带领,围绕关于它的项目已发展成了一个庞大的Eclipse联盟,现目前有百余家软件公司和大量程序开发员参与到此项目中,其中包括Borland、RationalSoftware、RedHat及Sybase等。
Eclipse是一个开发源码项目,它其实是VisualAgeforJava的替代品,其界面与以前的VisualAgeforJava差不多,但因为其开源,每个人都可以免费获取,以便程序开发人员在此源码的基础上进行创意修改开发出自己需要的产品,所以越来越多的开发公司和团队选择它。
最近包括Oracle等许多大型程序开发公司相继研究该项目,经过一段时间的开发研究,他们一致认为Eclipse将来会形成可以进行多种语言开发的IDE集合体,使用者只需下载各种语言的插件即可。
2
系统分析
2.1可行性分析
本款游戏的设计和开发是在C++语言开发的传统坦克游戏基础上进行改编,要实现它的相应基本功能。
分析研究传统坦克游戏得知,本款游戏要实现的功能主要主窗口的实现以及相应功能按键的功能实现,画出坦克,可以控制键盘让坦克移动,可以发射子弹,坦克被子弹击中消失并产生爆炸效果,防止坦克重叠运动等。
研究课题设计要求得知,需要实现局域网联网功能。
在选择开发语言的时候,需要考虑到开发目标。
然而本次设计的目的完全可以由Java语言来实现。
因为Java语言具有面向对象的特性,可以很好的将游戏中各个元素进行封装管理,降低开发难度。
游戏运行过程不是单一过程,是多态同时进行,然而Java具有多线程的特性,这样恰恰满足了开发的需要,所以选择Java语言进行开发是不二的选择。
在玩家进行娱乐的时候,美观的界面是必不可少的,为了增强观赏性,可能在设计过程中需要从外部载入图片。
玩家坦克可以通过监听玩家键盘响应事件控制。
对于敌方坦克,在设计游戏过程中要考虑到不能同时出现太多,还能让敌方坦克自主进行移动和向目标开火。
以此同时,因为敌方坦克是自主随机移动,需要考虑到坦克与坦克之间不能相互重叠和穿越,也不能同时做同意动作。
那么利用Java语言的多线程能保证坦克有序运行。
与传统单机坦克游戏不同,本款游戏需要实现局域网通信。
然而通Java语言中有套接字Socket实现通信功能。
综合以上分析可以得出,利用Java语言的各种优越特性能够实现本次设计的总体要求,也能实现相应功能。
2.2游戏规则和系统功能介绍
在本款游戏中,玩家坦克受玩家键盘向东南西北方向移动,并由玩家控制开火键对目标进行打击,玩家双方坦克免受对方火力攻击。
敌方坦克随机运动,并发射子弹。
游戏中,坦克和子弹能够击毁普通砖墙,但不能击穿钢墙,坦克能够穿越草丛不能穿越河流,子弹能够穿越河流和草丛。
游戏过程中,玩家除了保证自己免受伤害同时也要保障基地安全,玩家消灭敌方闪烁坦