小游戏系列算法之二贪吃蛇算法原理
来源:互联网 发布:mac远程连接云服务器 编辑:程序博客网 时间:2024/05/16 12:55
贪吃蛇是很常见的小游戏,大家都懂的就不介绍了。
游戏算法非常简单。先看图:
显然这是一个贪吃蛇,红色是蛇蓝色是食物(= =)
我们先来看看蛇的构造
可以看到,蛇其实是由1个1个正方体拼成的。每个正方体的左上角
是他们的坐标。在程序中,我们可以用一个数组表示一条蛇。数组
的每一个位置存放一个正方形的坐标
如:
snakeArr = [(10,0),(20,0),(30,0),(40,0)];
在画蛇的时候,我们只需要遍历数组,根据数组里面的坐标在画布
上画出一个一个的正方体就变成一条蛇啦。
至于蛇的行走怎么办?如下一步,蛇往上走了。
怎么样,有思路了吗?若下一步往上走,则下一个点为数组首点的横坐标不标,纵坐标+10
nextPoint = new Point(snakeArr[0].x,snakeArr[0].y+10);
接着,我们在数组的头部插入nextPoint,然后把数组尾部的数据去除。数组变成这个样子:
snakeArr = [(10,10),((10,0),(20,0),(30,0)];
是不是和数据结构里面的“队”很类似?。头位置作插入,队尾作删除。
接下里我们只要把画布清空,然后再根据蛇数组画出蛇就实现了蛇的移动啦。
关于是否吃到食物的判断也很简单,判断一下nextPoint和食物的坐标是否一样就可以了。
注意食物的生成位置就好。一般来说横坐标是随机 (画布的宽/正方形长度),然后把得到的随机数*正方形长度。 纵坐标不用我说了吧。
越界什么的,还有是否碰到自己身体什么的,我也不说了,就是简单的判断而已。
完了。
显然这是一个贪吃蛇,红色是蛇蓝色是食物(= =)
我们先来看看蛇的构造
- 小游戏系列算法之二贪吃蛇算法原理
- 小游戏系列算法之三连连看算法及原理
- 智能寻路贪吃蛇系列之 贪吃蛇AI算法的优化
- 【游戏算法之贪吃蛇】我想的贪吃蛇算法
- MFC 小游戏之贪吃蛇
- 控制台小游戏之贪吃蛇
- c++小游戏之贪吃蛇
- C++小游戏之贪吃蛇
- 贪吃蛇系列开篇----设计智能贪吃蛇小游戏
- 智能寻路贪吃蛇系列之 初级BFS寻路算法
- 贪吃蛇算法分析
- cocosx2d_x 贪吃蛇算法
- 贪吃蛇游戏算法
- C语言 小游戏之贪吃蛇
- android开发小游戏之贪吃蛇
- 课程设计之贪吃蛇小游戏制造
- C#游戏编程:《控制台小游戏系列》之《六、贪吃蛇实例》
- JS写怀旧小游戏系列(四)贪吃蛇
- Hadoop学习总结Map-Reduce的过程解析
- 通过Windows API来了解多字节与宽字符
- 设计模式(十二)----- 代理模式(Proxy)----(JAVA版)
- 启动JBoss出现“java.lang.RuntimeException: java.lang.reflect.InvocationTargetException”解决
- Android eclipse中程序调试
- 小游戏系列算法之二贪吃蛇算法原理
- spring @Transactional相关说明
- Windows下OpenGL轻松加载BMP, GIF, JPEG, PNG, and TIFF图片
- Android SurfaceView Double Buffer
- 【Struts2】Annotation使用小记
- microblogs
- Android中如何查看内存
- Android google map apiv2的最新申请密钥方式
- 启动JBoss出现“Unable to load configuration struts-default.xml”异常解决