欢迎来到天天文库
浏览记录
ID:928714
大小:2.93 MB
页数:12页
时间:2017-09-25
《嵌入式系统课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、课程设计报告俄罗斯方块游戏班级:学号:姓名:教师评语:教师签名:2012年10月课程设计题目俄罗斯方块游戏主要内容本作品基于嵌入式开发平台和ucos-II操作系统进行开发:(1)能够正常完成俄罗斯方块游戏的基本功能,在LCD屏幕上显示游戏界面,LED晶体管上可以显示当前分数和游戏的最高分。(2)能够同时支持触屏操作和小键盘操作。(3)可以通过小键盘上的“+”、“-“号来调节游戏速度,设置游戏难度级别。(4)能够正确记录游戏时间和游戏成绩。(5)游戏界面体验良好,如开机界面、游戏背景音乐、游戏操作方便等。采用的工具方法ADS1.2开发环境、ucos-II操
2、作系统、嵌入式ARM开发平台、程序设计语言C进度安排第1次实验:明确俄罗斯方块游戏功能需求和系统细节。第2~3次实验:绘制俄罗斯方块游戏界面。第4~7次实验:编写完成游戏基本功能。第8次实验:添加附加功能,利用LED晶体管显示分数。第9次实验:测试,完善作品。第10次实验:答辩。参考资料[1]《基于ARM的嵌入式系统设计实验与实践教程》,清华大学出版社,2011:325-3581.题目俄罗斯方块游戏2.系统简介俄罗斯方块是一款容易上手,却又十分耐玩的游戏。曾经风靡一时,虽然现在玩这款游戏的人已经越来越少,不过这款游戏的绝对称得上是经典。本作品基于嵌入式开
3、发平台和ucos-II操作系统进行开发,利用多进程和多任务的调用,实现了俄罗斯方块游戏的基本功能以及一些辅助功能。首先开机以后是开机画面,2秒后开机画面结束,进入游戏界面。游戏界面由两大部分组成,左边整个区域都是用来显示游戏的主界面,右边区域不仅包括了开始游戏,暂停游戏,以及旋转、下降、左移、右移的控制按钮,还包括总分数统计、游戏时间以及将出现的下一个方块形状提示等。与此同时你也可以用平台自带的键盘进行游戏控制,比如“Num”键对应着重新开始游戏功能,“/”键对应着暂停游戏功能,“5”、“7”、“8”、“9”分别对应着旋转、下降、左移、右移四个方向键。在
4、游戏开始后,背景音乐也同时响起。在玩游戏的过程中,会有按照你同时消除方块数的不同所得分数也不相同,即如果一次只消除一行的话,只能得到1分,一次同时消除两行则会得到4分,如果一次同时消除三行则会得到9分,如果一次消除四行则会得到16分。这也就是说这游戏提倡一次消除的行数越多越好。随着游戏时间的推移,游戏速度也会随之加快;但为了让一些新手玩家更快地熟悉游戏,本作品还十分人性化设计了用“+”、“-”号来手动调节游戏速度,如果你觉得游戏速度过快,你可以用“+”使游戏速度变慢;反之,你也可以用“-”号让游戏速度加快。在游戏结束以后,有“GameOver”提示,并且
5、系统对你当前得分进行判定如果高于最高分,则会将你这局游戏的分数用最高分的形式表现出来,游戏最开始的初始最高分为10分。分数会显示在LED晶体管上,左边四位为当前游戏的分数,右边四位为最高分数。3.系统设计(1)系统总体结构设计俄罗斯方块总体结构可以分为四个大模块:游戏界面绘制、消息循环、方块处理和辅助功能。系统总体结构设计图如图3.1所示。图3.1系统总体结构设计图-10-游戏界面绘制:1、在uC/OS-II系统环境下,绘图必须通过使用绘图设备上下文(DC)来实现。绘图设备上下文(DC)中包括了与绘图相关的信息,比如画笔宽度、绘图的原点等。这样在多任务的
6、系统中,不同的任务通过不同的绘图设备上下文(DC)绘图才不会相互影响。绘图设备上下文(DC)的结构定义如下:typedefstruct{intDrawPointx;intDrawPointy;//绘图所使用的坐标点intPenWidth;//画笔宽度U32PenMode;//画笔模式COLORREFPenColor;//画笔的颜色intDrawOrgx;//绘图的坐标原点位置intDrawOrgy;intWndOrgx;//绘图的窗口坐标位置intWndOrgy;intDrawRangex;//绘图的区域范围intDrawRangey;structREC
7、TDrawRect;//绘图的有效范围U8bUpdataBuffer;//是否更新后台缓冲区及显示U32Fontcolor;//字符颜色}DC,*PDC;2、与绘图上下文(DC)有关的函数:initOSDClassic();用来初始化系统的DC,为DC开辟动态内存空间。Create()和DestoryDC()分别用来创建和删除DC。绘图有关的函数有TextOut()、LIneTo()、FillRect()等。消息循环:通常在多任务操作系统中,任务之间的通讯是通过发送消息来实现的。消息队列是操作系统uC/OS-II中的一种通讯机制,uC/OS-II操作系统
8、提供了若干对消息队列进行操作的函数,例如OSQCreate()、OSQPend(
此文档下载收益归作者所有