网站大量收购独家精品文档,联系QQ:2885784924

基于单片机的贪食蛇设计浅析.doc

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE  PAGE - 38 - 基于单片机的贪食蛇设计 一 题目要求: 使用8051单片机和点阵显示屏实现贪吃蛇的基本功能 二 题目分析: 1,贪吃蛇的基本功能: A,能够蛇形移动 B,能够任意改变方向 C,能够吃到食物并增长 D,撞到四边的墙蛇死 F,吃到自己蛇死 E,放置新的食物 2,拓展部分: A,能够过关 B,在游戏开始和结束都显示一些相关花样 C,过关能显示关数 D,增加串口通信功能 F,增加红外遥控功能 3,贪吃蛇关键算法分析: A,蛇身的形成: 使用20个RAM来存储蛇身X坐标,20个RAM来存储蛇身Y坐标 显示时只须将X坐标输出到行,Y坐标输出列即可 B,蛇的方向: 使用两个存储单元分别来存储代表方向的X坐标和Y坐标 向上: X=0,Y=1 向下: X=0,Y=-1 向左: X=-1,Y=0 向右: X=1,Y=0 C,蛇的移动: 只须将蛇头的X坐标和Y坐标分别与方向的X坐标和Y坐标相加 原来蛇身各节的前一节X从标和Y坐标分别与后一节的X坐标和Y 坐标交换即可 D,吃食物: 只要判断蛇头的X,Y坐标是否与食物的X,Y坐标相同,相同则判断 吃到食物,反之,没吃到食物 F,吃到食物蛇增长一节: 当判断为吃到食物后只须让蛇移动时多交换一次即可实现 G,判断蛇是否撞墙: 只要判断蛇头的X坐标或Y坐标是否等于点阵最外边时的X或Y 坐标 H,判断蛇是否吃到自己: 只须将蛇头X,Y坐标与每一节蛇身的X,Y坐标进行比较如果相等到 则视为吃到自己 I,放置新的食物: 根据游戏者控制蛇吃到食物的时间的不同而产生的坐标,是随机的食物 三 功能描述: 开机即显示 “SNAKE”,当按下KEY5则显示蛇的形状,再按下KEY5 进入游戏,即可开始游戏,此时即可通按下KEY1,KEY2,KEY3,KEY4来控 制上,下,左,右,此时按下KEY5可退出游戏,上述按键也可用红外遥控 来实现.此时吃到食物即可增长一节,撞到边框即蛇死,吃到自己蛇死,死亡则显示”GAMEOVER” ,长到20节即过一关,并显示关数,10过完则重新开始. 四 系统硬件设计: 系统主原理图: 五 系统软件设计: A 流程序图设计 1, 系统主流程图: 2, 按键子程序流程图: 3, 蛇移动子程序流程图: 4, 判断蛇是否死亡子程序流程图: 5, 蛇吃食物子程序流程图: 6, 过关子程序流程图: 7, 蛇显示子程序流程图: 六 程序清单: ;================================================================================================= ;红外遥控--串口--贪吃蛇 ;2008/9/1 ;================================================================================================= ;硬件: P0,P2显示码输出行, P1.0-P1.3接74LS154为点阵列扫描信号 ; P1.4-P1.7为4个独立键盘 ; P3.2 INT0为启停键 ; P3.3 INT1为红外接收 ; P3.0 P3.1为串口 ;================================================================================================= ;字节定义区 ;===============================================================

文档评论(0)

1112111 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档