![完整版C语言贪吃蛇设计思路和代码详解_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-11/11/9a49e468-b48e-4cb9-a87a-2361f3ca66cd/9a49e468-b48e-4cb9-a87a-2361f3ca66cd1.gif)
![完整版C语言贪吃蛇设计思路和代码详解_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-11/11/9a49e468-b48e-4cb9-a87a-2361f3ca66cd/9a49e468-b48e-4cb9-a87a-2361f3ca66cd2.gif)
![完整版C语言贪吃蛇设计思路和代码详解_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-11/11/9a49e468-b48e-4cb9-a87a-2361f3ca66cd/9a49e468-b48e-4cb9-a87a-2361f3ca66cd3.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、到了本章,你已经学完了大部分c语言的基础知识,详细讲解贪吃蛇代码的条件就具备了。本教程教你编写的贪吃蛇不依赖tc环境,不依赖任何第三方库,可以在vc 6.0、vs等常见ide中编译通过,请看下图:更多效果图请查看:游戏初始化、游戏进行中、游戏结束。请大家先把贪吃蛇的源码下载下来浏览一下,我们再具体分析,这样将会有更好的效果。贪吃蛇源代码下载: 提取密码:81qm贪吃蛇设计思路上图中的红色空心方框()表示边框,是贪吃蛇的边界,贪吃蛇不能碰到它,否则就“死掉”,游戏结束。绿色实心方框()表示贪吃蛇的活动范围,贪吃蛇可以自由移动,食物(苹果)也会随机出现在这个区域。我们不妨将贪吃蛇的活动范围称为“贪
2、吃蛇地图”,而加上边框就称为“全局地图”。我们需要记录地图中每一个节点的信息,包括:位置:也就是第几行几列;类型:这个节点出现的是贪吃蛇、食物、边框,还是什么都没有(绿色的背景)。索引:也就是数组下标,稍后会说明是什么意思。所以需要定义一个结构体二维数组:structchar type;int index;globalmapmaxwidthmaxheight;用一维下标和二维下标表示位置;用 type 表示类型,不同的类型用不同的数字代表;用 index 表示索引。直观上讲,应该将 type 定义为int类型,不过int占用四个字节,而节点类型的取值范围非常有限,一个字节就足够了,所以为了节省
3、内存才定义为char类型。同时,再建立一个足够大的一维数组,让贪吃蛇在数组内活动:structint x;int y; snakemap (maxwidth-2)*(maxheight-2) x、y 表示行和列,也就是 globalmap 数组的两个下标。globalmap 数组中的索引 index 就是 snakemap 数组的下标。globalmap 表示了所有节点的信息,而 snakemap 只表示了贪吃蛇的活动区域。通过 snakemap 可以定位 globalmap 中的元素,反过来通过 globalmap 也可以找到 snakemap 中的元素。请看下图:图1:globalmap 和 snakemap 的初始对应关系贪吃蛇向左移动时,headerindex 指向 404,tailindex指向 406。为什么设计的这么晦涩和复杂呢?因为这样设计有以下几个好处:贪吃蛇移动时不用处理所有节点,只要添加蛇头、删除蛇尾、重建 globalmap 和 snakemap 的对应关系就可以;随机生成食物一次就可以成功,不用担心食物会占用边框或贪吃蛇的位置;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030全球颜料和染料喷墨标签打印机行业调研及趋势分析报告
- 2025年全球及中国跑道人造草坪行业头部企业市场占有率及排名调研报告
- 2025-2030全球汽车内饰材料燃烧试验机行业调研及趋势分析报告
- 2025-2030全球大型球轴承(外径尺寸在200mm以上)行业调研及趋势分析报告
- 2025-2030全球住宅用窗户防虫网行业调研及趋势分析报告
- 2025年全球及中国商用储水式电热水器行业头部企业市场占有率及排名调研报告
- 2025-2030全球汽车空调风门执行器行业调研及趋势分析报告
- 2025年全球及中国半导体高压电源行业头部企业市场占有率及排名调研报告
- 幼儿绘本讲述与演绎幼儿绘本的选择讲解
- 2025农村房屋赠与合同书
- 煤矿机电运输培训课件
- 音乐思政课特色课程设计
- 初中数学思维能力的培养课件
- Link 16协议开发和关键技术研究的开题报告
- 红色喜庆公司年会客户答谢模板
- 铁未来商业模拟挑战赛规则与流程
- 防止电力生产事故的-二十五项重点要求2023版
- 氯诺昔康针剂在围术期镇痛与其它市场应用(代表培训完整版)
- 经历是流经裙边的水
- 三年级下册口算天天100题(A4打印版)
- 《同位角、内错角、同旁内角》教学课件2
评论
0/150
提交评论