- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目录
1. 设计任务及要求 1
2. 总体设计思路及功能描述 1
2.1 设计思路 1
2.2 功能描述 2
2.3 程序流程图 2
3. 各部分程序功能及详细说明 3
3.1 游戏界面函数 3
3.2 方块显示基本函数游戏界面函数 4
3.2.1 绘制方块 4
3.2.2 擦除方块 4
3.2.3 随机生成一个方块 5
3.3 方块处理基本函数游戏界面函数 5
3.3.1 左移函数 5
3.3.2 变形函数 6
3.3.3 碰撞函数 6
3.3.4 消行函数 7
4. 调试的步骤及调试过程中出现的问题以及解决方法 8
4.1 碰撞函数调试方块 8
4.2 其它函数调试方块 9
4.2.1 随机生成一个方块变形函数 9
4.2.2 变形函数 9
4.2.3 消行函数与得分、等级计算 10
5. 设计心得体会 10
附录: 11
(一)源程序(主函数) 11
(二)参考文献 13
设计任务及要求
本实验主要是用arm实验箱实现一个简单的游戏设计,我选择的是设计一个俄罗斯方块小游戏,主要任务是实现方块的移动、变形、随机出现下一个方块、触屏控制、停止、嵌套、消行、计分等功能。要求:良好的方块形状设计,绘制七种常见的基本图形(方形、长条形、7形、反7形、Z形、反Z形、T形),各个方块要实现它的移动、变形;良好的用户界面,有关分数和等级显示等。
总体设计思路及功能描述
设计思路
整个游戏界面的设计和控制:设计一个左边是10X15带有框格的游戏界面。右边为控制和显示的界面,控制自然是绘制按键图案通过触屏控制来实现。显示的内容有下一个、得分、等级。
方块的移动:通过定时器1,改变方块左右移动的地址来实现。
方块的变形:可通过运用三维数组储存7个基本方块形状,采用线性代数转置的思路改变数组的值并设定一个缓冲区储存变形数组,从而达到变形的效果。
方块的碰边处理:可设定一个二维数组储存整个游戏界面的最新状态,有方块为1,没有则为0,并在游戏界面周围填入1,通过方块地址和数组位置的转换判定数组中的值,为0说明可走,为1则不能通过,从而实现碰边处理。
方块的嵌套:与碰边原理相似,可将之前停止在界面上的方块位置对应数组中的值赋1,再判断当前方块每一列的最后一行下是否有方块,实现方块嵌套。
方块的随机出现:当方块到达最后一行或嵌套成功后停止,然后将出现下一个方块,可通过定时器取出末尾三位实现随机性。并在右边显示下一个方块的形状。
消行处理:可通过处理界面的数组判断某一行是否都为1,若为1就执行将上一行赋给下一行,并将第一行赋为0。
分数及等级的计算:当方块到达最后一行或嵌套成功后停止分数加1分,当消行成功加10饭呢,当分数超过100分时等级加1。
功能描述
左、右、下移动;
方块变形;
随机出现下一个方块;
触屏控制界面(左、右、下、变形、开始、暂停、结束)
左右碰撞检测;
嵌套停止判断
消行
得分等级显示
程序流程图
图 2-1 程序流程图
各部分程序功能及详细说明
游戏界面函数
本实验设计了一个左边是10X15附有框图的游戏界面。右边为控制和显示的界面,分别有显示下一个方块、开始、结束、暂停、变形、向左、向右、向下、得分、等级等,并且大部分都是通过触屏控制达到相应效果。
void InitGame ()
{
U16 i,j;
Set_Color(GUI_BLACK); //设定背景颜色API
Fill_Rect(0,0,639,479); //填充底色
for(i=0;i10;i++) //10x15格游戏界面
for(j=0;j15;j++)
{
Set_Color (GUI_BLACK);
Draw_VLine(10+i*32, 15, 480);//竖线
Draw_HLine(15+j*30, 10, 10+11*32); //横线
Set_Color (GUI_WHITE); //填充白色
Fill_Rect(10+i*32+1, 15+j*30+1,10+(i+1)*32-1,15+(j+1)*30-1);//填充
}
Set_Color(GUI_GREEN);
Set_Font (CHINESE_FONT16);
Disp_String (CN_start下一个CN_end,9*40-20,27);
Disp_String (CN_start得分CN_end,9*40-10,5*40+10);
Disp_String (CN_start等级CN_end,13*40-10,5*40+10);
Set_Color(GUI_YELLOW);
Fill_Rect(14*40-20,20,15*40,6
您可能关注的文档
- (毕业论文---一体化AO生物膜反应器处理生活污水.doc
- “愚人节”活动策划.doc
- 《C++俄罗斯方块》课程设计--俄罗斯方块.doc
- 《茶馆》艺术谈毕业论文.doc
- 《JSP基础教程》课程设计——BBS论坛设计.doc
- 《班级成绩管理系统》C语言课程设计.doc
- 《单片机的最简连线抢答器》课程设计说明书.doc
- 《单片机技术》电子钟课程设计---数字电子钟.doc
- 《单片机课程设计》---水塔水位控制系统.doc
- 《地质学基础》野外实习指导书.doc
- 剧本杀行业报告:内容创作规范与剧本市场拓展策略.docx
- 剧本杀行业区域市场区域文化特色与市场潜力分析报告.docx
- 剧本杀行业区域市场拓展实战案例研究.docx
- 剧本杀行业区域市场拓展路径与模式探索报告.docx
- 剧本杀行业区域市场竞争态势与品牌差异化策略研究报告.docx
- 剧本杀行业2025年西北区域市场市场细分领域竞争态势与品牌竞争策略分析研究报告.docx
- 剧本杀行业2025年西北市场拓展前景预测报告.docx
- 剧本杀行业2025年长沙市场发展潜力分析报告.docx
- 剧本杀行业2025年长三角市场竞争策略与布局分析.docx
- 医疗行业数据合规:2025年数据安全法实施后的合规监管挑战与应对.docx
最近下载
- 电气安全评估报告模板.docx VIP
- 2025学年人教版英语七年级下册单词默写表.docx VIP
- TB 10754-2018 高速铁路轨道工程施工质量验收标准 含2023修改单(2-2).pdf
- 《网络工程师》模拟考试题.doc VIP
- 脑梗塞中医辨证课件.pptx
- 解码国家安全智慧树知到期末考试答案章节答案2024年国际关系学院.docx VIP
- YB∕T 5305-2020 线缆套管用焊接钢管(可复制版).pdf
- 应用指南《GB_T23443-2024建筑装饰用铝单板》应用指南.pptx VIP
- CQC3703-2022 绿色能源消费评价技术规范-活动.pdf VIP
- 1.4 全面推进依法治国的六项重大任务(政策与法律法规 第五版).pptx VIP
文档评论(0)