俄罗斯方块实习报告.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2009年9月9日实验报告 PAGE PAGE 8 2009年9月9日星期三 计算机实习报告 姓名: 乔雅楠 班级: 2008211105(信通五班) 学号:小班序号:27 指导老师:徐雅静 题目:俄罗斯方块 邮箱:871091735@ 俄罗斯方块实验报告 一.功能说明 1.1总体功能说明 实现了俄罗斯方块的随机显示,可以通过外界控制方块的运动状态(左、右移动,加速及翻转),并且不会出界,当满足消行条件时对不同情况的消行进行加分(一次消的越多,加分幅度越大),分值到一定程度自己升级,游戏输掉时重新开始。玩家可在游戏开始时自由选择级别,游戏途中自由选择退出。界面有背景音乐,玩家分数、身份的显示等。 1.2用户界面 欢迎界面 选择级别界面 游戏中,可以显示下一个方块 升级界面 游戏结束、玩家选择退出时,重新开始的界面 1.3使用方法 游戏在界面中直接显示使用方法(向左:→,向右:←,向下:↓,翻转:↑,暂停:空格键,退出:ESC键),玩家的身份即关卡。 二.程序设计说明 2.1 总体设计框架 开始 显示欢迎界面 选择关卡 关卡启动界面 按下启动按钮? 显示关卡游戏界面 按下暂停按钮? YES 显示画面 NO 再按一次恢复 需要升级? YES NO 结束画面 按下退出按钮? YES NO 游戏结束? YES 2.2 关键算法描述 appear()算法:[算法输入参数和输出参数,算法功能,使用什么存储结构,在主程序中起什么作用,可以使用框图或伪代码表示。 输入参数:a (rand()%7) 决定方块的形状 m(rand()%4) 决定方块的旋转;用于画俄罗斯方块;使用两个for循环嵌套。 record()函数算法:用for循环将停止方块位置记录为1. check()函数算法: 检测是否可以移动: 输入参数:外界按键的asc码 假设可以移动,移动之后的位置与屏幕坐标是否有重合的1,有则不移动,没有则可以移动。 whethercancel()函数算法:检测是否消行: for循环之后若满足屏幕坐标其中一行都为1,则消行, 并用for循环将屏幕坐标数组元素下传。 dscreen()函数算法:画屏幕: for循环检测为1,则画方块,为0则画空白。 ….. 2.3 程序设计的难点和关键点 一,用一个四维数组来设置方块的形状,状态,颜色。 二,在屏幕坐标上记录有方块的地方为1,方块再落下时为1的地方不可移动。 三,用一个中间参数使将要显示的方块和预示方块一致。 四,检测是否有按键输入时多次苏醒使按键灵敏。 2.4 调试的方法 调试中多利用断点来看哪一步出错,或改用其他形式检测。 2.5 程序性能评价 从运行效果上来看,这个程序通过设置常量来实现直接更改,免去在程序中更改的麻烦,并且响应特别快;但分数无法在升级之后总是归0,暂停时图形消失。 从程序设计上来看,使用了类,结构清晰,便于理解,可以允许外界更改框架坐标; 但有时循环过多,不得不另设参数来实现跳出循环,使不必要的参数出现。 三.心得体会 其实从刚刚开始的手足无措到一个个困难被解决掉,内心得到了极大的成就满足感,看着俄罗斯方块从开始随机出现,到可以旋转,到摞起来,消行,加分,升级……背景音乐 响起的时候,兴奋难以用语言描述,可以说,俄罗斯方块是在我的关注努力下慢慢成长起来的。 还有c++用类来描述使过程清晰了很多,比面向过程更容易理解。 附代码: // xiaoqiao.cpp : 定义控制台应用程序的入口点。 // 今天完成.cpp : 定义控制台应用程序的入口点。 // #includeiostream #includecolorConsole.h using namespace std; #includectime #includecstdlib #includeconio.h #includestdio.h #pragma comment(lib,winmm.lib) WORD wColors[7]={FOREGROUND_RED|FOREGROUND_BLUE|FOREGROUND_INT

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档