俄罗斯方块-Cpp源码+实验报告.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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)

ctuorn0371 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档