- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 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 无效方向 
在蛇的这一次移动之后和下一次移动之前这个时间间隔内输入了多个非相反方 
向,只有最后一个是有效方向,其他的都是无效方向。 
蛇的最终运动方向以有效方向为准。 
吃到食物判定 
这里通过判定坐标是否重合来判断,只需要判断蛇头是否和食物重合就可以了, 
因为蛇的身体都是走蛇头走过的地方。 
                您可能关注的文档
- 税收规范性文件对税收上位法的扩充和限制解释现象探讨_曾昭君.pdf
 - 税收事先裁定制度的理论基础与本土构建_朱大旗.pdf
 - 我国税法行政解释制度之反思_伍劲松.pdf
 - 刑法解释方法位阶性的质疑_周光权.pdf
 - 刑法解释基本立场之检视_董邦俊.pdf
 - A股私募基金绩效评价方法选择比较研究_刘建和.pdf
 - 公募基金与阳光私募基金总体业绩评价_赵骄.pdf
 - 管理期货私募基金表现优异_王梦丽.pdf
 - 基金经理人特征与基金业绩_基于阳光私募基金的实证分析_陈明明.pdf
 - 基于随机森林的基金评级模型选择_王志红.pdf
 
- 吴鉴鹰单片机项目实战精讲之基于单片机驱动12864的正弦波的显示.pdf
 - 吴鉴鹰单片机项目实战精讲之基于单片机数字时钟.pdf
 - 吴鉴鹰单片机项目实战精讲之基于单片机微机键盘的运用.pdf
 - 吴鉴鹰单片机项目实战精讲之基于单片机摇摇棒设计.pdf
 - 吴鉴鹰单片机项目实战精讲之美女图片的显示.pdf
 - 吴鉴鹰单片机项目实战精讲之如何看懂时序图.pdf
 - 吴鉴鹰单片机项目实战精讲之如何提高单片机的抗干扰能力.pdf
 - 吴鉴鹰单片机项目详细解析系列连载之基于单片机的便携燃气报警器设计.pdf
 - 基于Zigbee、Wifi、3G物联网地质灾害监测预警的传感器网络系统方案.pdf
 - 关节式机械臂的运动分析_钟蜀晖.pdf
 
最近下载
- 人教版(2024年新版)七年级上册数学全册教学设计.docx
 - 人教版小学六年级下册数学单元达标测试卷含答案(全册) .pdf VIP
 - 大学英语语法完整版.pdf VIP
 - (正式版)DB15∕T 3652-2024 《沙化土地综合治理技术规程》.docx VIP
 - 入党积极分子考察表(模版)[参照].pdf VIP
 - 2025至2030中国PE保护膜行业运营态势与投资前景调查研究报告.docx VIP
 - 食品营养与健康(第二版)全套PPT课件.pptx
 - 20210112-联合资信-2021年房地产行业信用风险展望:供需平稳降速,行业偿债高峰,房企分化加剧.pdf VIP
 - 湘教版七年级地理上册知识点.pdf VIP
 - 专利申请撰写技巧与注意事项.pptx VIP
 
原创力文档
                        

文档评论(0)