- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
俄罗斯方块游戏JAVA版
项目开发设计文档
Ver 1.0
编制:骆华
审核:
2014年8月
项目介绍
俄罗斯方块是一款风靡全球的掌上游戏机和PC机游戏, 它造成的轰动与创造的经济价值可以说是游戏史上的一件大事。它由俄罗斯人阿列克谢·帕基特诺夫在1984年6月利用空闲时间所编写的游戏程序,故得此名。俄罗斯方块的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。它看似简单却变化无穷,俄罗斯方块上手极其简单,但是要熟练地掌握其中的操作与摆放技巧,难度却不低。作为家喻户晓老少皆宜的大众游戏,其普及程度可以说是史上任何一款游戏都无法相比的。相信大多数人都还记得为它痴迷得茶不思饭不想的那个俄罗斯方块的时代。由于俄罗斯方块具有的教学性、动态性与知名度,也经常拿来作为游戏程序设计的练习题材。
项目需求
(一) 功能需求
运行游戏后,可选择游戏难度,游戏开始后,由程序随机产生所定义的图形,右上角可看到下一个图形,无操作时,方块竖直缓慢下落,图形在接触障碍物之前,可以由键盘控制向左右下移动,可通过空格键进行翻转,可以进行暂停、重新开始游戏,当某一行被下落的方块填满后消除并计分,难度越大方块下落速度相对提高,另外可修改游戏窗体风格。
(二) 性能需求
1、游戏在不同分辨率下应能适应各种分辨率保证不变形。
2、保证游戏性能,在双核512M内存下应能流畅运行。
涉及主要知识点
(一)、开发环境搭建与配置
1、jdk安装配置
2、eclipse安装配置
(二)、界面布局
1、AWT、Swing
2、菜单使用
(三)、游戏方块
整个游戏中总共7种方块样式,每个方块有4种变形,通过线程控制由4 * 4 个方格构成的一个方块的移动、下落以及变形。
(四)、游戏画布
通过线程动态改变游戏画布的方格颜色,画布通过检查方格颜色来体现方块的移动
(五)、事件
键盘监听事件
(六)、线程
整个游戏由线程控制,一轮游戏过程,实现了Runnable接口,一轮游戏是一个大循环,在这个循环中,每隔100毫秒;检查游戏中的当前块是否已经到底了,如果没有,就继续等待。如果到底了,就看有没有全填满的行,如果有就删除它,并为游戏者加分,同时随机产生一新的当前块,让它自动下落。当新产生一个块时,先检查画布最顶上的一行是否已经
被占了,如果是,可以判断Game Over了。
概要设计
(采用开发模式、框架、模块划分、模块之间通讯设计等,本项目无)
数据库设计
(概念数据模型、物理数据模型、表、字段、约束、存储过程、函数、视图等,本项目无)
界面设计
本游戏只包含1个主界面
游戏菜单下包括开始新游戏、设置游戏方块颜色、设置背景颜色、改变游戏难度等。
控制菜单下包括游戏的暂停、继续、重新开始以及停止。
窗体风格菜单下用来设置游戏窗体风格。
关于菜单下包括帮助和游戏简介
类设计
本项目包含ErsBlock、ErsBlocksGame、ControlPanel、ErsBox 以及GameCanvas 5个类,具体设计如下:
(一)ErsBlock类
该类的主要功能为设计游戏方块类,继承自线程类(Thread),由 4 * 4 个方格(ErsBox)构成一个块,控制块的移动、下落、变形等。
(二)ErsBlocksGame类
该类的主要功能为游戏主类,继承自JFrame类,负责游戏的全局控制。内含
1一个GameCanvas画布类的实例引用,
2一个保存当前活动块(ErsBlock)实例的引用,
3一个保存当前控制面板(ControlPanel)实例的引用;
利用线程实现了一轮游戏过程,一轮游戏是一个大循环,在这个循环中,每隔100毫秒,检查游戏中的当前块是否已经到底了,如果没有,就继续等待。如果到底了,就看有没有全填满的行,如果有就删除它,并为游戏者加分,同时随机产生一个新的当前块,让它自动下落。
当新产生一个块时,先检查画布最顶上的一行是否已经被占了,如果是,可以判断Game Over了。
(三)ControlPanel类
该类的主要功能控制面板类,继承自JPanel.上边安放预显窗口、等级、得分、控制按钮,主
要用来控制游戏进程。
(四)ErsBox类
该类的主要功能是实现方格类,是组成块的基本元素,用自己的颜色来表示块的外观
(五)GameCanvas类
该类的主要功能是实现画布类,内有行数 * 列数个方格类实例。继承自JPanel类。 ErsBlock线程类动态改变画布类的方格颜色,画布类通过检查方格颜色来体现ErsBlock块的移动
文档评论(0)