欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    Java课程设计小游戏.docx

    • 资源ID:24650508       资源大小:206.78KB        全文页数:48页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java课程设计小游戏.docx

    1、Java课程设计小游戏高级语言程序设计课程设计报告1、 程序设计说明书【设计题目】 雷霆行动游戏程序【问题描述】 雷霆行动就是一款供大家休闲娱乐得小游戏,游戏通过鼠标控制我方飞机ho得移动,达到躲 闪敌机得目得;利用鼠标键发射子弹与导弹,达到击毁敌机得目得,摧毁敌机有积分。此游戏为闯 关积分类小游戏。【软件功能】1、按鼠标左键,游戏开始.2、利用鼠标移动控制hro自由移动,闪躲敌方子弹.3、利用鼠标左键发射子弹,实现打中敌方飞机得功能;利用鼠标右键释放导弹,实现摧毁大量敌 机得功能,击中一个敌方飞机积一分。 4、ho碰到对方子弹会消耗生命,消耗生命得多少,依据子弹得不同而不同。 5、一关之后会

    2、进入下一关。6、游戏右上角红色得进度条表示hro得生命,当红色全部消失之后,游戏结束,显示死亡。 7、游戏结束后,可重新开始,同1。【算法思想】 1、创建游戏主界面,确定窗口得坐标。 2、设计游戏开始界面显示信息及信息坐标.3、设置游戏进行中得信息,hero得移动、释放子弹与导弹,达到击毁敌机得目得。4、处理游戏进行中得子弹、大爆、爆炸、敌机消失与存在得条件。5、设置进入下一关得条件.、设计游戏结束界面显示信息及信息坐标。7、处理游戏重新开始满足得条件。、装载图像。9、对游戏进行调试与改进,使这个游戏更加完善。【类得设计】 本程序共有七个类: 1、MaiPanel属性:BB为子弹数组,EEv为

    3、敌机数组,BO为爆炸数组,EBv为敌机子弹数组,Bv 为大爆数组,E-nm为敌机数量,E-a敌机最大数,-e为敌机速度,Emv为敌机 横移几率,E-ht为敌机开火几率,u为击毁敌机数量,er为ero生命,bak至 2均为图片,tker为媒体跟踪器,为背景滚动变量,seq为he得动画变量,ifire 为hero开火,iblat为就是否发爆,blastnum为大爆得数量,blat为控制大爆,f、ff、s、 s均为游戏界面上显示得信息;方法:ManPanel(Game)构造方法,pt(Gaphics)建立游戏开始界面如显示得文字,rn()控制 对象移动,Bmoe(t,int)子弹得移动方法,Dmov

    4、(t,int)大爆得移动方法, mouseDragged(Mousevet) 鼠标得拖拽用来保证hero不出界,ouseMove(MuseEvet) 鼠标得移动用来控制hero移动,ousePresd(MousEnt) 鼠标按键在组件上按下时调 用,重新开始游戏,mouseCicked(MusEvent)鼠标按键在组件上单击(按下并释放) 时调用,释放子弹,mouselesd(MoueEvt)鼠标按钮在组件上释放时调用, mousnered(MseEvent)鼠标进入组件上调用,mouseExte(MouseEvent)鼠标离开组 件时调用;功能:游戏得开始、运行、结束与重新开始。 2、Ge继

    5、承JFrae属性:x为游戏主界面得横坐标,y为游戏主界面得纵坐标,pl为ro得子弹;方法:Gam()创建游戏主界面,i(Strig )主方法;功能:创建出游戏得主界面。 3、lst(大爆)属性:x为大爆得横坐标,y为大爆得纵坐标,con为数量,live为ho存活;方法:Blst(in,it)建立大爆得坐标,r()构造方法;功能:构造一个大爆(导弹爆炸)得类。 4、omb(爆炸)属性:x为爆炸得横坐标,为爆炸得纵坐标,con为数量,se为h存活;方法:om(in,nt)建立爆炸得坐标,rw()构造方法;功能:构造一个爆炸(子弹击中敌机)得类。 、Eney(敌机)属性:为敌机得横坐标,y为敌机得纵

    6、坐标,v敌机数组得横坐标,v为敌机数组得纵坐标, r为敌机横移几率,f为敌机开火几率,tlef为向左移动敌机,oriht为向右移动敌机;方法:nmy(nt,int,in,i)建立敌机得坐标,mov(in)实现敌机得移动,tfir()敌机释 放子弹,t(int,n)敌机得子弹攻击hero,hilast(nt,int)子弹产生爆炸;功能:构造一个敌机得类,实现敌机得移动。 6、Enemyullet(敌机子弹)属性:x、y为敌机子弹得坐标,x、v为敌机子弹数组得坐标; 方法:mve()实现敌机子弹得移动,h(in,int)敌机子弹攻击he;功能:构造一个敌机子弹得类,实现敌机子弹得移动与攻击。 、P

    7、yrBullet(hero子弹)属性:x、y为eo子弹得坐标,v为hero子弹得速度;方法:moe()实现hero子弹得移动,ht(int,int)ero子弹攻击敌机;功能:构造一个heo子弹得类,实现ero子弹得移动与攻击.【用户界面】 游戏开始界面游戏进行中界面游戏结束界面【程序技巧】1、建立一个主类,其余六个类均通过这个主类来调用 、响应鼠标事件3、用户界面采用图形用户界面4、利用媒体跟踪器监测图像得装载 5、无效得子弹与被摧毁得敌机能及时处理,未被摧毁得敌机与子弹可以保留6、游戏失败可以重新开始【模块划分及调用关系】【模块流程图】 游戏界面主框架模块: 游戏操作模块:就是【运行说明】

    8、按鼠标左键开始游戏,鼠标移动控制hro得移动,按鼠标左键打出子弹,攻击敌机,每打死 一个敌机积一分,按鼠标右键放导弹,实现摧毁大量敌机得功能,本游戏共三关,若游戏中途失 败,可以重新开始.2、 程序上机调试报告【语法错误及其排除】 1、无法更改导弹数量。解决方法:添加lastnu=0语句,即有十个导弹; 、个别图片运行不出来。解决方法:将图片格式与程序中相匹配; 3、文字在程序中写出,但在游戏过程中不显示。解决方法:将文字得坐标调试好.【算法错误及其排除】 1、点击鼠标右键无法实现大爆。解决方法:ouselase(MouEven e) 、eo得子弹打中敌机后敌机没有消失.解决方法:EBv、re

    9、move();3、 程序测试结果【测试数据】我方飞机得移动,就是否能打出子弹,导弹得释放,能否摧毁敌方飞机,就是否可以积分.【输出结果】游戏初始化子弹爆炸情况大爆(导弹爆炸)、飞机移动【收获及体会】 本来以为课程设计就是个很简单得事情,但就是随着程序得编写,发现这就是一个非常不容易得过程,通过去图书馆与上网查找资料,我发现我还有很多不足,并通过查JDK手册我也学习了很多知识,我意识到JK手册就是非常好得一种学习Java得工具,Ja在生活中有很重要得应用性,这提高了我得学习兴趣。编写程序得过程中我也遇到了很多困难,当程序出现错误运行不出来时,我非常着急,在冷静地分析、调通程序之后,我意识到有耐心

    10、、有恒心就是多么重要啊!在今后得学习生活中,我会更加努力,认真、耐心、细心地处理事情,相信我会逐步提高自己得能力.4、 源程序代码(Java语言,要求有尽可能多得注释语句)pckage lighing;iort java、awt、;imprt java、aw、Img;imr java、awt、Tolkit;imtjava、awt、ediaTacke;impot va、swig、;mport java、awt、ee、;impot ava、ti、EvntLstenr;import java、ui、Vctor;impr hnng、*;public class MainPanl xtendsJPael

    11、 implmnts Runnable,MouotionLitene,ouseiene Game a; Vctor B=ne Vtor();/子弹数组 VcorEv=n Vetr();/敌机数组VectoBOMBv=nwVector();/爆炸数组ectr EBv=nwctor();/敌机子弹数组 Vector =new cor();/大爆数组 in_um; int E_max;/敌机最大数 inE_vel;/敌机速度 it Emo;敌机横移几率 nt E_hit;/敌机开火几率 tSum;/击坠敌机数量,击坠一个敌机积一分 int hero_h;/hero生命 Image bk=nl;背景图片

    12、 Imagehr=ull;/hro图片 Iagefire=nll;/ho子弹图片 Iage firel=nll;/heo子弹图片 mae el0=nl;/敌机图片 Iag l_0_l=nll;/敌机lf图片 Iae e_0_=ull;/敌机iht图片 Iae elbnul;/敌机子弹图片 Imag ebb_0=nul;/敌机子弹2图片 mae mb_0nul;/敌机爆炸0图片 Img bomb_1=nll;/敌机爆炸1图片 Image bmb_2=ul;/敌机爆炸图片 Imag bob=null;/敌机爆炸图片 Iag db_=ul;/大爆1图片 mae _2=ll;/大爆图片 MediaTa

    13、ke takrnull;/媒体跟踪器,用来监测图像得装载 Thred Gam_star; iy;/背景滚动变量 inhero_oldx,ero_ldy;/hero得旧x,坐标 nt hro_x,hero_;/heo得新x,y坐标 in s;/eo得动画变量 boolea ifre;/hro开火 boolea sbla;/就是否发爆 int BBx,BBy;/子弹得横纵坐标 i DBx,DBy;/大爆得横纵坐标 int bastnum;/大爆得数量 booean blatc;/控制大爆 F f=ne Fo(黑体,Font、O,30); Font ff=newFnt(黑体”,Font、BOL,9)

    14、; ont S=new Fnt(”幼圆”,on、BOD,1); tS=newn(”幼圆”,Font、BOL,5);Mainanel(Gae ) this、aa; tacker=newMediTracker(tis); /将以下图片加到媒体跟踪器中 ackToli、getfutTolit()、etmag(Maianel、class、tesouc(”back3、g”); tracer、adIage(bck,0); heo=Tooli、geDfaultoolk()、geIge(MaiPanel、clas、etsoue(ero、jpg”)); tacker、addIage(er,1); fire=To

    15、olkit、getefaltToit()、getIme(MainPane、clss、gResourc(eidan、j); take、adImg(fe,2); fr_lTooki、etDaultoolit()、getIage(Minanel、cls、etsource(herozidan2、jp); tacer、addImage(firel,); el_0=Tok、DeaultToolk()、geIag(ManPanel、cass、getResource(di、jg)); trker、addIag(e_0,4); el_0_l=kit、getDefaultToolkit()、gtImage(Mai

    16、Pael、ss、geteurce(djilet、jp); tac、addIae(e_l,); e_0_rooli、Dfautoolit()、gemge(MinPel、cas、etesorc(”dijirght、jpg”)); tracker、ddIge(el_0_r,); ebTlkit、getDalTookit()、etmae(MainPanl、clas、geResouce(”dijizidan、g)); tacke、addImg(el_b,); el_b0=Toolkit、etDefaultookit()、geImage(MinPael、clas、gtResore(e_0、pg); tra

    17、ckr、addImage(el_0,8); bomb_oolki、getDeautTlit()、gete(MinPanel、class、geRsouce(”bomb_0、p); trar、addImage(bomb_0,); bom_1olkit、tDefaultolit()、tImag(MiPan、class、getReourc(omb、jpg)); rcker、ddImage(bom1,10); bomb2=Tokt、getfaulToolt()、getmag(MaPal、class、getResoure(om_2、jp)); trar、adImage(ob_2,11); bomb_3To

    18、olit、getDeaultTooit()、getIae(MainPael、class、eResorce(omb_3、p); trke、addmag(bomb_3,12);d_1=Toolkt、tDfaultoit()、getImae(MainPael、cass、geRsoue(”d1、jpg)); trackr、addImge(db_1,13); db_2=Toolit、getDeaulToolkt()、gemag(ainPanel、clss、Resurce(db2、jpg”); tracer、ddIm(d_2,14); ts、adMuseMotnLisne(this); his、addMo

    19、usestener(this); a_str=nwTred(th); y(5a、y); hero_=a、x/0; o_y=a、y-150; hr_ldx=herox; hero_oldy=ero; eohp=-; eq=0; Sm=0; _num=0; E_max=; E_e=7; _ov=0; E_hit=97; isfire=lse; sblast=ase; blastu10; basc=fae; puic void nt(Gahics) g、drawIage(bak,0,y,、x,a、6,his); 、stClo(olor、RD); g、etFnt(S); g、draSring(导弹:+

    20、latnu,a、x-0,25);/绘制大爆得数量 g、raStrig(”生,、x200,40); 、drawSin(命”,a、x0,55); 、filRect(a、150,65,10,hro_hp); g、setCoor(Cor、BLCK); g、drawRet(a、x-20,6,10,30); i(q=0) 、selo(Color、RED); if(seq=1) g、slor(、LCK); 、setnt(S); g、rawString(积分:,a、x-25,); g、drwSting(rng、valueOf(Sum),a、x210,25); 、setFont(f); i(hero_hp=-1

    21、) g、etFont(); 、slr(Cl、ED); g、drSrig(”雷霆行动,a、x2-a、x/3,a、y/2a、y); g、awStrng(您能消灭多少敌机?,a、x2、x3,a、y/、/6); g、eFot(SS); g、setl(oor、RED); g、drwStri(请按下鼠标左键开始”,a、x2a、x/4,a、ya、y/8); g、dispos(); ry hrd、eep(50); catch(Exceion ) t、ame_star=nll; /如果游戏结束显示如下信息 ese i(ro_p0) g、tFt(ff); g、slor(Color、E); g、drwStin(”G

    22、AE, a、x /2 a、x /, a、y/ 2a、y / 16); 、drStri(OE”, a、x - a、x / 4, 、/ 2+ 、 / 16); 、setFot(SS); 、setColor(Colo、RED); g、rwSrn(”请按下鼠标左键重来”,a、x / 2 、 / 4, a、 / 2 a、y/ 0); g、dispose(); ty Trad、sleep(5); ctch (Excepi e) s、am_tanul; /显示信息 f(Mth、abs(y)(a、y)0) g、ratring(本游戏即将开始,a、x2、x/4,a、y/-a、/8); g、drawrin(练习模

    23、式,a、/2-、x/4,a、y2-、16); if(Math、abs(y)(a、y)*4 &Math、ab()(a、y) Mh、ab(y)(a、)150) E_x=32; Eve1; Emo=90; E_hi89; g、drawString(”最后了祝您好运,、x/2a、x/,a、y/2a、y8); if(=0) _m0; E_vel=18; mov=90; E_hi=86; 、dawString(向上帝祈祷吧!”,、/2a、x/,a、y、/8); /处理敌机子弹s for(in i=0;iEB、ize();i+) EnemyBulle ebs; ebs=(EemBult)EB、elemetAt(i); i(eb、y5) if(ebs、cont) g、drwImage(l_b,ebs、x,eb、y,13,2,this); if(s、on=6) 、dawImag(_b_0,b、,ebs、,13,15,thi); /处理子弹s for(int=0;i-50) i(、ot3) g、draImage(fre_,bs、x,s、,30,30,hi); i(bs、


    注意事项

    本文(Java课程设计小游戏.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

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

    收起
    展开