飞机大战一Java课程设计
一.人员分工
吴伟超(组长) | 游戏主界面设计与实现,鼠标类等的实现 |
冯仁樟 | 前期调查与功能设计,博客制作,部分代码 |
二.项目简介
玩家通过鼠标控制飞机发射子弹击中敌机获取积分,与敌机或者子弹相撞则飞机爆炸游戏结束,击败最终boss则游戏通关,游戏结束,玩法简单有趣,锻炼反应能力。
三.功能架构图
四.面向对象设计包图、类图
包图
类图
五.项目运行截图
1.初始界面
2.游戏运行界面
3.我方飞机爆炸,游戏结束
4.游戏通关
六.项目关键代码
1.鼠标事件
//游戏的点击启动事件
this.addMouseListener(new MouseAdapter() {@Overridepublic void mouseClicked(MouseEvent e) {if (e.getButton() == 1 && state == 0){state = 1;repaint();}}});
//鼠标移动函数this.frame.addMouseMotionListener(new MouseAdapter() {@Overridepublic void mouseMoved(MouseEvent e) {PlaneObj.super.x = e.getX() - 11;PlaneObj.super.y = e.getY() - 16;}});
2.游戏暂停
//键盘监听的暂停功能,空格暂停this.addKeyListener(new KeyAdapter() {@Overridepublic void keyPressed(KeyEvent e) {if (e.getKeyCode() == 32){switch (state){case 1:state = 2;break;case 2:state = 1;break;default:}}}});
3.碰撞检测
public void paintSelf(Graphics gImage) {super.paintSelf(gImage);//我方飞机与敌方飞机的碰撞检测if (this.frame.bossObj != null && this.getRec().intersects(this.frame.bossObj.getRec())){GameWin.state = 3;}}
七.代码静态扫描
基本全部代码都是符合规范的。
八.总结
在最初设计界面背景时发生闪屏,开始我们并不知道解决原因,后通过询问同学采用双缓冲技术消除屏幕闪烁;设计的敌机类型单一,道具类型也可以再进行增加,关卡只有一关,过于枯燥,并且程序的碰撞检测机制采用遍历的方法实现,过于粗略。原计划能够在单人模式基础上增加联网模式,但在基本完成单人模式后剩余的时间不足以去实现,因此希望在空余时间加以完善。
飞机大战一Java课程设计相关推荐
- java飞机大战流程图_JAVA课程设计-飞机大战
JAVA课程设计-飞机大战 1.团队名称.团队成员介绍 1.1 团队名称:做个飞机哦 1.2团队成员介绍: 余俊良(组长):编写博客.游戏主界面设计与实现.英雄机与子弹类的实现.场景设计 林祥涛:游戏 ...
- Java大作业-考试管理系统(GUI)无数据库-Java课程设计
Java课程设计-Java大作业-考试管理系统(GUI)无数据库 题目要求 开发环境 : 程序总功能模块 程序详细设计 使用情况 第一次写这东西有不少错误的地方,题目要求的功能也没有完全实现,以上内容 ...
- 打怪游戏Java课程设计_java 课程设计大作业 写的一个RPG游戏(代码+文档)
[实例简介] java 课程设计大作业 写的一个RPG游戏(代码+文档) java 课程设计大作业 写的一个RPG游戏(代码+文档) [实例截图] [核心代码] Rebellion-master ├─ ...
- 简易抽奖系统(Java课程设计/大作业)
简易抽奖系统(Java课程设计/大作业) package 简易抽奖系统; import java.awt.*; import java.awt.event.ActionEvent; import ja ...
- Java课程设计(2020版)
目录 参考资料 一. 题目选择说明 1. 传统题目 2. 综合性题目(有一定挑战性.有趣.实用) 2.1题目特点: 2.2 常见类库与技术参考资料 2.2.1 jsoup 2.2.2 HttpComp ...
- Java课程设计报告--绩效考核信息管理系统
Java课程设计报告 题目 绩效考核信息管理系统 学生姓名 学 号 院 系 年级专业计算机科学与技术 班 ...
- java课程设计心得体会绪论
java课程设计心得体会绪论[篇1] 在上学期的最后一周和本学期的第一周,我和同组的学员在学校机房进行了JAVA暑期实训,现在已经结束了. 回首上学期的java学习,重点还是在学习概念等一些常识性 ...
- java课程设计---绘图板
java课程设计-绘图板 一:设计任务书 二:本组课题以及本人任务 本组课题:绘图板:本次任务由本人一人完成.本人主要任务是首先构思绘图板的内容的要求以及其所运用到的知识,开始回想有关联的代码并一一敲 ...
- 秒表计时器——Java基础练手项目(Java课程设计)
前言:鄙人是大二在读学生,大二上学期Java课程设计选了一个秒表计时器的题目,在此把代码和心得分享出来(懒人可以直接看PPT).鄙人资历尚浅,代码中会有许多不当之处,望各位大佬海涵,有更好的建议希望各 ...
- java的结课课程设计,java课程设计总结
java课程设计总结 java语言程序设计是高校计算机相关专业的一门重要课程,小编收集了java课程设计总结,欢迎阅读. java课程设计总结[一]在java课程设计中,要认清楚到底这在我们的生活中的 ...
最新文章
- 你连原理都还没弄明白?java的基本单位
- web项目中关于引入JS/css文件, 浏览器console出现 net::ERR_ABORTED错误的解决方法
- DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练、预测
- Forever.Sun 从URL地址获取参数
- 关于ensp配置出现 Error: Please renew the default configurations.
- 小程序 - 参考数据 - ASC字符码表和常用的中文字符编码表
- ROS入门笔记(七):详解ROS文件系统
- 机器学习和深度学习_算法测评 | 机器学习VS深度学习
- 个人生活的量化分析(二):Apple健康数据分析
- 罗马仕php30重量,认真测评 篇三:罗马仕sence8P+两年使用报告
- sprint冲刺(第二天)
- 清华谭浩强编著的c语言程序设计教程,清华大学谭浩强C语言程序设计教程第3版 (9).doc...
- 安卓手机上最好的3个azw3阅读器
- java枚举菜鸟教程_Java教程--枚举类型使用方法详细讲解
- revit 转换ifc_revit怎么导ifc?如何使用FME在Revit中导出IFC
- ios手机怎么连接adb命令_Mac连接Adb
- BackTrack 3下使用spoonwep2破解WEP加密的无线路由器
- win10 休眠不读u盘_win10电脑不读u盘如何修复
- 关于使用实验室服务器的GPU以及跑上TensorFlow代码
- iOS 获取手机的ip地址 并传给后台(三步搞定)