- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
项目综合实验报告
课程名称 算法与程序设计实践
程序名称 _ 俄罗斯方块 __
实验工具 _________JBTooL__________________
编程语言 _________JAVA__________________
专 业 : 软件工程
班级/学号: 软工1202/
学生姓名: rouforever
成 绩 _______________________
指导教师 ________ ________
完成日期 _______________________
程序设计说明书
1.引言
1.1编写目的
游戏是用来给大家娱乐的,所以要能在使用的过程中给大家带来快乐,消除大家的疲劳
1.2项目背景
之所以选择开发 俄罗斯方块游戏,无可争议,《 俄罗斯方块》是有史以来最伟大的游戏之一。 在曾经发布过的所有游戏中,《俄罗斯方块》还被认为是仅有的一个能够真正吸引广泛人群的作品。
1.3定义
我们在设计过程中主要用到的控件有:command控件,image控件,picture控件,label控件,timer控件,text控件,windows media player控件等等。
1.4参考资料
无
1.5人员及分工
一人完成
2.总体设计
2.1需求概述
在个人电脑日益普及的今天,一些有趣的桌面游戏已经成为人们在使用计算机进行工作或学习之余休闲娱乐的首选,而俄罗斯方块游戏是人们最熟悉的小游戏之一,它以其趣味性强,易上手等诸多特点得到了大众的认可,因此开发此游戏软件可满足人们的一些娱乐的需求。
此俄罗斯方块游戏可以为用户提供一个可在普通个人电脑上运行的,界面美观的,易于控制的俄罗斯方块游戏。
2.2程序结构
俄罗斯方块游戏
俄罗斯方块游戏
游戏区游戏控制
游戏区
游戏控制
显示玩家操作
显示操作结果
开始
暂停/继续
提高等级
退出
降低等级
2.3 程序功能
游戏控制模块
游戏控制模块
开始游戏
暂停游戏
初始级别设置
退出游戏
3.程序描述
游戏中玩家可以做的操作有:
1.以90度为单位旋转方每一格块。
2.以格子为单位左右移动方块,让方块加速落下。
3.方块移到区域最下方或是着地到其他方块上无法移动时,就会固定在该处,而新的随机图形会出现在区域上方开始落下。
4.当区域中某一列横向格子全部由方块填满,则该列会自动消除并成为玩家的得分。同时删除的列数越多,得分指数上升。
5.当固定的方块堆到区域最上方,则游戏结束。
3.1功能
暂停,开始游戏,提高降低级数。
3.3输入项目
主要实现的功能 我们开发的俄罗斯方块游戏,主要实现了以下几种功能: 1.可以灵活控制方块在图形框中运动。 2.游戏过程中方块可以自由旋转。 3.当某一行的方块排列满时,将自动将这一行方块消除,然后将上面所有方块向下移动,可以支持连续消行。 4.游戏前可以选择游戏的速度和游戏的等级,游戏速度既为方块下落速度,游戏等级为初始游戏时在基层随机生成一定行数的无规律方块,生成的行数由你来选择,每行至少产生5个以上的无规律方块,这样增加了游戏难度,对于游戏高手来说,无疑不是一个新的挑战。 5.游戏的得分支持积分,并且按照公式: 得分 = 原来分数+ 100 * (2 ^ 同时消除的行数-1) 这样,你同一时间消除的行数越多,你的得分也就越高,当游戏积分到了一定时可以自动升级,这个升级指速度升级。 6.游戏中提供了一个漂亮的场景和动听的音乐,给你带来无限激情。
3.5算法
是俄罗斯方块的关键矩阵。
其中,第一维的18,前 16 个整数表示 4*4 的方块的形状,后两个变量,表示该形状所占的宽度和高度,以免方块出界了。
第二维中的 4 表示方块的 4 个方向的旋转。
第三维中的 7 表示方块的 7 中基本形状。
所有情况的方块写到一数组里,作为一常量,以备调用。
例如:
for(i=0;i4;i++)
grid[height][i+colum]+=shape[shp][loop][i];
for(i=4;i8;i++)
grid[height+1][i+colum-4]+=shape[shp][loop][i];
for(i=8;i12;i++)
grid[height+2][i+colum-8]+=shape[shp][loop][i];
for(i=12;i16;i++)
grid[height+3][i+colum-12]+=shape[shp][loop][i];
其中,grid[][],
文档评论(0)