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

上传人:b****0 文档编号:18150288 上传时间:2023-08-13 格式:DOCX 页数:9 大小:16.67KB
下载 相关 举报
Java雷电游戏项目报告模板.docx_第1页
第1页 / 共9页
Java雷电游戏项目报告模板.docx_第2页
第2页 / 共9页
Java雷电游戏项目报告模板.docx_第3页
第3页 / 共9页
Java雷电游戏项目报告模板.docx_第4页
第4页 / 共9页
Java雷电游戏项目报告模板.docx_第5页
第5页 / 共9页
Java雷电游戏项目报告模板.docx_第6页
第6页 / 共9页
Java雷电游戏项目报告模板.docx_第7页
第7页 / 共9页
Java雷电游戏项目报告模板.docx_第8页
第8页 / 共9页
Java雷电游戏项目报告模板.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

Java雷电游戏项目报告模板

 

北京青年政治学院小学期

 

达内JAVA课程项目报告

 

项目题目:

雷电游戏的设计与实现

专业班级:

学生姓名:

学生学号:

指导教师姓名:

 

Notableofcontentsentriesfound.

 

一、系统目标

通过本游戏的设计,综合自己在校期间所学的理论知识,设计开发雷电游戏,使自己熟应用系统的开发过程,培养独立思考能力,检验学习效果和动手能力,初步掌握软件工程的系统理论,进一步巩固和加强自身对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、丰富游戏的设置

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

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

importclassGamePanelextendsJPanelimplementsRunnable,MouseListener,

MouseMotionListener{

privateFlightheroFlight;

privateListheroFires;

etImage());

(this);

(3);

(false);

(100);

etImage());

(this);

(false);

etImage(),

0,0,500,600,this);

if()>0){

rawFlight(g);

}

lightMove();

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

flights[i].setY(500));

flights[i].setX(500));

}

}

if()&&count%10==0){

etImage());

(this);

etImage());

(this);

//将图片对象添加到集合当中

(bomPic);

//说明子弹击中敌机

//将子弹从集合当中移除

(heroFire);

//将敌机的坐标再次随机设置

(500));

(500));

i--;

j--;

break;

}

}

}

if()>0){

//判断敌机是否撞击英雄机

for(inti=0;i<;i++){

FlightenemyFlight=flights[i];

if(isHit(enemyFlight,heroFlight)){

()-1);

(500));

(500));

}

}

}

try{

//让线程休息一会

(15);

//刷新输出新的界面,自动调用paint方法

repaint();

count++;

}catch(InterruptedExceptione){

();

}

}

}

/**

*判断敌机是否与英雄机相撞

*@paramenemyFlight

*@paramheroFlight2

*@return

*/

privatebooleanisHit(FlightenemyFlight,FlightheroFlight){

intxx=()+()/2)

-()+()/2);

intyy=()+()/2)

-()+()/2);

intxy_sum=xx*xx+yy*yy;

intr_sum=

()/2

+()/2)

*()/2+()/2);

if(xy_sum<=r_sum){

returntrue;

}

returnfalse;

}

@Override

publicvoidmouseClicked(MouseEvente){

//鼠标点击时调用的方法

}

@Override

publicvoidmouseEntered(MouseEvente){

//鼠标进入面板时调用的方法

}

@Override

publicvoidmouseExited(MouseEvente){

//鼠标退出面板时调用的方法

}

@Override

publicvoidmousePressed(MouseEvente){

(true);

}

@Override

publicvoidmouseReleased(MouseEvente){

//鼠标释放时调用的方法

(false);

}

@Override

publicvoidmouseDragged(MouseEvente){

//鼠标拖拽时调用的方法

()()/2);

()-());

//刷新输出面板调用paint方法

repaint();

}

@Override

publicvoidmouseMoved(MouseEvente){

//鼠标移动时调用的方法

()()/2);

()-());

//刷新输出面板调用paint方法

repaint();

}

/**

*判断子弹是否击中敌机的方法

*/

privatebooleanisHit(FireheroFire,FlightenemyFlight){

//获取敌机的中心坐标

intx=()+

()/2;

inty=()+

()/2;

//判断是否击中敌机的心脏

if(x>()

&&x<=()+())

&&y>()

&&y<=()+())){

returntrue;

}

returnfalse;

}

}

五、系统设计总结

六、参考文献

 

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

当前位置:首页 > 医药卫生 > 预防医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2