项目简介
团队选择难度为B等级的任务小游戏,一方面是因为其难度尚可,值得一试,另一方面也是因为两人对其的兴趣不小,对于项目的热情很高,同时也对于我们基础知识的巩固复习有好处。在几周的空余时间里,我和队员完成了这个项目,其中不足之处还请老师批评指正。
项目关键技术
java变量、java数据类型、判断语句、循环结构、数组、Java集合、简单窗口创建、图形图片绘制、双缓存技术、事件-鼠标和键盘事件、物体的碰撞检测。awt抽象窗口工具包、部分复杂算法、大部分注释、GUI界面、面向对象程序设计、线程等
开发环境:jdk11
开发工具:eclipse
项目需求分析
1.简单易懂的玩法,作为小游戏,能够激发玩家的兴趣
2.能够用鼠标进行流利地操作(灵活左右移动躲避敌机及子弹)
项目亮点: 1、充分发挥鼠标事件实现流利操作2.碰撞检测
功能截图演示部分:
任务分配:
位置姓名 | 任务分配 |
组长 | 1.负责团队博客创建及书写整理 、任务分配和团队答辩筹备,对于组员进行相关内容的教导 2.负责游戏基类的编写(子弹类,敌我战机类,使用鼠标控制战机移动)等代码的构建
|
组员 | 1、负责git仓库创建和游戏素材(背景图,子弹飞机的生成)搜寻并添加创意,并对于博客进行补充,和相关疑难问题的解决 2、负责游戏设置规则类(使用空格游戏暂停,通关条件)和工具类的编写以及游戏相关内容的补充,同时对于整体代码bug漏洞进行检查
|
项目git地址:https://gitee.com/south-of-the-south-bank/planewar
git提交记录:
代码静态扫描
代码内容基本符合规范
代码部分:
GameUI
package main;
import obj.*;
import utils.GameUtils;
import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class GameWin extends JFrame {
private static final long serialVersionUID = 7429332630858909252L;
//游戏状态 0未开始 1游戏中 2暂停 3.通关失败 4.通关成功
//定义默认状态
public static int state = 0;
//游戏得分
public static int score = 0;
//双缓存的图片
Image offScreenImage = null;
//窗口的宽度
int width = 600;
//窗口的高度
int height = 600;
//游戏的重绘次数
int count = 1;
//敌机出现的数量
int enemyCount = 0;
//背景图对象
BgObj bgObj = new BgObj(GameUtils.bgImg,0,-2000,2);
//我方飞机对象
public PlaneObj planeObj = new PlaneObj(GameUtils.planeImg,290,550,20,30,0,this);
//敌方boss对象
public BossObj bossObj = null;
//启动方法
public void l