俄罗斯方块单人游戏

Java程序设计课程设计报告课题:俄罗斯方块单人版游戏姓名:曹夏平学号:201117010127同组姓名:肖立、邹娟专业班级:计科11101班指导教师:刘国清设计时间:2013/6/23评阅意见:评定成绩:指导老师签名:年月日目录一、课程设计目的1)运用Java实现小游戏的开发2)了解Java开发项目的流程3)掌握规划,设计,开发,测试的能力二、课程设计题目描述和要求1)题目:单人版俄罗斯方块2)题目描述:俄罗斯方块是基于JAVA-J2SE平台开发的一款JAVA小游戏。3)题目要求:熟悉java的编程环境J2SDK,掌握Application和Applet的程序结构,并能熟练编写和调试两类程序。熟练使用各种常用类库。理解JDK的事件处理机制,掌握java.awt、javax.swing,javax.swing.event中的GUI标准组件的用法,学会合理运用布局策略、综合运用各种界面元素,编程构造满足应用需要的图形工作界面。三、课程设计报告内容3.1设计方案的论证:本游戏是根据流行的俄罗斯方块的样式改变而成的,但屏蔽了音乐,背景图片等功能,因为无法掌握深奥的算法。因此玩法比较单一。但是优点是开发周期较短。本游戏的设计采用MVC模式(Model-View-Controller),即把本游戏的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样本游戏的设计被分成三个层—模型层、视图层、控制层。MVC模型图如下所示:3.3各个功能模块图设计具体模块划分算法:1,主面板设计,主面板为container其面积为300*400,其下添加子面板canvas,controlPanel,并采用BorderLayout的布局方式(如图片1)2.Canvas面板中包含20行12列的小方块,用于显示游戏内容(如图片2)3.controlPanel面板中包含tipPanel,InfoPanel,buttonPanel子面板,分别为图形界面面板,信息面板,按钮面板(如图片3)图片34.图形显示面板设计为BorderLayout布局样式.其中添加tipPanel面板居中(以显示下一个俄罗斯方块样式),标签居上的样式(图片4)图片4信息面板设计为4行1列式的GridLayout网格状布局,并且添加当前等级,显示当前等级文本域,当前分数,显示当前分数文本域(图片5)图片5按钮面板设计为3行1列式的GridLayout网格状布局,并且添加开始,暂停,停止三个按钮(图片6)图片65.Bar栏中添加3个菜单按钮,分别为gameMenu(游戏菜单),windowStyleMenu(窗口样式),informationMenu(信息菜单)6.游戏菜单里有新游戏,退出两个选项卡,窗口样式菜单里有windows,motif,mentel这3种样式选项卡,信息菜单里面有作者,帮助两个选项卡流程图:1)视图层功能模块图设计:2)控制层功能模块图设计:游戏面板GamePanel方块的显示障碍物的显示3.4详细设计3.4.1模型层设计1)图形的产生通过图形工厂类ShapeFactory的getShape(ShapeListenerlistener)方法随机产生方块的某种状态,这里运用了工厂设计模式,这种设计模式是为了实现高内聚低耦合而存在的,这种设计模式的通俗解释就是:你想要一个产品,你需要让工厂给你生产一个,你要告诉工厂你要生产什么产品,就把你需要生产的这个产品当做参数传给工厂类的生产产品的方法,然后根据你传进来的产品,而决定工厂人生产什么产品,产生出来产品后,最后要返回您要的这个东西。中央控制器Controller类图形工厂生产图形显示面板显示图形和障碍物处理按键和鼠标事件7654321随机产生一个数随机数一字形Z字形反Z形7字形反7形倒T形田字型2)图形数据结购定义一个4x4方阵,共16个小格。用“0”和“1”来表示每个方格是绘制还是空白,由此可以组合出多种图形,如图所示:其中图一表示为{0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0}其中图二表示为{0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0}其中图三表示为{0,0,0,0,0,1,0,0,0,1,1,1,0,0,0,0}其中图四表示为{0,0,0,0,0,1,0,1,0,1,1,0,0,0,1,0}方块的旋转是通过绘制4个方向的方块,在不同旋转角度显示不同方向的方块来完成的。所以程序要控制方块的旋转方向,只要控制显示哪副图就可以了。本游戏是用一个三维数组int[][][]shapes=newint[][][];作为存储方块的数据结构来保存方块的28种状态的。代码如下:publicfinalstaticint[][]STYLES=//共28种状态{{0x0f00,...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?