java课程设计报告Word文件下载.docx
- 文档编号:15773427
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:43
- 大小:522.01KB
java课程设计报告Word文件下载.docx
《java课程设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《java课程设计报告Word文件下载.docx(43页珍藏版)》请在冰豆网上搜索。
备注
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 课程设计 报告