大学课程设计-飞机大战

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

湖北大学本科课程设计

题目 Java课程设计——飞机大战

姓名学号

专业年级

指导教师职称

2015年 12月 18日

----目录----

一.项目介绍-------------------------------- 1二.概要设计

2.1资源需求------------------------------ 1

2.2游戏流程------------------------------ 1三.类设计

3.1游戏界面类---------------------------- 2

3.2飞行物类------------------------------ 2

3.3敌机类-------------------------------- 2

3.4蜜蜂类-------------------------------- 3

3.5玩家飞机类----------------------------- 3

3.6子弹类-------------------------------- 4四.编码分析

4.1游戏界面类---------------------------- 4

4.2飞行物类------------------------------ 11

4.3敌机类-------------------------------- 12

4.4蜜蜂类-------------------------------- 13

4.5玩家飞机类----------------------------- 13

4.6子弹类-------------------------------- 15五.游戏测试画面----------------------------- 16六.总结------------------------------------ 18

针对Java课程设计,我做了一个小游戏——飞机大战,游戏代码包含到本学期所学的所有知识点。

程序运行后,进入到开始画面,鼠标单击开始游戏。敌机自上向下移动,随机出现,玩家机随鼠标移动并发射子弹,消灭敌机可以获得分数,随机出现小蜜蜂,消灭后可获得奖励。

二.概要设计

2.1资源需求

此游戏需要导入图片:背景图片,开始界面,玩家飞机,敌机,小蜜蜂,子弹,暂停界面,结束界面。

2.2游戏流程

游戏界面:

ShootGame extends JPanel

static块:导入图片

main():创建窗口

重写paint():画图

action():鼠标事件

TimerTask重写run():游戏运行的活动飞行物类:

abstract FlyingObject

属性:x,y坐标,image,图片长宽

move():飞行物移动

outOfbound():飞行物出界

shootBy():子弹击中飞行物

敌机类:

Airplane extends FlyingObject

Int speed:移动速度

重写move()

重写outOfBound()

getScore():击中敌机后得分

Airplane():初始化敌机

Bee extends FlyingObject

Int xSpeed,ySpeed :移动速度

Int awardType:奖励类型(双倍活力或加命)

Bee():初始化蜜蜂

重写move()

重写outOfBound()

getType():获取奖励类型

玩家飞机类:

Player extends FlyingObject

Int life,doubleFire:生命,双倍火力

Player():初始化玩家

重写move():换图片,形成飞机的动态效果

重写outOfBound()

shoot():生成子弹

moveTo():玩家机移动

isHit():玩家碰撞到飞行物

setDoubleFire():设置双倍火力

addDoubleFire():奖励双倍火力

addLife():奖励生命

deleteLife():减命

getLife():获取生命数

Bullet extends FlyingObject

Int speed:移动速度

Bullet():初始化子弹

重写move()

重写outOfBound()

四.编码分析

(一)ShootGame类

此类继承JPanel类构建游戏窗口并控制游戏的运行

类的成员变量:

public static final int WIDTH=400;//窗口宽

public static final int HEIGHT=600;//窗口高

//图片属性

public static BufferedImage airplane;

public static BufferedImage background;

public static BufferedImage bee;

public static BufferedImage bullet;

public static BufferedImage gameover;

public static BufferedImage player0;

public static BufferedImage player1;

public static BufferedImage pause;

public static BufferedImage start;

public static final int DOUBLE_FIRE=0;//双倍火力的属性为0 public static final int LIFE=1;//奖励生命的属性为1

public Player player=new Player();//创建玩家对象

private Bullet[] bullets={};//创建子弹对象(当前为空)

private FlyingObject[] flyings={};//创建飞行物对象(当前为空)public static final int START=0;//状态:开始为0

public static final int RUNNING=1;//状态:运行为1

public static final int PAUSE=2;//状态:暂停为2

public static final int GAME_OVER=3;//状态:游戏结束为3 private int state=0;//当前状态

1.static块

相关文档
最新文档