基于ARMCortex―M4改进贪吃蛇游戏设计及开发.docVIP

基于ARMCortex―M4改进贪吃蛇游戏设计及开发.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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 结束语   本文针

文档评论(0)

fangsheke66 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档