- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ARMCortex―M4改进贪吃蛇游戏设计及开发
基于ARMCortex―M4改进贪吃蛇游戏设计及开发
摘 要:文章采用ARM Cortex-M4的TM4C1294系列微处理器,在CCSv6.0开发环境下,介绍基于改进贪吃蛇的游戏开发和系统各个模块的功能实现,包括矩阵键盘模块、TFT液晶显示模块、TFT LCD触摸屏模块、ADC模块以及米字管模块。实验结果表明,该系统的人机交互性能强,功能扩展性优异,对今后的游戏开发有一定的指导意义。
关键词:Cortext-M4;贪吃蛇游戏;游戏设计;模块实现;CCSv6.0
引言
基于ARM Cortex-M4处理器的TM4C1294系列微处理器具有高效的信号处理及浮点运算功能[1],外设满足开发要求,包括120MHz的ARM CortexM4F微处理器外核、系统控制及外设、高速ADC、多种串行通信功能和TFT液晶等等[2]。经典传统的贪吃蛇游戏[3,4]缺乏创新,人机交互能力差,缺少即时反馈信息。针对传统贪吃蛇游戏设计的不足,以及能具体阐述基于Cortex-M4的游戏开发思路、流程和方法,本文提出一种改进的贪吃蛇游戏设计及开发。
1 系统整体设计方案
1.1 系统整体结构
本文系统以ARM Cortex-M4为主控制器,负责控制系统的各个模块,包括TFT液晶模块,矩阵键盘模块,米字管模块,ADC模块,TFT LCD触摸屏模块,蜂鸣器警报和GPIO流水灯模块等等。
1.2 系统整体设计思路
1.2.1 基本贪吃蛇功能设计。蛇体从默认方向开始移动,通过矩阵键盘[5]按键改变蛇的运动方向,按键7、5、2、10,分别对应上、下、左、右四个方向。矩阵按键采用软件循环扫描的方式识别按键,同时具备软件消抖功能。食物在随机的位置产生,有效范围根据游戏难度可以自由设定,蛇头进入该范围则身体加长。游戏结束的判断条件,蛇头碰到区域边界、障碍物或自身。蛇体和食物的显示依靠LCD显示屏模块实现,由OTM4001A控制芯片驱动。
1.2.2 改进贪吃蛇模块设计思路。基于矩阵键盘的按键识别,设计中间按键6,负责游戏的开始和暂停。利用I2C总线对PCA9557芯片进行操作,控制四个米字管模块显示当前获得分数。ADC采样通道PD7的模拟量,可以通过波动滚轮得到不同的输入电压,计算出蛇体的速度。TSC2046芯片控制TFT LCD触摸屏[6],工作于12位差分模式,读取x轴测量值和y轴测量值,再通过SSI分别读取x、y轴方向的转换数据,实时调整目标食物数量。利用高速并行EPI总线控制OTM4001A芯片,在TFT液晶上显示贪吃蛇的游戏界面,具有丰富的色彩和形状,替代传统的黑白界面。LED流水灯和蜂鸣器提醒功能。当游戏结束时,触发定时器中断,在3s后蜂鸣器自动结束响声。
综上所述,本文改进贪吃蛇的开发功能丰富,实现功能如下:暂停与继续、触摸屏改变游戏目标食物值、通过滚轮实时改变速度、错误按键响应处理、米字管实时显示分数、障碍物躲避功能、LED流水灯和蜂鸣器等等。
2 系统模块功能软件设计
本文采用CCSv6.0开发环境,能完成系统的软件?_发,提供一整套的程序编制、维护、编译和调试环境。因为具备简洁的用户界面,高级代码编辑器和GUI框架,是一款非常好用且受欢迎的开发工具。
2.1 传统贪吃蛇的功能软件设计
(1)蛇体移动。定义存储蛇身的结构数组snake[100],包括节点x、y坐标。移动过程中删除尾节点,依次把snake[100]中的每个节点向前一节点移动,然后在当前方向的蛇头位置前添加节点,即实现移动。(2)检测蛇体吃到食物。蛇头与食物未碰撞,则只需要执行移动操作;碰撞,则表示吃到食物,在蛇头的前方添加一个节点,使蛇体长度增长。(3)在随机位置产生新的食物。利用伪随机数种子产生新的食物位置,每次在蛇体吃到食物后刷新食物位置。(4)障碍物或边界与蛇头发生碰撞,结束游戏。
2.2 改进贪吃蛇的功能软件设计
游戏暂停功能。当按下“6”键时,若游戏已经开始且蛇体在移动,则使当前按键为无效按键,使游戏暂停;若要使蛇体继续移动,使当前按键为当前方向。
米字管显示当前获得食物数量。先设置米字管管选信号,依次对四个米字管选择相应码段,即低八位、高八位的数字信号。
波动滚轮实时控制蛇体的速度。利用ADC模块可以实时控制贪吃蛇的速度,先采样通道PD7的模拟量,转换后的数字量是0-4096,则蛇体速度V=timeDelay-■,调整延迟函数则改变蛇体速度。
3 系统测试及结果
经过CCSv6.0环境编译、链接和下载,实验结果如图1所示:
实验表明,本文算法在TM4C1294开发板上测试正确,人机交互能力强,对游戏开发有指导意义。
4 结束语
本文针
您可能关注的文档
最近下载
- 2.3 黑龙江省基本概况与主要文旅资源《地方导游基础知识》(第四版)PPT.pptx VIP
- 心理健康状况自评量表(SCL-90).doc VIP
- 质量保证记录控制程序.doc VIP
- DPD原理及实现全解.ppt
- 不符合情况纠正措施.docx VIP
- 11 延安颂(教学设计) 赣美版美术四年级下册.docx VIP
- 第三方电子商务平台的营销策略分析.pdf VIP
- 10kV真空断路器常见故障及处理.doc VIP
- 05SFG04防空地下室室外出入口部钢结构装配式防倒塌棚架结构设计.docx VIP
- 2025高考数学专项讲义第08讲二项分布、超几何分布及正态分布(学生版+解析).docx VIP
原创力文档


文档评论(0)