基于java+的飞机战争游戏设计与实现(毕业论文+程序源码)
大家好,今天给大家介绍一款基于Java+的飞机战争游戏的设计与实现,文章最后附有本次毕业设计的论文及源代码下载地址。
需要下载开场报告PPT模板、论文答辩PPT模板等的朋友,可以到我的博客首页左侧底栏查看自助下载方式。
文章目录:
1. 项目简介
如今随着智能手机的兴起和普及,以及4G(第四代移动通信技术)网络的深入,越来越多的IT行业将重心转向手机行业。手机行业的利润很大一部分来自游戏,而大多数手机游戏都是用Java开发的。所以我想顺应时代的发展,利用自己学到的Java知识对游戏有深刻的理解和创作。
Java语言在我们大学学习中占有很大的比重,它有很多优点:面向对象、可靠、安全、多平台可移植性、高性能、多线程等。面向对象是相对于C语言的面向过程而言的。在面向对象编程中,我们用Java创建一个新的对象,然后调用它的方法来实现我们的目的,而不需要去了解对象方法的具体实现过程;Java的可靠、安全的特点体现在Java不支持指针、禁止第三方访问、杜绝外部风险等。因此,用Java开发游戏是一个正确的选择。
基于Java的飞机大战游戏主要需要我方飞机和敌方飞机,以及子弹、特殊nPC、开始背景、结束背景、背景音乐。我方飞机可以随意移动,敌方飞机不规则出现。游戏玩家通过移动鼠标来控制飞机的移动。游戏开始时我方飞机可以一直发射子弹,当我方子弹击中敌方飞机时,敌方飞机消失。当玩家的飞机击中敌方子弹时,生命值减少一,直到玩家飞机生命值达到一,游戏结束。基本模块包括:游戏状态控制功能模块、游戏难度调节模块、游戏界面绘制功能模块、玩家游戏控制功能模块等。本系统结构如下:
(1)游戏状态控制功能模块:游戏状态控制包括游戏的运行和结束。首先进入游戏开始页面,游戏过程中玩家要躲避或者击落敌机,当玩家飞机生命值降为0时,游戏结束,弹出游戏结束界面。
(2)游戏难度调节模块:玩家游戏时间越长,游戏难度越高,敌机越多,出现的频率越高,玩家保证飞机存活的难度就越大,操作难度也就越高。
(3)游戏界面绘制功能模块:左上角会显示玩家飞机的当前生命值、游戏时间、当前得分。其他地方用于输出玩家对我方飞机的控制以及敌方飞机的动作显示。
(4)玩家游戏控制功能模块:玩家可以通过控制鼠标或者键盘来控制方块平面(英雄)的移动。
2. 资源详情
项目难度:中等难度
适用场景:相关主题的毕业设计
支持论文字数: 字
内容:完整源码+完整毕业论文+答辩PPT+教程视频+运行截图
3.关键词:Java游戏;面向对象;可靠安全;多线程;4.毕业设计简介:
提示:下面是对毕业项目的简单介绍,项目源码和完整毕业论文下载地址可在文章最后找到。
介绍
1.1 项目背景
对于我们这些90后来说,最早接触电子游戏是在小时候的街机游戏厅里,那时候的飞机大战游戏机前常常人山人海,色彩斑斓的画面,刺激的操作让人沉醉其中。后来《珍珠港》()、《虎!虎!虎!》等空战电影中激烈的空战、天空中飞机的英姿飒爽的身影让我爱上了空战,于是选择了与飞机战斗相关的毕业设计——基于Java的飞机战斗游戏的设计与实现。
忽略
1.2 国内外研究现状
忽略
游戏开发涉及到很多Java技术,有些技术现在已经过时了,但是有些技术现在还在使用,比如Sun较早推出的3D技术--,它是一个高度封装的API,它基于3D,可以说是Java最著名的3D技术;jogl函数是对Java的接口的实现;joal函数将游戏图形()、音效()、控制输入合二为一,争当Java世界中的(不是);joal函数是Java对的绑定,是针对Java音效的解决方案;joal函数是Java对非标准输入设备(游戏控制器、操纵杆)的解决方案;是Sun开发的3D虚拟世界构造工具等。
VR(虚拟现实)的发展对游戏的发展影响巨大,科幻电影、小说里的科幻游戏玩法或将成为现实,未来游戏可能不需要鼠标键盘,而只需要一个类似头盔的设备就能完成命令的输入和输出。
1.3 项目主要任务
本项目题目是一款基于Java的飞机战争游戏的设计与实现,主要目的是实现飞机战争游戏。预期结果:游戏无bug,简单易上手,老少皆宜,让玩家“爱不释手”。
从玩法上来说,主要是我方飞机(Hero)和敌方飞机()的对决。首先有游戏的开始和结束界面,然后是我方飞机(Hero)的移动(鼠标移动或者键盘移动,我打算选择鼠标移动,因为鼠标移动可以传输到手机上,现在大部分手机都没有键盘,基本都是手指滑动操作)。接下来是我方飞机(Hero)子弹的生成,然后是敌方飞机出现坐标的选择(),然后是飞机与子弹的防撞,飞机与飞机之间的防撞,最后是我方飞机(Hero)与敌方飞机的战斗结果()。
游戏必须满足以下功能要求:
(1)游戏状态控制功能
游戏状态控制包括游戏运行、暂停、恢复和结束游戏。首先是游戏开始页面,游戏进行过程中,如果你还有其他事情要做,不想结束游戏,可以将鼠标移出游戏界面或者在游戏界面上点击鼠标暂停游戏。当你的其他事情解决后,你也可以选择恢复游戏继续玩。当游戏结束时,会显示游戏结束界面。
(2)游戏难度调整
随着玩家游戏时间延长,敌机的数量会增加,出现的频率会增加,移动速度也会加快。
(3)游戏界面绘制函数
右上角显示游戏时间(游戏难度与时间成正比,即游戏时间越长,难度越高)、玩家的游戏成绩、我方飞机的生命值。游戏主画面用于显示玩家对我方飞机(Hero)的控制以及敌方飞机的外观和动作()。
(4)玩家游戏控制功能
玩家可以通过移动鼠标或键盘来控制友方机器的移动。
1.4 本文的组织结构
这篇文章的结构安排如下:
第一部分介绍本文的国内外背景。
第二部分介绍了开发游戏项目所涉及的软件平台和开发语言。
第三部分介绍项目需求分析。
第四部分介绍了项目各个模块的实现情况。
第五部分介绍软件测试的过程和结果,发现项目的优势和劣势。
2 开发平台与开发技术
本章主要介绍如何选择软件开发平台,本软件涉及的开发平台为IDEA,开发技术为Java技术,下面会介绍选择IDEA的理由。
2.1 IDEA简介
IDEA 是一个 Java 集成开发环境 (IDE),用于为各种项目开发计算机软件。
IDEA 功能:
1.编码提示IDE可以提供代码提示,如:根据上下文,补充当前代码;代码导航,可以快速定义一个声明的类;代码错误提示,可以提示代码错误并提供有效的解决方案。
2. 内置工具与集成 IDE 提供 、 、 、 SBT 等构建和打包工具,支持 GIT、 、 、 SVN 等多种版本控制系统,可从 IDE 直接访问 SQL、 、 和数据库。
3.丰富的插件系统 IDEA 支持插件,可以为 IDE 添加额外的功能。您可以从 IDEA 插件库网站或通过 IDE 的内置插件来搜索插件并安装插件。目前 IDEA 个人版有 1495 个可用插件,IDE 旗舰版有 1626 个可用的内置插件。
2.2 IDEA 与
我们在大学学习中,一般会选择Java开发工具。它是Sun自己开发的Java开发工具,它的优点是简单,没有插件,用户可以根据自己的需求寻找并安装合适的插件。同时这也是它的缺点,没有插件,有些开发会觉得不方便,而且插件都是个人开发的,不是适合所有人的。它需要收费(虽然网上有破解版,但是不建议,支持正版从你我做起)。它其实就是一个集成了其他常用插件的庞大的开发工具,优点是常用插件齐全,不用自己下载安装,当然也支持自行扩展,缺点是插件太多,使得软件很重,运行时占用系统资源太多,当然是收费的(这个对于学生来说是致命的)。
忽略
2.3 Java
Java 是一种通用的计算机编程语言,具有并发性、类型化和面向对象的特点。它的目的是让应用程序开发人员“一次编写,随处运行”,这意味着 Java 可以在任何设备上开发,并且可以在任何配备 Java 虚拟机 (JVM) 的设备上运行,而无需再次编译。
Java 应用程序通常被编译为字节码,可以在具有 Java 虚拟机 (JVM) 的任何计算机架构上运行。
忽略
3 可行性研究
可行性研究顾名思义就是研究其可行性。可行性研究是项目开发前的一个重要阶段。在软件开发实践中,软件开发者或用户对市场了解不够充分,对技术掌握不够充分,对开发的各种风险没有评估清楚,导致一些问题不能按预期得到解决,造成不可预知的损失。为了避免软件盲目开发,造成不必要的损失,相关人员需要对开发具体软件项目进行可行性研究,结合资金、时间、环境等约束,评估软件产品是否能解决存在的问题,带来预期的效果和价值。
3.1 技术可行性
如今,一般都是使用Java作为开发游戏的语言,为了保证开发的游戏可以在手机、网页浏览器、PC客户端等多个平台上使用,开发语言必须具备多平台可移植性,而Java恰好满足了这一特性。开发工具IDEA可以免费下载使用,Java编译工具JDK也可以直接在Sun官网上下载安装,过程非常简单。
3.2 经济可行性
低配置的电脑也能开发Java游戏,一台电脑就够了,开发成本低。由于Java具有跨平台、一次编译即可到处运行的特点,开发出来的游戏可以上架各大游戏平台发售,玩家可以在电脑、浏览器、手机等各种平台上运行。另外软件维护方便,实用性强,开发使用一次就可以长期使用,当软件不能满足用户需求时,只需要根据用户需求进行补充即可。
3.3 运营可行性
游戏操作简单,在电脑和浏览器上可以用鼠标键盘玩,在手机上可以触摸屏幕玩。
3.4 用户可行性
该软件操作简单,不需要用户具备很强的技术技能。
3.5 法律可行性
信息产业部将通用游戏引擎研究及示范产品列入国家“863计划”,这是我国首次将游戏技术纳入国家科技计划。
4.需求分析
需求分析就是为所要开发的系统确定一个完整、准确的需求。需求分析的结果是否完美地解决了用户的问题,将直接影响到后续流程以及设计结果是否能被用户接受。软件需求分析对软件系统提出明确、准确、全面、具体的要求,是一个不断揭示和准确判断软件用户意图的过程,它不考虑系统的具体实现,而是一个严格、完整地描述软件系统应该做什么的过程。
4.1 系统要求概述
飞机大战主要需要我方飞机和敌方飞机,以及子弹、特殊NPC、开始背景、结束背景、背景音乐。我方飞机可以自由移动,敌方飞机不规则出现。游戏玩家通过移动鼠标来控制飞机的移动。游戏开始时我方飞机可以一直发射子弹,当我方子弹击中敌方飞机时,敌方飞机消失。当玩家飞机击中敌人子弹时,生命值减少一,直到玩家飞机生命值达到一,游戏结束。
基于Java的飞机战争游戏的设计和实现主要有以下几个模块:
(1)游戏状态控制功能模块
(2)游戏难度调节模块
(3)游戏界面绘制功能模块
(4)玩家游戏控制功能模块
4.2 功能模块设计
4.2.1 游戏状态控制功能模块
游戏的状态控制包括游戏的运行和结束。首先进入游戏的开始页面,游戏过程中玩家要躲避或者击落敌机,当玩家飞机的生命值减为0时,游戏就会结束,并弹出游戏结束界面。
4.2.2 游戏难度调节模块
玩家玩的时间越长,游戏难度就越大,敌机数量越多、出现的频率越高,玩家保证飞机存活的难度就越大,操作难度也随之提升。
4.2.3 游戏界面绘制功能模块
左上角会显示玩家飞机的当前生命值,游戏时间,以及当前得分。其他地方用来输出玩家对我方飞机的控制以及敌方飞机的动作显示。
4.2.4 玩家游戏控制功能模块
玩家可以通过控制鼠标或者键盘来控制英雄的移动。
4.3 游戏难度分析
4.3.1 绘图美化
清新、精美的游戏界面会给用户带来愉悦的美感,因此本作主要参考了原版游戏画面,敌机、友机的画面也都力求精美。
4.3.2 多线程技术的实现
应用线程机制的基石是实现游戏的控制,游戏的刷架,以及安装各种角色资源和背景(比如飞机,机友)的要求,实现整个游戏线程控制的自动控制。
4.3.3 防碰撞问题的解决方案
比如防止敌机与玩家飞机相撞,防止敌机与玩家飞机相撞等等,防撞检测技术针对不同的情况实施,有不同的防撞检测方法。
4.3.4 动画实现
使用图片数组,通过切片变换形成动画。图片数组,不断变换的图片绘制在标签上做动画,标签就是图片数组。使用切片实现动画,所有帧都放在同一张图片中,实现爆炸的效果。
5. 飞机战斗功能实现
5.1 模型图
图1-1 飞机战争游戏模型图
5.2 软件功能模块
图1-2 飞机大战游戏软件功能模块图