俄罗斯方块实习报告 本文关键词:俄罗斯方块,实习报告
俄罗斯方块实习报告 本文简介:2008年计算机实习报告计算机实习报告姓名:刘天班级:2010211114学号:10210417小班序号:14指导老师:丘广晖题目:俄罗斯方块俄罗斯方块实验报告一.功能说明1.1总体功能说明本程序主要是用VC6.0编程软件通过Windows控制台,实现俄罗斯方块这一游戏。本程序实现了俄罗斯方块的随机
俄罗斯方块实习报告 本文内容:
2008年计算机实习报告
计算机实习报告
姓名:刘天
班级:
2010211114
学号:
10210417
小班序号:14
指导老师:丘广晖
题目:俄罗斯方块
俄罗斯方块实验报告
一.功能说明
1.1总体功能说明
本程序主要是用VC6.0编程软件通过Windows控制台,实现俄罗斯方块这一游戏。
本程序实现了俄罗斯方块的随机产生及移动等,玩家在进入游戏界面后,可以通过键盘操作这个游戏。在游戏界面右边,写有玩家分数和一定的操作说明,同时内部也有暂停和退出的设置,在玩家疲惫时,可随时停止游戏。
1.2用户界面
(1)欢迎界面
(2)游戏界面
(3)结束界面
1.3使用方法
玩家可通过键盘的W、S、A、D键分别控制方块的上下左右,暂停键是E,之后可按任意键继续游戏,退出键则是Q。边框右侧有下一个方块的预告。
二.程序设计说明
2.1
总体设计框架
C++程序执行流程(总流程图):
开
始
定义一些变量,并将部分变量初始化
定义界面函数,旋转函数,移动函数等
进入欢迎界面
NO
按下任意键进入游戏?
YES
进入游戏界面
停留在游戏界面
按下暂停按钮?
YES
NO
按下退出按钮?
结束画面
YES
2.2
关键算法描述
bool
table[15][23]={0};
绘制操作面板;
bool
menu();
设定游戏的初始界面(欢迎界面);
void
spin();
决定方块的旋转;
TurnLeft()、TurnRight()、TurnDown()则是俄罗斯方块移动方向的判定;
typenext=rand()%7;
随机数的产生,决定了方块的形状;
while(1);
循环的开始;
if(kbhit());
上下左右控制的判定;
2.3
程序设计的难点和关键点
一、怎样设置方块的状态,变化等;
二、怎样使将要产生的方块与预示方块相同;
三、方块下落时如何判定下方已存在方块,从而使这个方块不在下落;
四、消行的实现。
2.4
调试的方法
调试中多采用断点调试单步执行的方法来查看和改正错误。
2.5
程序性能评价
优点:
1、
游戏运行流畅,整体较为稳定,不会因为玩家的误操作而出现停滞;
2、
游戏说明简单明确,上手容易;
3、
采用模块化编程,多个文件组成整个工程;
4、
编码中的变量、函数等名称合理而清楚,一目了然;
不足:
1、
某些细节上还不够精致,可能还存在bug;
2、
视觉效果一般。
3、
程序代码的格式还不够工整,有待提高。
4、
没有多种界面风格,没有等级系统,不够人性化。
三.心得体会
从一开始的手无足措到一步步的攻克困难,从一开始的茫然停滞到如今的清晰明朗,小学期在时间不知不觉的流逝中,就这样结束了。俄罗斯方块从可以随机出现,到可以自动下落,从左右移动,到可以自动旋转,消行,加分……
看着一个个下落的方块,兴奋的心情真的难以用语言描述。回忆着小学期的一幕幕,我慢慢的对编程产生了强烈的兴趣,同时,也有了把它做好的信心和决心。
我相信,我可以越做越好。
附代码:
#include“colorConsole.h“#include
#include
#include
#include
HANDLE
handle;
WORD
wColors[2];
int
x1=1,x2=1,x3=1,x4=1;//
int
y1=1,y2=1,y3=1,y4=1;//方块坐标
int
type,typenext,typetemp=0;//目前方块和下一个方块的产生
int
score=0,speed=10,times=0,level=0;//得分和速度等
int
key;//按键
char
scorech[10]={0};
bool
flag=1;//生成新方块判定
bool
start=1;
bool
table[15][23]={0};
//绘制操作面板
bool
menu()
//游戏的初始界面
(欢迎界面)
{
for(int
o=1;o0;i--)
{
for(int
j=1;j0;p--)//消行的判定
{
for(int
q=1;q0;b--)
{
for(int
g=1;g0;c--)//刷新
{
for(int
Q=1;Q<14;Q++)
{
if(table[c][Q])textout(handle,Q*2,c,wColors,1,“■“);
else
textout(handle,Q*2,c,wColors,1,““);
}
}
}
}
}
}
16
2008年8月22日