Java雷电游戏项目报告参考模板.docx

上传人:b****3 文档编号:2151152 上传时间:2022-10-27 格式:DOCX 页数:12 大小:18.70KB
下载 相关 举报
Java雷电游戏项目报告参考模板.docx_第1页
第1页 / 共12页
Java雷电游戏项目报告参考模板.docx_第2页
第2页 / 共12页
Java雷电游戏项目报告参考模板.docx_第3页
第3页 / 共12页
Java雷电游戏项目报告参考模板.docx_第4页
第4页 / 共12页
Java雷电游戏项目报告参考模板.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

Java雷电游戏项目报告参考模板.docx

《Java雷电游戏项目报告参考模板.docx》由会员分享,可在线阅读,更多相关《Java雷电游戏项目报告参考模板.docx(12页珍藏版)》请在冰豆网上搜索。

Java雷电游戏项目报告参考模板.docx

Java雷电游戏项目报告参考模板

 

北京青年政治学院小学期

 

达内JAVA课程项目报告

 

项目题目:

雷电游戏的设计与实现

专业班级:

学生姓名:

学生学号:

指导教师姓名:

 

 

 

一、系统目标

通过本游戏的设计,综合自己在校期间所学的理论知识,设计开发雷电游戏,使自己熟应用系统的开发过程,培养独立思考能力,检验学习效果和动手能力,初步掌握软件工程的系统理论,进一步巩固和加强自身对J2SE基础知识的理解,提高自己的编程水平,从而达到理论与实践相结合的目的。

通过本游戏的开发,主要实现游戏的可操作性及美观性,同时使自己对JAVA语言的了解更进一层,为将来的实际工作打下坚实的基础。

二、系统设计思路

1、定义窗口的属性

2、分别设置背景图片,英雄飞机图片,敌机图片,子弹图片,爆炸的图片

3、分别设置敌机和英雄飞机的运动轨迹

4、写出判断敌机是否与英雄飞机相撞,子弹是否击中敌机的代码

5、设置一些丰富游戏的细致属性,例:

绘制积分情况和血量图,子弹发射的频率等

三、系统详细设计

1、定义窗口属性

(1)创建一个窗体对象

(2)设置窗体的标题

(3)设置窗体的大小

(4)关闭窗口时退出程序

(5)设置窗体在屏幕当中显示的位置

(6)设置窗体的显示

注:

游戏面板应做到1、继承JPanel2、实现相应的接口线程和鼠标监听事件

2、定义并设置游戏中的主要元素

(1)定义一个英雄飞机并对其属性进行设置

(2)定义一个存放英雄机子弹的集合

(3)定义存储敌机的数组,敌机初始化值为10并将其放入到数组当中

(4)创建一个生成随机数的Random对象

(5)定义一个存放爆炸图片的集合

(6)设置敌机的属性,并将创建好的敌机添加到数组当中

(7)绘制图片。

分别绘制英雄机的子弹,英雄飞机,敌机,爆炸图片

(8)对子弹的设置。

将创建的子弹添加到存放子弹的集合当中,控制子弹的发射频率,让子弹飞,得到集合中的每一个子弹,当鼠标的某一个键按下时,发射子弹,英雄机子弹自动移动等。

(9)写出鼠标点击,释放,拖拽时调用的方法代码

3、做判断时所用的代码编写

(1)判断子弹是否击中敌机

获取敌机的中心坐标

判断是否击中敌机的心脏

(2)判断敌机是否与英雄机相撞等

4、丰富游戏的设置

绘制得分情况,绘制英雄飞机血量图和游戏结束等字体

四、系统实现(游戏代码展示)

importjava.awt.Color;

importjava.awt.Font;

importjava.awt.Graphics;

importjava.awt.event.MouseEvent;

importjava.awt.event.MouseListener;

importjava.awt.event.MouseMotionListener;

importjava.util.ArrayList;

importjava.util.List;

importjava.util.Random;

importjavax.swing.ImageIcon;

importjavax.swing.JPanel;

publicclassGamePanelextendsJPanelimplementsRunnable,MouseListener,

