贪吃蛇 课程设计

贪吃蛇 课程设计

ID:11880673

大小:1.90 MB

页数:146页

时间:2018-07-14

贪吃蛇  课程设计_第1页
贪吃蛇  课程设计_第2页
贪吃蛇  课程设计_第3页
贪吃蛇  课程设计_第4页
贪吃蛇  课程设计_第5页
资源描述:

《贪吃蛇 课程设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、目录一.绪论21.1开发背景21.2开发平台2二.功能描述5三.基本原理5四.系统总体设计64.1相关初始化64.2任务设计74.2.1任务设计要求74.2.2流程图8五.硬件设计10六.软件设计116.1移动功能的实现116.2判断吃否吃到豆子136.3画豆子166.4声音的播放176.5数码管的点亮196.6判断游戏进程206.7加速,计分,计时功能226.8监听键盘23七.系统测试247.1界面247.2运行结果与不足之处26八.小结27九.参考文献28部分源代码29一.绪论1.1开发背景贪吃蛇是一款常见的小游戏,简单有趣,深受人们的喜爱,本项目作为学习软件文档写

2、作和简单游戏编程而提出。希望通过《贪吃蛇》游戏软件设计开发,了解软件文档的相关标准和编写原则,训练并掌握软件各类文档写作的技巧,同时提高嵌入式设计的能力。1.2开发平台1.知识储备嵌入式实时操作系统µC/OS-II简介µC/OS-II是一个抢占式实时多任务内核。它是用ANSI的C语言编写的,包含一小部分汇编语言代码,使之可以提供给不同架构的微处理器使用。至今,从8位到64位,µC/OS-II已经在40多种不同架构的微处理器上使用。使用µC/OS的领域包括:照相机行业、航空业、医疗器械、网络设备、自动提款机以及工业机器人等。µC/OS-II全部以源代码的方式提供,大约有5

3、500行。CPU相关的部分使用的是针对Intel80x86微处理器的代码。µC/OS-II可以很容易地移植到不同架构的嵌入式微处理器上。µC/OS-II的特点:••源代码•可移植•可固化•可裁减•可抢占性•支持多任务•可确定性•任务栈•系统服务•中断管理•稳定性2.ARM简介采用RISC架构的ARM微处理器一般具有如下特点:l体积小、低功耗、低成本、高性能;l支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;l大量使用寄存器,指令执行速度更快;l大多数数据操作都在寄存器中完成;l寻址方式灵活简单,执行效率高;l指令长度固定;lARM处理器

4、共有37个寄存器,被分为若干个组(BANK),这些寄存器包括:l31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。l6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,目前只使用了其中的一部分。lARM处理器又有7种不同的处理器模式,在每一种处理器模式下均有一组相应的寄存器与之对应。即在任意一种处理器模式下,可访问的寄存器包括15个通用寄存器(R0~R14)、一至二个状态寄存器和程序计数器。在所有的寄存器中,有些是在7种处理器模式下共用的同一个物理寄存器,而有些寄存器则是在不同的处理器模式下有不同的物理寄存器。lARM微处理器的在较新的

5、体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%以上的存储空间。二.功能描述基本功能:开始蛇向右方移动。按键盘上定义的上下左右键,蛇改变游动的方向,可以上下左右游动。蛇不能碰到图中的灰色栅栏,如碰到游戏结束。若蛇碰到图中一粒豆子,则豆子被蛇吃掉,图中的豆子消失,蛇身变长。最终所有的豆子都被吃掉,游戏结束。增强要求:(1)必须改进游戏的界面,增加显示相关的统计信息。左边的显示区保持不变,右边动态显示积分和总时间统计

6、信息,其中积分栏目显示当前已经吃下的豆子数目,总时间显示本局游戏从开始到现在经过的时间。(2)优化主程序,注意CPU和内存的使用效率。(3)考虑一个合理的得分算法,得分值应该取决于吃下去的豆子和游戏持续的时间。(4)得分可以在发光二极管上显示出来。三.基本原理游戏开始后进入游戏界面.首先初始化蛇的坐标,食物的坐标.线程基本流程:判断是否是暂停阶段,是否有有退出按键,游戏是否有结束,如果都没有就执行,如果游戏结束了就重新游戏或者退出。开启键盘功能,实现通过方向键来控制蛇的移动方向;开启数码管功能,实现蛇吃到食物后能够更新和显示分数;利用变量,实现吃了6个食物后,游戏能够结

7、束,并能通过增加蛇的移动速度来增加游戏的难度。贪吃蛇游戏设计最主要在蛇移动的控制,在设计中用数组来存放蛇身的坐标,用数组boolbean00[3]、boolbean01[1]、boolbean10[1]、boolbean11[1]存放豆子,变量mscore记录得分,并利用数码管显示技术实时显示分数,考虑一个合理的得分算法,得分值应该取决于吃下去的豆子和游戏持续的时间。四.系统总体设计4.1相关初始化1.堆栈大小,任务优先级定义OS_STKMain_Stack[STACKSIZE*8]={0,};//Main_Test_Task堆栈void

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。