1 概述

本次Java课程设计是做一个飞机大战的游戏,应用Swing编程,完成一个界面简洁流畅、游戏方式简单,玩起来易于上手的桌面游戏。该飞机大战项目运用的主要技术即是Swing编程中的一些窗口类库、事件监听以及贴图技术。

通过键盘,方向键和ASWD键可控制战机的位置,空格键和鼠标左键发射子弹

界面中敌机出现的位置,以及敌机和Boss炸弹的发射均为随机的,敌机与敌机炸弹、Boss炸弹均具有一定的速度,且随着关卡难度的增大,数量和速度均随着关卡数增加而增加

对于随机产生的敌机和敌机炸弹,若超过矩形区域,则释放该对象

添加碰撞效果,包括战机子弹打中敌机爆炸、敌机炸弹打中战机爆炸、战机与敌机相撞爆炸、战机子弹与敌机炸弹相撞爆炸、战机子弹打中Boss、战机与Boss碰撞以及战机吃到血包七种碰撞效果。且碰撞发生后子弹、炸弹、血包均消失,战机生命值减一,敌机和Boss生命值减少当前战机炮弹威力的生命值,若敌机或Boss生命值归零,则删除敌机或Boss

血包:随着关卡游戏进程的进行,会出现一定量的血包供战机补给生命值,血包会在客户区矩形框内运动,10秒后消失;若战机在10秒内吃到血包,则会增加5点生命值知道生命值上限

每关中战机有三条命,每条命10点生命值,生命使用完后,会进入GameOver界面显示得分数,并提供重新开始游戏和退出功能

游戏提供10个关卡,每个关卡需要打死相应关卡的敌机数量才能进入Boss模式,打败Boss之后将会进入下一关。10关通关后,显示通关界面,并提供重新开始游戏和退出游戏的功能选项

暂停功能:游戏进行过程中按下Z键可进入暂停模式,再按Z则返回游戏

无敌模式:游戏进行过程中按下Y键可进入无敌模式,再按Y则返回正常游戏。该模式下战机生命值不会减少,可供测试使用

魔法值:游戏进行过程中,战机魔法值会随着时间递增到上限10,魔法值供战机道具功能的使用,过一个关卡魔法值不清零

战机大招:当战机魔法值为10满状态时,按下X键消耗所有魔法值可发动大招,对屏幕中的敌机进行清屏,Boss扣50点血量

防护罩:当魔法值不为0时,按下C键可打开防护罩道具,该状态下战机处于无敌状态,不会损失生命值,但魔法值会随着防护罩开启慢慢降低

战机升级功能:战机子弹单个威力为1,在魔法值不为0时,按下V键开启升级战机模式,战机图标变为动画,子弹威力变成两倍。(若同时开启防护罩和战机升级,则魔法值递减速度翻倍)

为游戏界面每个关卡添加了滚动背景图片和背景音乐,并在敌机发送炮弹、战机发射子弹、战机击中敌机、敌机击中战机、战机敌机相撞、敌机战机子弹相撞、战机吃到血包、战机大招、战机升级、战机防护罩、游戏结束时均添加了音效

为美化游戏界面,采用了一部分全民飞机大战图标,并添加了爆炸动画和升级战机动画特效,背景音乐采用微信飞机大战背景音乐和相关特效音效

为游戏设置了不同的关卡,每个关卡难度不同,敌机与敌机炸弹的速度随着关卡增大而加快,进入第五关以后敌机从上下方均会随机出现,且随机发射炸弹

前五关卡敌机从上方飞出,速度一定,战机每打掉一架敌机则增加一分,当战机得分超过该关卡所需分数(和关卡数相关)则可进入Boss模式,打败Boss进入下一关;进入第六关以后,敌机分别从上下两方飞出。随着关卡数增加,敌机数量增加,速度增快,敌机炮弹数量和速度也相应增加,进入Boss所需分数增加,Boss生命值和火力也随着关卡数的增加而增加,游戏难度陡然直升

游戏界面中显示当前状态下的关卡数、当前命数、当前得分、战机血条、战机魔法条、无敌模式提醒和战机道具提醒,Boss模式下还有Boss血条

增加了鼠标控制战机位置这一效果,战绩的位置随着鼠标的移动而移动,并且点击鼠标左键可使得战机发射子弹

进入游戏先进入欢迎界面,欢迎界面中显示游戏使用说明,点击鼠标左键和空格键开始游戏。游戏过程中战机命数使用完、通关均有相应界面进行提醒,用户可选择重新开始游戏或退出游戏

