Java弹球游戏实验报告—chen

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

课程设计报告题目弹球小游戏姓名方成学号20专业java指导教师陈华恩2013年12月30目录一、实验目的...........................................................................................................................3二、需求分析...........................................................................................................................3三、实验任务...........................................................................................................................31、设计.............................................................................................................................32、程序要求:.................................................................................................................33、选作题:.....................................................................................................................3四、开发工具与平台...............................................................................................................3五、设计思路...........................................................................................................................41、界面设计.....................................................................................................................42、逻辑设计.....................................................................................................................43、程序测试.....................................................................................................................4六、实验总结...........................................................................................................................5七、程序代码...........................................................................................................................5八、参考文献.........................................................................................................................111.《疯狂java讲义》...................................................................................................122.《算法导论》.............................................................................................................123.《java编程思想》....................................................................................................12一、实验目的1、熟练掌握java面向对象编程。2、掌握Swing图形用户界面编程以及事件处理等,掌握java绘图技术。3、掌握timer类的灵活使用4、培养独立查找资料,并解决问题的能力。二、需求分析经典的碰撞球是一个的古老游戏,目的是在训练人的反应能力。只有通过把所有的砖块消除完,才能顺利的完成任务。游戏要求如下:1、实现球速度的随机性2、实现球碰撞到边缘或者砖块自动反弹3、实现游戏可以随时暂停4、实现游戏结束后能重新开始游戏三、实验任务1、设计设计并编程实现弹球程序:用户能通过菜单或者按钮新增一小球,该小球将从随机的位置出现,并具有随机颜色,随机速度以及随机的运动方向,小球沿初始方向匀速运动,当碰到窗口边缘时,小球将依据受力原理改变运动方向(可简化考虑,受力只改变小球的运动方向,小球仍按照初始速度匀速运动,且不考虑小球之间的碰撞)。2、程序要求:(1)具备相应界面,并通过事件编程,实现相应的菜单或者按钮功能。(2)使用timer,在程序窗口区域绘制小球,并以线程控制小球的移动,实现动画效果。3、选作题:(1)实现奖励机制及关卡机制四、开发工具与平台JDK1.6+eclipse五、设计思路1、界面设计首先建立窗口类继承自JFrame。该界面为主界面。在加上按钮—开始与暂停在加入JPanel面板,用于图形界面.2、逻辑设计程序用过响应timer事件,按钮事件及键盘事件来管理程序的运行。3、程序测试程序开始窗口运行,等待响应用户消息游戏开始,小球开始移动移动速度在每次反弹后发生变化。如果小球碰倒边界或者砖块,小球方向发生变化若某个小球掉到球拍下面,游戏结束。按开始按钮则重新开始游戏退出移动球拍来使小球不至于掉到球拍下面六、实验总结1、这次实验综合运用了GUI编程,使我对多线程编程有了一定的了解,对java的多线程机制有了一点理解,更加熟练的运用swing组件设计界面,响应消息,接口的实现等等。2、通过课程设计的编程和对编程过程中遇到的问题的思考,切实的提高了我的编程能力,通过这次课程设计,我巩固所了学过的知识,能用JAVA熟练地运用其中的一些,进一步掌握了各个指令的功能是转向。七、程序代码packagecom.fangcheng.ball.game;importjava.awt.Font;importjava.awt.event.*;importjavax.swing.*;importjava.util.ArrayList;importjava.util.Random;publicclassBallGameextendsJFrameimplementsActionListener,KeyListener{privateJPanelp;privateJButtonstart;privateJButtonstop;privateJLabelball;privateJLabelqiupai;privateJLabelbg;//用来放置背景图片的JLabelprivateJLabelwin;privateJLabelover;privateintx1=50;privateintx2=15;privateinty1=325;privateinty2=340;//球与球拍的初始位置privateTimertime;//周期性触发球的移动事件的timer对象privatebooleanisRight=false;//球是否向右移动privatebooleanisDow=false;//球是否为下降privatebooleanisOver=false;//是否游戏结束privatebooleanisYi=false;//球拍是否能移动privateintxsudu=3;privateintysudu=3;//球的x,y速度,初始值为3privateRandomran=newRandom();//用于随机产生球的x,y速度privateArrayListJLabelremoveBrickList;//被移除的砖块的listprivateArrayListJLabelbrickList;//游戏时砖块的listprivateFontfont;/***构造器,参数为窗口标题*@params*/publicBallGame(Strings){super(s);gameShow();}/***用于游戏窗口绘制的方法*/publicvoidgameShow(){//初始化组件ImageIconimg1=newImageIcon(BallGame.class.getResource(/images/ball.png));ImageIconimg2=newImageIcon(this.getClass().getResource(/images/pa.png));ImageIconimg3=newImageIcon(this.getClass().getResource(/images/kuang.png));ImageIconimg4=newImageIcon(this.getClass().getResource(/images/win.gif));ImageIconimg5=newImageIcon(this.getClass().getResource(/images/over.png));ImageIconimg6=newImageIcon(this.getClass().getResource(/images/brick.gif));ImageIconimg7=newImageIcon(this.getClass().getResource(/images/brick1.png));ImageIconimg8=newImageIcon(this.getClass().getResource(/images/brick2.png));font=newFont(微软雅黑,Font.PLAIN,12);ball=newJLabel(img1);qiupai=newJLabel(img2);bg=newJLabel(img3);win=newJLabel(img4);over=newJLabel(img5);p=newJPanel();start=newJButton(开始);stop=newJButton(暂停);start.setFont(font);stop.setFont(font);time=newTimer(10,this);brickList=newArrayListJLabel();removeBrickList=newArrayListJLabel();//初始化砖块for(inti=0;i27;i++){JLabeltemp;if(i%6==0)/

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功