吴鉴鹰单片机项目实战精讲之基于12864贪食蛇设计思路.pdfVIP

吴鉴鹰单片机项目实战精讲之基于12864贪食蛇设计思路.pdf

  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文档。上传文档
查看更多
吴鉴鹰单片机项目实战精讲之基于12864的贪吃蛇游戏的设计思路 向大家介绍贪吃蛇的设计思路,设计方法以及程序的编写,向大家详细介绍贪吃 蛇的设计思路,让大家对如此神秘的贪吃蛇有深入的认识! 这是鹰哥大学的时候做的贪吃蛇游戏(图片1) 贪吃蛇介绍:鹰哥首先来给大家介绍一下贪吃蛇,贪吃蛇是世界知名的益智类 小游戏,鹰哥选择这个项目的原因是为了将我们自己的所学知识加以运用;另一 方面,虽然我们很小就接触这个游戏,那时候用设计玩,觉得很有意思,但是它 的制作方法对我们而言还是很神秘的。鹰哥希望通过自己的所学知识把它剖析开 来,通过自己的动手实践,真正的了解它的本质和精髓。 这是鹰哥大学的时候做的贪吃蛇游戏(图片2) 希望通过这次实践,大家能从中提高自己的编程能力。并从中学会从零开始分析 设计程序。 在以下一些列的章节中,会详细介绍贪吃蛇设计的每一个环节,对于大家如果有 更好的方法或者建议,吴鉴鹰欢迎大家提供! 游戏整体流程:这个游戏流程图描述了整个游戏的总体运行过程。在开始游戏后 对蛇与食物重绘,以及屏幕上的相关信息绘制。当蛇碰到石头或是咬到自己,就 捕捉异常,游戏就结束。 游戏规则:游戏中玩家可以通过键盘控制游戏中的贪吃蛇的运动,当蛇头碰到系 统产生的食物时加长蛇身。当蛇碰到石头或者自己的身体时,游戏结束。游戏玩 家还可以通过鼠标来控制蛇的移动。 游戏规则: 1、玩家通过键盘控制蛇在游戏区中运动; 2、当蛇头碰到食物时,得分增加,蛇身增长一个单位; 3、当蛇头碰到蛇身或者石头,游戏结束; 要求实现以下功能: 玩家可以通过按键来控制贪吃蛇吃食物,游戏过程中还配有音效渲染气氛。 游戏设计思路:贪吃蛇游戏是一款非常经典的游戏,已经有很多版本的贪吃蛇游 戏,游戏的玩法各版本大体相同。以下是本课题的贪吃蛇游戏设计的一些简单的 说明: 1、 先设置一个主控面板; 2、 依次向面板中添加蛇,食物,石头; 3、 设法引导贪吃蛇吞掉食物以使它变得更长; 4、 添加监听程序,通过方向键来改变蛇的运动方向; 5、 添加监听程序,通过按键来改变蛇的运动方向; 6、蛇不能吃到石头或是自己的身体,如果吃到石头或者自己的身体,游戏结束; 7、 蛇吃食物或者死掉的时候都有特定的音效产生,我们这里由于没有蜂鸣器, 所以这个程序没加,感兴趣的读者可以自己加上去试试! 算法中的基本概念: 节:一条蛇可以看成由许多圆拼凑成,把它称作节。节是贪吃蛇身上最小的单位。 坐标系:坐标以左上角那点为(0,0),向右则x 递增,向下则y 递增。 链表:用来保存每一节的状态,链表的第一个元素表示蛇的头部结点。 蛇、石头、食物的表示: 我们可以把显示区域想象成一个大大的表格,里面的格子就是组成蛇的基本单 位,一个格子可以代表一个食物,也可以代表一个石头,几块连在一起的石头就 可以代表一条蛇。使用坐标来区分这些格子。 这里我们用一个集合来存储这些坐标,并且要求能够区分出蛇头和蛇尾。 蛇的移动: 蛇向前移动一步,可以看作是蛇头前面增加了一个节点,蛇的尾巴上少了一个节 点(即去尾,加头) 存储蛇身的数据结构 由于要区分蛇头和蛇尾,我们必须用一个有顺序的数组表示,另一方面,我们需 要经常的访问第一个和最后一个节点。 蛇的移动方向 这里讨论蛇的移动方向控制。 蛇下一步移动到哪里,是由方向来控制的。 这里我们用int型常量来表示蛇的移动方向。 因为我们是根据原蛇头的坐标和方向来确定新蛇头的坐标。在原坐标的基础上, 根据蛇头的运动方向来确定新蛇头的坐标,比如向上移动就是y-1. 如何显示蛇身 显示蛇身,其实就是填充用颜色填充格子。 4 x y 需要 个参数,像素坐标 ,像素坐标 ,格子宽度,格子高度。 像素坐标就是矩形左上角的坐标 蛇身的移动方向 1 相反方向 和上一次移动的方向相反的方向称为相反方向,这种输入应该忽略。这样可以防 止蛇从自己的身体中穿过。 2 无效方向 在蛇的这一次移动之后和下一次移动之前这个时间间隔内输入了多个非相反方 向,只有最后一个是有效方向,其他的都是无效方向。 蛇的最终运动方向以有效方向为准。 吃到食物判定 这里通过判定坐标是否重合来判断,只需要判断蛇头是否和食物重合就可以了, 因为蛇的身体都是走蛇头走过的地方。

文档评论(0)

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

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

1亿VIP精品文档

相关文档