怎么用java做全民飞机大战_Java飞机大战游戏设计与实现相关推荐

  1. 怎么用java做全民飞机大战_基于VC++和OpenCV实现的全民飞机大战游戏

    摘要 功能:利用C++语言完成了一个小游戏项目-全民飞机大战,该游戏首先能够给用户提供注册,登录功能:提供了菜单栏及两种游戏模式,一种是无尽模式,另一种是一般模式:一般模式中用户通过控制玩家飞机攻击敌 ...

  2. 用JAVA 做一个简易版的坦克大战(只实现基本功能)

    不太会写文章,只是为了记录自己做过的东西 文章目录 前言 一.大概思路 二.主要代码 1.Tank.java 2.Shot.java 3. Mypanel.java 4.Hero.java 5.Ene ...

  3. 蜘蛛纸牌java课设_java蜘蛛纸牌游戏设计

    java蜘蛛纸牌游戏设计 java蜘蛛纸牌游戏源程序 AboutDialog.java import javax.swing.*; import java.awt.*; /* **"关于&q ...

  4. 仿照java做一个脚本语言_java调用其它语言脚本(python、js)

    1.背景 之前用开发过程一些功能如图像处理.相似度计算.水印等需要调用算法写的方法,但是算法一般都是用python语言进行开发.所以经常直接用java调用python脚本文件.在网上搜了很多方法也排了 ...

  5. 用java做一个截图工具_Java制作屏幕截图软件(还可以保存到剪切板内)

    原标题:Java制作屏幕截图软件(还可以保存到剪切板内) package com.kaige123;import java.awt.Rectangle;import java.awt.Robot;im ...

  6. java做一个日历程序_java实现的一个简单日历

    先贴代码,之后的文章慢慢总结分析. 首先是日历的每个格子作为一个对象,建立的一个类DayBox.java import java.awt.Color; import javax.swing.JButt ...

  7. 怎么用java做随机选人软件_Java小程序:五人随机选一人并显示姓名

    该程序实现的是用空格键控制五个人编号的滚动(用Timer实现),当选定一个人的时候,显示其名字,具体界面如下: 此程序需要链接数据库,在此用的是Access数据库,数据链接的代码如下: import ...

  8. java做windows屏保_java编程加载窗口,制作动画(屏保泡泡)

    1.整体的结构图: 2.编写GameFrame02.java代码: package cn.bjsxt.test; import java.awt.Frame; import java.awt.Grap ...

  9. java做漂亮的游戏界面_java对打小游戏界面漂亮

    [实例简介] 想上传几张图片的发现居然上传不了 第一次用这个 本人也是第一次写java对战小游戏 写着耍了耍 代码中有分层控制逻辑到了后面不是很美丽了,不过总的来说界面还算不错,也不要积分了 ,大家可 ...

最新文章

  1. Java 守护线程概述
  2. 实验室机器OracleXE客户端连接远程Oracle服务器
  3. 前端开发中的一些js小技巧
  4. a*算法流程图_单片机常用的13个C语言算法,看过的据说都晋级高手了
  5. asp.net MVC 应用程序的生命周期
  6. 第二十一期:干货盘点!推荐程序员使用的5款工具软件
  7. 关于APKsmail中加入代码报错All register args must fit in 4 bits
  8. 查看S/N提示'wmic' 不是内部或外部命令,也不是可运行的程序 或批处理文件。的解决办法(不添加环境变量版
  9. sns.barplot/sns.countplot/sns.boxplot参数设置
  10. java创建内部面板类_Java图形与文本(18)
  11. [并发]线程池关闭的问题
  12. css制作序列帧动画
  13. 语言缩写c-a,各国语言缩写及语言代码查询
  14. java的青蛙跳井的编程_JAVA青蛙跳井使用流程控制语句:(1)有只青蛙坐在井底,离井口有20个单位长.(2)它使足力气可以连条3次,然后会下滑...
  15. 微信公众号自定义分享踩坑
  16. websocket传输数据大小限制_WebSocket传输超过126字节数据的方法
  17. 【蓝屏解决】笔记本频繁蓝屏,错误代码IRQL_NOT_LESS_OR_EQUAL
  18. 类与对象的基本语法+练习题
  19. 家里两个路由器,Wifi名相同密码相同,请问手机会自动选择信号强的路由器连接吗?
  20. windows10内置Linux子系统挂载文件

热门文章

  1. [问题解决] 西部数据硬盘 mac 无法写入
  2. 高中数学有哪些好的学习方法?
  3. 数据分析、挖掘方面,有哪些好书值得推荐
  4. 将DTS音频CD映像转换为双声道CD映像的脚本
  5. 【githubgirl】GitHub 上一款可在终端运行的色彩查询工具,提供了不少简洁优雅的色系供选择
  6. 微型计算机周明德课后答案,周明德微机原理答案
  7. 用计算机弹童话,童话镇-暗杠-和弦谱-《弹吧》官网tan8.com-和弦谱大全,学吉他,秀吉他...
  8. 找工作可靠点的招聘网站
  9. wangEdtior查看工具栏配置,隐藏工具栏配置
  10. 【Scratch】青少年蓝桥杯_每日一题_7.17_正十二边形图案