- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C俄罗斯方块课程设计报告书
大学
C++面向对象课程设计报告
院(系): 计算机工程学院
专业:
学生姓名:
班级:_______ 学号:201007206
题目: 俄罗斯方块
起迄日期: _2012.6.18~2012.6.29
设计地点: 计算机学院机房
指 导 教 师:
完成日期: 2012 年6月 29 日目 录
一…………………………………………………………. 3
1.课程设计内容…………………………………………………….3
2.程序实现功能…………………………………………………….3
二、………………………………………………………….3
1俄罗斯方块主功能框架图………………………………………4
2. 主函数及各功能模块流程图………………………………..…4
三、调试分析……………………………………………………….....26
1.实际完成情况…………………………………………………....27
2.上机过程中出现的问题及其解决方案 ………………………..27
3.程序中可以改进、扩充的功能及设计实现构想……………..27
四、用户手册…………………………………………………………..27
五、设计总结……… ………… ……… ………… … ………………31
六、参考文献………………………… ………………………………32
七、附录………………………………… ……………………………32
一、需求分析
1. 课程设计目的
俄罗斯方块是由阿列谢.帕基特诺发明的,Tetris游戏在一个m*n 的矩形形框内进行的,矩形框的顶部会随机的出现一个有四个小方块组成的砖块,每过一段时间,就会下落一格,知道他碰到底部,然后再过一个时间下落另一个砖块,依次进行,砖块是随机出现的。当发现底部砖块是满的话,则消去它从而得到相应设置的分数,当砖块到达顶部的时候,游戏结束。选择俄罗斯方块进行课程设计主要是在学习的基础上,在完成各部分实验的基础上,,通过实践加深对的认识。同时,可以提高运用解决实际问题的能力;锻炼实际的编程能力、创新能力及团队组织、协作开发软件的能力;还能提高调查研究、查阅技术文献、资料以及编写的能力。
【2】主程序函数调用图
【3】键盘响应方块移动及操作模块算法流程图
代码实现部分:
void CTetrisView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
//没有开始
if(!m_bStart)
return;
if(m_bPause==TRUE)
return;
switch(nChar)
{
case VK_LEFT:
russia.Move(KEY_LEFT);
break;
case VK_RIGHT:
russia.Move(KEY_RIGHT);
break;
case VK_UP:
russia.Move(KEY_UP);
break;
case VK_DOWN:
russia.Move(KEY_DOWN);
break;
}
//重画
CDC* pDC=GetDC();
russia.DrawBK(pDC);
ReleaseDC(pDC);
CView::OnKeyDown(nChar, nRepCnt, nFlags);
}
void CRussia::Move(int direction) //移动方块
{
if(end) return;
switch(direction)
{
//左
case KEY_LEFT:
if(Meet(Now,KEY_LEFT,NowPosition)) break;
NowPosition.y--;
break;
//右
case KEY_RIGHT:
if(Meet(Now,KEY_RIGHT,NowPosition)) break;
NowPosition.y++;
break;
//下
case KEY_DOWN:
if(Meet(Now,KEY_DOWN,NowPosition))
{
LineDelete();
break;
}
NowPosition.x++;
break;
//上
case
您可能关注的文档
最近下载
- word格式:报价单-通用报价单.docx VIP
- 川教版(2024)《信息科技》四年级上册 单元3 活动三 《处理规范的数据》课件.pptx VIP
- 北京市大兴区2024-2025学年七年级上学期期末英语试题(含答案).docx VIP
- 《瓶子哈哈镜》幼儿园大班科学微课讲课PPT课件.pptx VIP
- EPCM项目管理实施规划.docx VIP
- 水利水电工程标准施工招标文件2009年版.doc
- 室内除甲醛报价单模板.docx VIP
- 外用制剂仿制药开发I-处方工艺研究及质量控制评价.ppt VIP
- GB50055-2011 通用用电设备配电设计规范 (2).pdf VIP
- GB_T 13542.2-2021电气绝缘用薄膜 第 2 部分 试验方法.docx VIP
原创力文档


文档评论(0)