java课程设计报告Word文件下载.docx

上传人:b****5 文档编号:15773427 上传时间:2022-11-16 格式:DOCX 页数:43 大小:522.01KB
下载 相关 举报
java课程设计报告Word文件下载.docx_第1页
第1页 / 共43页
java课程设计报告Word文件下载.docx_第2页
第2页 / 共43页
java课程设计报告Word文件下载.docx_第3页
第3页 / 共43页
java课程设计报告Word文件下载.docx_第4页
第4页 / 共43页
java课程设计报告Word文件下载.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

java课程设计报告Word文件下载.docx

《java课程设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《java课程设计报告Word文件下载.docx(43页珍藏版)》请在冰豆网上搜索。

java课程设计报告Word文件下载.docx

备注

1

StartGame.java

主窗体类

含main方法

2

FeiJi.java

定义飞机类

3

ZiDan.java

定义飞机的子弹类

4

DiJi.java

定义敌机类

5

DiJiZiDan.java

定义敌机子弹类

6

Boss.java

定义Boss类(B-2)

7

BossZiDan.java

定义Boss子弹类

8

BossDaoDan.java

定义BossDaodan类

9

GuanBi.java

定义关闭游戏窗口类

10

BeiJing.java

定义游戏背景类

11

GameSound.java

定义播放背景音乐类

二、系统实现

1、主类StartGame(其中有一个内部类(线程类))

(1)成员变量如表2.1所示

表2.1成员变量

成员变量描述

变量类型

成员变量名

工具包

Toolkit

Tool

缓冲图片

Image

Hc_img

游戏状态

int

Game_type

敌机数量

DJNum

子弹坐标

zd_y

飞机对象

FeiJi

Fj

Boss对象

Boss

Bs

背景对象

BeiJing

bj

子弹集合

ArrayList

zd_List

敌机集合

dj_List

敌机子弹集合

djzd_List

Boss导弹集合

bsdd_List

Boss子弹集合

bszd_List

bszd01_List

爆炸集合

bz_List

爆炸图片数组

bz_img[15]

媒体跟踪器对象

MediaTracker

mt

声音对象

GameSound

music

计数器

num

(2)方法如表2.2所示

表2.2方法

名称

功能

showWindow()

创建主窗口

addKeyListener()

添加键盘监听

update(Graphicsg)

创建缓冲图片

paint(Graphicsg)

画图片方法

main(String[]args)

主方法

(3)源文件StartGame.java代码如下给出。

importjava.awt.Color;

importjava.awt.Font;

importjava.awt.Frame;

importjava.awt.Graphics;

importjava.awt.Image;

importjava.awt.MediaTracker;

importjava.awt.Toolkit;

importjava.awt.event.KeyAdapter;

importjava.awt.event.KeyEvent;

importjava.util.ArrayList;

publicclassStartGameextendsFrame{

//Toolkit.getDefaultToolkit()→获取默认工具包

publicToolkittool=Toolkit.getDefaultToolkit();

Imagehc_img=null;

//设置游戏状态0初始1进行中2胜利3失败4暂停

intgame_type=0;

//敌机死亡数量

intDJNum=0;

intzd_y;

//创建一个飞机类对象

FeiJifj=null;

//创建一个Boss对象

Bossbs=null;

//创建一个背景对象

BeiJingbj=null;

//创建一个子弹集合,

ArrayListzd_List=newArrayList();

//创建一个敌机集合,

ArrayListdj_List=newArrayList();

//创建敌机子弹集合

ArrayListdjzd_List=newArrayList();

//创建Boss子弹集合

ArrayListbosszd_List=newArrayList();

ArrayListbosszd01_List=newArrayList();

//创建Boss导弹集合

ArrayListbossdd_List=newArrayList();

//创建一个子弹爆炸集合

ArrayListbz_List=newArrayList();

//定义一个爆炸图片数组

Image[]bz_img=newImage[15];

//定义一个媒体跟踪器

MediaTrackermt=newMediaTracker(this);

//创建一个声音类对象

GameSoundmusic=newGameSound();

//创建一个计数器

publicintnum=0;

//创建一个线程类

publicvoidshowWindow(){

//把爆炸图片存到图片数组中

for(inti=0;

i<

m.bz_img.length;

i++){

Imageimg=tool.getImage(StartGame.class

.getResource("

Images/largeBurst"

+i+"

.png"

));

bz_img[i]=img;

mt.addImage(img,0);

}

try{

mt.waitForID(0);

}catch(InterruptedExceptione1){

e1.printStackTrace();

//播放音乐

music.playBgSound("

go.mp3"

);

//设置窗体的标题

setTitle("

風云J-20I"

//获取屏幕的x,y坐标

intx=tool.getScreenSize().width;

inty=tool.getScreenSize().height;

//设置窗体的大小

setSize(600,700);

//创建一个飞机对象

fj=newFeiJi(getWidth()/2-30,getHeight()-80,this);

//创建一个线程对象

MyThreadmy=newMyThread();

//启动线程

my.start();

//创建一个背景对象

bj=newBeiJing(this);

//创建一个Boss对象

bs=newBoss(getWidth()/2-120,this);

//设置窗体的初始位置设置居中.屏幕x坐标的一半减去组件x坐标的一半,屏幕y坐标的一半减去组件y坐标的一半.

setLocation(x/2-getWidth()/2,y/2-getHeight()/2);

//是否允许用户改变窗体大小

setResizable(false);

//设置窗体是否可见

setVisible(true);

//调用提供关闭的方法

Guanbigb=newGuanbi();

addWindowListener(gb);

//添加键盘监听器

addKeyListener(newKeyAdapter(){

publicvoidkeyPressed(KeyEvente){

//游戏状态必须为0,同时必须按下enter键

if(e.getKeyCode()==10&

&

game_type==0){

game_type=1;

//播放游戏开始的music

music.playBgSound("

BGM_0001.mp3"

}

//当游戏失败的时候按Enter键初始化游戏状态

game_type==3){//游戏状态为3,同时必须按下enter键

m.fj.hp=120;

//玩家HP

fj=newFeiJi(getWidth()/2-30,getHeight()-80,m);

//飞机返回初始坐标

zd_List.removeAll(zd_List);

//移除所有的子弹集合

bz_List.removeAll(bz_List);

//移除所有的爆炸集合

bosszd_List.removeAll(bosszd_List);

//移除Boss子弹集合

bosszd01_List.removeAll(bosszd01_List);

bossdd_List.removeAll(bossdd_List);

//移除Boss导弹集合

//飞机移动

fj.moveFeiJi(e);

}

});

}

//创建一个窗体对象

StartGamem=this;

//定义一个计数器,用于记住子弹打死敌机的个数

intdjNum=0;

classMyThreadextendsThread{

//重写Thread类的run()

public

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 其它考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1