JAVA面向对象课程设计--保卫萝卜

1 团队名称、团队成员介绍、任务分配,团队成员课程设计博客链接(以表格形式呈现),标明组长。

姓名 任务分配 课程设计博客链接
湛遥(组长) 炮塔内容的编写,以及部分方法实现。 https://www.cnblogs.com/200157zy/p/14342241.html
林盛泓 背景图片的编写,萝卜(家)图片编写,以及部分方法。 $12
甘津津 炮塔内容的编写,以及部分方法实现。 https://www.cnblogs.com/g1215161797/p/14342251.html

2 本项目的git地址。

https://gitee.com/zhan-shen/defend-radish.git

3 项目git提交记录截图(要体现出每个人的提交记录及提交说明)。

4 前期调查(主要包含别人做得怎么样、怎么做的内容)

5 项目功能架构图、主要功能流程图

6 面向对象设计包图、类图。如果类太多,可仅列出主要类。

7 项目运行截图或屏幕录制

8 项目关键代码分模块描述:模块名称-文字说明-关键代码(注意:不得直接复制所有源代码,仅粘贴最关键代码)。

8.1 关于子弹类的说明

这部分代码画出各等级的子弹,判断子弹飞行的距离

8.2 音乐播放

这部分采用多线程技术播放音乐,在游戏过程中,该音乐会一直播放,直到完全结束游戏

8.3 关键算法

这部分通过计算子弹是否在怪物范围内,从而来判断是否碰撞

这部分计算怪物是否在炮塔攻击范围内

这部分计算攻击怪物时,炮塔的偏转角度

8.4 任务多线程执行

这部分代码使任务在规定时间内重复执行,反复产生怪物

8.5 鼠标监听

这部分代码主要负责监听鼠标点击的坐标,作出相应回应

8.6 用图片展示不同等级的炮塔

根据图片文件的命名,用下标确定不同等级的炮身,即00为第一级、10第二级、20第三级,完成对炮身图片的读取。

8.7 控制发射子弹的间隔

总共有五种炮塔,通过操控index数值,使不同炮塔的发射速度不同。

9 项目代码扫描结果及改正。

10 项目总结(包括不足与展望、想要进一步完成的任务)

1.未能完成游戏存档功能
2.没有实现暂停游戏的功能
3.每一波生成的怪物都是相同的,应实现随机生怪
4.怪物的设定不够多样化,不同怪物之间仅仅是血量的不同
5.只做了一张地图,关卡不够多
6.炮塔的种类可以更多一些
7.应加入难度模式,使玩家能够自主选择难度
8.希望能实现联网对战

原文地址:https://www.cnblogs.com/200157zy/p/14334307.html