




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Based on the design and implementation of Java game Tetris,基于Java的俄罗斯方块游戏的设计与实现,LOGO,毕业论文答辩,01,02,目 录,03,04,05,06,研究方法及相关技术,程序需求分析简介,课题综述与研究背景、意义,程序系统设计简介,程序总体设计简介及测试运行,论文总结与致谢,1,课题综述与研究背景、意义,俄罗斯方块游戏是一款风靡全球,经久不衰的游戏产品。它曾经创造了无可匹敌的商业价值,影响了一代游戏业的发展史,推动了信息时代科技时代的不断发展。,随着计算机技术的日渐更新与不断迅速的发展,俄罗斯方块游戏也从原来的掌机,电视游戏机发展处pc端,智能手机游戏等各种各样的模式。俄罗斯方块游戏的影响力毋庸置疑。俄罗斯方块游戏界面简单,代码、算法实现并不复杂,是一款作为初学者熟悉知识,锻炼编程技巧的良好的游戏系统。,游戏研究背景,程序开发意义,俄罗斯方块游戏是一款简单、益智但又不缺乏乐趣的休闲小游戏,在日益繁忙,生活节奏越来越快的现代生活中,为压力巨大的人们提供了一款既节省时间又有趣的小游戏。并且俄罗斯方块游戏开发简单,实现并不复杂,是编程新手很好的练习素材。本次课题研究,不仅在开发技术上,还是社会意义上都具有很大的价值。,首先,俄罗斯方块首先作为一种教育用软件,在授权给各大公司之后,各大平台上就陆续出现了无数的各种各样版本的俄罗斯方块游戏。在海湾战争期间,美国前线的美国士兵都将这款游戏作为消磨时光的最佳选择之一。其次,俄罗斯方块游戏具有简单性,数学性,动态性和极大的知名度,程序员经常作为设计与练习的题材。让俄罗斯方块游戏的研究变得越来越火。,俄罗斯方块游戏研究现状,2,Chapter,研究方法与技术,Java在发展的近20年间,已发展成为人类计算机历史上最有影响力的编程语言之一,甚至其超出了编程语言的范畴,成为了一种开发规范模式。本课程设计主要用Java编程语言,在Eclipse平台上实现。,Java语言是一门非常纯粹它吸引了C语言和C+语言的各种优点,又摒弃了C+语言里难以理解的多继承,指针等概念,因此Java语言具有功能强大和简单易用两个非常良好的特征的面向对象的编程语言。,Java,Eclipse,Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。Eclipse只是一个框架和一组服务,用于通过插件组件构建开发环境。,组 件,简介,S W I N G,Swing API 是一组可扩展的 GUI 组件,用来创建基于 JAVA 的前端/ GUI 应用程序。它是建立在 AWT API 之上,并且作为 AWT API 的替代者,因为它的几乎每一个控件都对应 AWT 控件。 Swing 组件遵循模型 - 视图 - 控制器架构来满足下面的准则。一个单一的 API 足够支持多种外观和风格;API 是模拟驱动的,这样最高层级的 API 不需要有数据;API 是使用 Java Bean 模式的,这样 Builder Tools 和 IDE 可以为开发者提供更好的服务来使用它。 Swing特点主要有:轻量级、丰富的控件、高级自定义、可插拔的外观和风格。,3,Chapter,程序需求分析简介,系统的需求分析,主要是用来说明本系统是一个什么系统,必须用来做什么,就这个问题上达到开发人员和主要用户之间的共识。系统的可行性分析,主要就是对系统的所有的一切资源实施进行分析,用来说明系统的开发和投入的合理性,可行性和必然性,并对其中可能会出现的不可预见性的问题进行合理的分析。,本游戏系统主要是用于大学生软件工程毕业课程设计,不需要考虑其所能产生的经济效益和游戏日后的发展状态。所以经济问题可不用考虑。,经济可行性分析,本系统主要利用的是Java中的Swing组件进行开发,技术方面要求并非特别困难,技术可行。,技术可行性分析,本游戏系统的开发主要是用于毕业课程设计与论文,用以巩固大学四年学习的知识,主要以个人和学校为单位,仅供个人娱乐和学校的课程设计与毕业论文检查入档案。,社会可行性分析,可行性分析,界面需求,形状需求,键盘,鼠标,显示需求,本游戏的默认背景色是深绿色,游戏主界面画面自定义为自己的所喜欢的图片,并可以更改,主界面方块默认用橘黄色,预显方块颜色默认为淡紫色。背景色、前景色对比鲜明,以达到让玩家眼前一亮的感觉。,键盘、鼠标处理事件需求,当方块下落时,玩家可以通过键盘上的方向键标,可以点击控制面板中的菜单按钮和帮助按钮。,用数组作为存储方块52种状态的数据结构,即初级等级长条形、Z字形、反Z形、田字形、7字形、反7形、T字型一共7种形状的向4个方向的旋转变形,和中级等级的三种方块12种不同的状态,高级等级的三种方块12种不同的状态。,要求当方块落下后填满一整行,则该行消除,其余剩下的未填满的行自动逐次向下移动,当方块落下叠加到主界面的全部所有行时,方块不再下落,游戏结束,主界面提示“Game Over”字样。,需求分析,之功能性需求,需求分析,之非功能性需求,俄罗斯方块游戏系统的非功能性需求包括游戏主界面左上角图标显示,调整窗口尺寸最大化最小化(但不包括主界面的尺寸大小),游戏运行时弹出窗口的位置居中等一系列非功能性需求。,4,Chapter,程序系统设计简介,1运行程序,点击右侧控制面板内的“开始”或“控制”菜单内的“开始”按钮开始游戏。 2使用上、下、左、右键和空格键,P键,C键控制方块的变形、下落、向左和向右移动和一键迅速下落,暂停,继续。 3方块满行消除,分数自动增加,等级自动增加一级。 4等级增加、方块下落速度增加,按右侧控制面板或“游戏”菜单内的“初级”“中级”,“高级”按钮来手动改变游戏难易程度。也可点击“方块颜色”菜单内的选项,更改方块颜色等,也可以通过“自定义”菜单内的选项,来更改游戏的一些属性。 5按键盘键字母P键可以控制游戏暂停,然后按子母键C键可以控制游戏继续上次游戏。按“结束游戏”按钮,游戏会彻底停止正在进行的当局游戏,再按“开始”或“控制”菜单内的“重新开始”会开始新游戏。 6当方块占满整个窗口,不能再有新方块下落时,游戏会弹出“Game Over”的对话框提示游戏结束。,手工处理业务的基本流程,游戏的功能模块图,游戏的基本流程图,本系统基于游戏的各项功能来设计游戏的各个功能模块。本游戏主要有两大模块:游戏界面区,游戏控制区。,显示玩家可选操作、显示玩家操作结果两个部分。,更改颜色、开始、更改游戏等级为初级、更改游戏等级为中级、更改游戏等级为高级、自定义下落速度、更改背景、退出以及其他等一些功能模块。,游戏界面区,游戏控制区,游戏的功能模块,5,程序总体设计简介及测试运,Java是一种纯面向对象(Object-Oriented)的程序语言,具有很多优点。本课程设计主要通过几个模块来实现各项功能。,功能模块,方块及数据显示功能,方块移动控制模块,游戏进度模块,音乐添加模块,游戏等级控制模块,游戏界面颜色控制模块,游戏主界面显示功能,等一系列模块,主要功能实现的截图,本游戏主界面设计的初始颜色搭配基于对比鲜明的原则,默认背景色为深绿色,左上角设置俄罗斯方块图标,得分初始值为0,等级初始值为1,最高分记录初始值为0。游戏主窗体尺寸设置为(520,580),方块移动范围窗格由一个20行、12列的二维数组控制,且左上角图标设置为方块图案,起标识作用。 public GameCanvas(int rows, int cols) this.rows = rows; this.cols = cols; this.setOpaque(false); boxes = new Boxrowscols; for (int i = 0; i boxes.length; i+) for (int j = 0; j boxesi.length; j+) boxesij = new Box(false); setBounds(0, 0, 300, 500);/设置相对位置坐标 setBorder(new EtchedBorder( EtchedBorder.RAISED, Color.white, new Color(148, 145, 140); ,主界面显示模块,方块和数据信息是游戏中最基本的功能模块。本游戏用二维数组存储方块的28种样式。值得注意的是:在传统的俄罗斯方块游戏的基础上,本游戏系统为了体现出创新的思维,本着为了学习的原则,在传统游戏的基础上增加了中级三种其他的方块样式和高级三种其他的方块样式。一共有52种方块样式,具体的存储方式主要实现代码如下: public final static int STYLES = / 共28种状态 0xf000, 0x8888, 0xf000, 0x8888, / 长条型的四种状态 0x4e00, 0x4640, 0xe400, 0x4c40, / T型的四种状态 0x4620, 0x6c00, 0x4620, 0x6c00, / 反Z型的四种状态 0x2640, 0xc600, 0x2640, 0xc600, / Z型的四种状态 0x6220, 0x1700, 0x2230, 0x7400, / 7型的四种状态 0x6440, 0xe200, 0x44c0, 0x8e00, / 反7型的四种状态 0x6600, 0x6600, 0x6600, 0x6600, / 方块的四种状态 0x8c88,0xf200,0x44c4,0x4f00,/增加的中级样式方块3个 0xea00,0xc4c0,0xae00,0xc8c0, 0x8c00,0xc800,0xc400,0x4c00, 0xac00,0xcc40,0x6e00,0x8cc0,/增加的高级样式方块3个 0x4e40,0x4e40,0x4e40,0x4e40, 0x8480,0xa400,0x4840,0x4a00, ;,方块、数据信息模块,“游戏”菜单测试,“帮助”菜单测试,方块的堆砌与消行功能测试,按键事件的功能测试,利用设计的测试用例表,测试结果为成功,利用设计的测试用例表,测试结果为成功,利用设计的测试用例表,测试结果为成功,利用设计的测试用例表,测试结果为成功,系统测试,是将软件,计算机硬件,外围设备,网络等元素确认在一起进行各种信息系统的组装测试和确认测试,系统测试是为整个产品系统进行测试,目的是验证是否 系统满足需求规格的定义,找出与需求规格不一致或矛盾的地方,以提出更全面的方案。系统测试发现问题后,尝试找出错误的原因和位置,然后进行更正。,系统测试,6,Chapter,论文总结与致谢,从本次课程设计论文编写我收获的知识,为了熟悉俄罗斯方块的相关功能和设计,我时常从各大游戏下载网站下载单机版俄罗斯方块游戏,并研究其中功能的实现和界面的设计,思考和查阅资料进行分析,经过逐步的设计与反复的修改论证,才完成了整个游戏的开发。,在游戏设计过程中,我采用从粗到精的设计模式,从小到大测试的原则。先设计游戏框架,并逐层测试,而后再添加具体实现代码并逐步进行更细化的测试。设计过程中,经常会遇到难题,我会通过反复思考和测试,然后找出自己的错误并加以改正,再进行下一个步骤,确保万无一失,尽力减轻最后的调试工作量。,毕业设计业可以作为一个不断学习新鲜事物的过程,从设计初的不懂到最后能够圆满完成,我体会到在实践中不断学习的重要性,这对于将来我走上
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 分布式光伏发电项目前景与可行性分析
- 防拐卖防性侵课件
- 江苏省常州一中2025届高三5月测试(一卷)语文试题试卷含解析
- 建东职业技术学院《物理治疗基础(含评定、理疗)》2023-2024学年第二学期期末试卷
- 湖南都市职业学院《皮肤生理学》2023-2024学年第二学期期末试卷
- 长三角体育节项目招标文件
- 南京理工大学紫金学院《心理咨询伦理》2023-2024学年第一学期期末试卷
- 赣州师范高等专科学校《教育教学知识与能力》2023-2024学年第二学期期末试卷
- 上海中华职业技术学院《设计制图基础》2023-2024学年第二学期期末试卷
- 安徽省示范高中皖北协作区2025届高三下学期3月第27届联考试题 语文 含解析
- YS/T 555.1-2009钼精矿化学分析方法钼量的测定钼酸铅重量法
- 水利工程(水电站)全套安全生产操作规程
- 学生宿舍宿管人员查寝记录表
- 配电间巡检记录表
- ISO 31000-2018 风险管理标准-中文版
- 双人法成生命支持评分表
- DBJ61_T 179-2021 房屋建筑与市政基础设施工程专业人员配备标准
- 毕业设计三交河煤矿2煤层开采初步设计
- 预应力锚索施工全套表格模板
- 食品流通许可证食品经营操作流程图
- 风电场工作安全培训
评论
0/150
提交评论