MouseMotionListener{

privateFlightheroFlight;

privateListheroFires;

//定义存储敌机的数组

privateFlight[]flights;

//初始化敌机为10架

privateintnum=10;

//创建一个生成随机数的Random对象

privateRandomran=newRandom();

//定义一个统计积分的属性

privateintscore;

//定义一个存放爆炸图片的集合

privateListbomPics;

//创建面板的构造器,对属性进初始化

publicGamePanel(){

//创建存放爆炸图片集合的对象

bomPics=newArrayList();

//创建英雄飞机的对象,并对其属性进行设置

heroFlight=newFlight();

heroFlight.setWidth(80);

heroFlight.setHeight(80);

heroFlight.setX(200);

heroFlight.setY(300);

heroFlight.setDirection(Flight.UP);

heroFlight.setImage(newImageIcon("src/images/hero.gif").getImage());

heroFlight.setPanel(this);

heroFlight.setSpeed(3);

heroFlight.setWasFire(false);

heroFlight.setBload(100);

//创建存储英雄子弹的集合对象

heroFires=newArrayList();

//对存放敌机的数组进行创建并进行元素的初始化

flights=newFlight[num];

//创建敌机并将其放入到数组当中

for(inti=0;i

FlightenemyFlight=newFlight();

//设置敌机的属性

enemyFlight.setWidth(40);

enemyFlight.setHeight(40);

enemyFlight.setX(ran.nextInt(500));

enemyFlight.setY(-ran.nextInt(600));

enemyFlight.setDirection(ran.nextInt(100)%3);

enemyFlight.setSpeed(ran.nextInt(3)+2);

enemyFlight.setImage(

newImageIcon("src/images/enemyPlane.gif")

.getImage());

enemyFlight.setPanel(this);

enemyFlight.setWasFire(false);

//将创建好的敌机添加到数组当中

flights[i]=enemyFlight;

}

}

//绘制图片

@Override

publicvoidpaint(Graphicsg){

super.paint(g);

this.setBackground(Color.BLACK);

g.drawImage(

newImageIcon("src/images/back3.gif").getImage(),

0,0,500,600,this);

if(heroFlight.getBload()>0){

//绘制英雄机的子弹

for(inti=0;i

FireheroFire=heroFires.get(i);

heroFire.drawFire(g);

}

//绘制英雄飞机

heroFlight.drawFlight(g);

//绘制敌机

for(inti=0;i

flights[i].drawFlight(g);

}

//绘制爆炸图片

for(inti=0;i

BomPicbomPic=bomPics.get(i);

bomPic.drawBom(g);

//--------------

bomPics.remove(bomPic);

}

}else{

g.setColor(Color.RED);

g.setFont(newFont("宋体",Font.BOLD+Font.ITALIC,30));

g.drawString("游戏结束",200,260);

}

//绘制积分情况可血量图

g.setColor(Color.RED);

g.setFont(newFont("宋体",Font.BOLD,20));

g.drawString("积分:

"+score+"分",370,30);

g.drawString("生命",20,30);

g.setColor(Color.WHITE);

g.drawRect(65,17,100,10);

g.setColor(Color.RED);

g.fillRect(65,17,heroFlight.getBload(),11);

}

@Override

publicvoidrun(){

//用于控制子弹发射的频率

intcount=0;

while(true){

//敌机运动

for(inti=0;i

flights[i].flightMove();

if(flights[i].getY()>this.getHeight()){

flights[i].setY(-ran.nextInt(500));

flights[i].setX(ran.nextInt(500));

}

}

if(heroFlight.isWasFire()&&count%10==0){

//说明发射子弹,创建子弹对象

FireheroFire=newFire();

heroFire.setWidth(40);

heroFire.setHeight(40);

heroFire.setX(heroFlight.getX()+heroFire.getWidth()/2);

heroFire.setY(heroFlight.getY());

heroFire.setDirection(Fire.UP);

heroFire.setSpeed(5);

heroFire.setImage(

newImageIcon("src/images/fire.gif").getImage());

heroFire.setPanel(this);

//将创建的子弹添加到存放子弹的集合当中

heroFires.add(heroFire);

}

//让子弹飞

for(inti=0;i

//得到集合当中的每一个子弹

FireheroFire=

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

当前位置:首页 > 工程科技 > 能源化工

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

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