java桌面弹球分解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
以panelWidth,panelHeight,与path去构造一个BgeatlImlCaogme()p:oimneanget。;
BallComponent( String path , int x , int y ),以x坐标,y坐标和path
去构造一个BallComponet。
挡板类 Stick
发生改变,所以还需要一个挡板的初始长度preWidth属性,为
int型,初始值为0。并提供了setpreWidth和getpreWidth方
法获取和设置挡板的初始长度。 void setPreWidth( int preWidth
)
设置初始方法长度svgoe。eittdpprreeWWiiddtthh(())
: :int
int getPreWidth()
获取初始长度
。
小球类 Ball
用一个B布al尔l类类也型是属B性alslCtaormtepdo来n标et志的小子球类是。否游已戏经未开开始始运前类 名动,,小初球始是值处为于f静Bal止asel状。l 态游,戏所过以程
中小球不断在画板中运动,而且并不仅仅是单纯的沿x轴或者syp轴ee运dY动:,i许nt多=时1候0 小球
2
主界面实现
主界面是一个只设置了窗口 标题还有颜色等基本属性的 JFrame,在这个JFrame中,提 供一个JPanel对象。实现游戏的 相关逻辑的时调用JPanel的 repaint方法将JPanel进行重绘。
业务处理类实现
创建与设置砖块、设置挡板 的位置,及移动挡板、小球与砖 块相撞、小球道具与挡板的碰撞、 道具的移动、改变道具的长度、 判断是否已经通关
游 戏 说 明
目录
1 设计思路 2 流程设计 3 游戏实现 4 总结
设计思路
1
2
3
初始化界面
先将游戏界面画出来,设置 主界面的标题、长与宽、画板等 属性,并且为增加键盘事件监听 器以及创立一个Timer每隔一小 段时间去刷新画板,使游戏得以 动态实现
确定需要的类 并创建
创建业务处理类,处 理类与类间的关系
设 N
计
流
程
Y
图
Y
N
游戏实现
创建游戏对象
创建基类BallComponent、 砖块类Brick、道具类及其子类、 挡板类Stick、小球类Ball、业务 处理类BallService、主界面类 BallFrame
3
1
4Байду номын сангаас
挡板、小球、砖块、道具
挡板、小球、砖块、道具都有一 个共同的父类Ballcomponent, 可以使用父类的方法设置坐标和 获取坐标获取图片,并且调用父 类提供的不同构造器。
的挡板St。ic由k 于类挡是板Ba位llC于o界m面po最n底et部的用一来个接子住类小,球用,来类 名只代能表左游右戏移中S动tick
,所以在Stick类中只定义了沿x方向移动的速度S属PEESDP(E静E态D : =20 类型,int型,初始值为20),由于挡板接住道具性后长p度re可W能id会th : =0
setX() : void ;
造一个BallComponent,且根据路径去读取图片,再s设etY置()对:象vo中idim; age属性
。
方 getX() : int ;
法 getY() : int ;
BallComponent( int panelWidth , int panelHegigethStp,eSetdr(i)n:ginpt a; th ),
在这个游戏中,有挡板,小球, 砖块(障碍物),道具等物品,设 计一个具有这些物品都有共同的特 性的基类,包含这些属性与相关的 方法,让其子类继承。例如有属于 自己的x与y坐标属性,有图片属性, 有速度属性。最后在创建这些物品 类,描述相关的属性及方法。
处理了这个游戏中的大部分业 务功能,包括游戏的开始,游戏的 结束,处理小球的运动,挡板的移 动,初始化砖块和道具,判断游戏 中的图片元素是否有碰撞,设置挡 板的长度、判断用户是否通关以及 把图片绘制到画板等功能。
创
建
BallComponent
游
戏
对
象
Ball Magic Stick Brick BallService
LongMagic ShortMagic
BallFrame
基类 BallComponent
(挡板基)类类B、allBCaollm(p小o球ne)nt类是的B父ric类k(。砖定块义)了类这、些类 名M子a类gB所iac(共llC道有o具的m)属p类性o、,neS即tni:ctkx
桌面弹球
JAVA
2014-10-28
前言
当今社会,休闲型游戏越来越得到人们的喜爱,我们小组开发的是 常见的桌面弹球游戏。从以前的掌上游戏机到如今的手机游戏,都是 一个十分经典的游戏。玩家控制一个可以左右移动的挡板去改变运动 中小球的移动方向,目的是用小球消除游戏屏幕中的所有障碍物到达 下一关,在障碍物被消除的过程中,可能会产生一些能改变挡板或者 小球状态的物品,例如:挡板变长、变短,小球威力加强等等。
坐标,初始值为-1;y坐标,初始值为-1;图片imagex,:初i始nt 值= 为-1n;ull;速度
speed,初始值为5。定义set和get方法获取x,属性y坐标yim,a:gsepi:neteIm=da速-g1e度;=n和ull ;
image图片。
speed:int =5 ;
BallComponent( String path ),path是图片的路径,用图片的路径来构
此次设计所使用的语言为Java语言,开发环境为Eclipse。主要应用 到Swing组件,Java小程序,事件及接口等。这些接口为游戏的制作提 供了便捷的条件,本系统的主要特点就是运用Swing组件和事件处理技 术,进行界面的绘制,键盘的操作。
这次通过桌面弹球的设计开发将对理解Swing组件技术以及事件处理 技术在游戏方面的应用起到很大的帮助作用,同时为掌握Java编程技 术及二维休闲游戏设计的一般方法打下坚实的基础。
是为沿10斜)的与方竖向向运速动度,(所sp以ee将d小Y,球i的nt速类度型分,解初为始横值向为速10度)属性(。s游pess戏pteaed结retXed束,dX后i::n,t类bin小ot型o球l=e,也a8初n是始=处值于