- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
俄罗斯方块-Cpp源码实验报告
C++课程设计报告
——俄罗斯方块
指导教师:
院系:
日期:
摘要
用C++实现俄罗斯方块游戏。包括:随机形状、随机方向、定时下降、方向键控制、消行、分数统计、升级加速等
关键词:类 二维动态数组 指针
Abstract
Using C++ to build Sliding Blocks. Including random shape, random direction, timeout drop, direction key-control, delete full line, summary grade, upgrade and speed up, etc.
Keywords:Class Two dimensional dynamic array
摘要 1
Abstract 1
一、课题介绍 4
二、任务需求分析报告 4
三、程序功能设计说明 4
四、程序模块框图 5
五、程序截图 6
六、程序源代码清单 8
七、心得体会 17
一、课题介绍:
用Visual Studio 15 Preview编写俄罗斯方块,其功能包括
随机方块
随机方向
显示下一个方块形状、方向
计分升级
方向键控制
消行
二、任务需求分析报告
实现简单的娱乐活动。提高自身对程序算法的理解和应用水平。
三、程序功能设计说明
允许用户自定义俄罗斯方块的边界大小
使用方向键控制方块位置及方向
倒计时下降,可在下降一格前平移多格
实现判断落地、满行、越界等
用户自定义形状(最大4*4)仅需修改代码中kind类中Kind()函数两行代码(源码中已标出提示)。
四、程序模块框图
五、程序截图
六、程序源代码清单
#includeiostream
#includectime
#includecstdlib
#includeconio.h
#includeWindows.h
using namespace std;
class kind
{
bool **p;//一般用[3][3],仅在直棒使用[4][4]=5,田字[2][2]=6;旋转中心都为[1][1]
bool **temp;//转动时暂存区
int i;//i:1-6分别表示不同的方块
bool string;//标记直棒 true:竖[0-3][1] false:横[1][0-3]
public:
kind() { 1; }
void Kind();//俄罗斯方块,初始化+更改 大写K
kind operator=(kind);
~kind();
void zhuan();
void done();//删除p的内存空间指向temp,重开temp空间
void cleartemp();//转动失败,清空temp
int geti() { return i; }
bool** getp() { return p; }
bool** gettemp() { return temp; }
};
kind kind::operator=(kind aaa)
{
int a;
for (a = 0; a 4; ++a)
{
delete[] p[a];
delete[] temp[a];
}
delete[] p;
delete[] temp;
p = aaa.p;
temp = aaa.temp;
i = aaa.i;
return *this;
}
void kind::Kind()
{
srand((unsigned)time(0));
int a, b;
i = rand() % 7;//需要添加形状修改7
p = new bool*[4]; temp = new bool*[4];
for (a = 0; a 4; ++a)
{
p[a] = new bool[4];
temp[a] = new bool[4];
}
if (i == 0) p[0][1] = p[1][0] = p[1][1] = p[1][2] = 1;
if (i == 1) p[1][0] = p[1][1] = p[1][2] = p[0][2] = 1;
if (i == 2) p[1][0] = p[1][1] = p[1][2] = p[0][0] = 1;
if (i == 3) p[1][0] = p[1][1] = p[0][1] = p[0][2] = 1;
if (i == 4) p[0][0] = p[0][1] = p[1][1] = p[1][2] = 1;
if (i == 5) { p[0][1] = p[1][1] = p[2][1] = p[3
文档评论(0)