贪吃蛇 游戏是一款经典的手机游戏,既简单又耐玩。通过控制蛇头方向吃蛋,使得蛇变长,从而获取积分。

代码下载

蛇头的实现:

制作一个红色cube立方体,控制着蛇的运动方向,以及遇到食物吃掉食物的功能。
在Update()里 WSAD及方向键控制着蛇头的运动方向。且在蛇头向上运动的时候不能向下运动,蛇在向左运动时候不能向右运动。
void Update () {if (Input.GetKey(KeyCode.W)||Input.GetKey("up")&&direction!= Vector2.down){direction = Vector2.up;}if (Input.GetKey(KeyCode.S) || Input.GetKey("down") && direction != Vector2.up){direction = Vector2.down;}if (Input.GetKey(KeyCode.A) || Input.GetKey("left") && direction != Vector2.right){direction = Vector2.left;}if (Input.GetKey(KeyCode.D) || Input.GetKey("right") && direction != Vector2.left){direction = Vector2.right;}}
蛇在碰撞上食物后,身体会增长一节。遇到食物的时候,会先毁灭掉食物,再增加自己身体的长度。这个时候设置的碰撞位flag就会变为true,身体长度会增加。但是,在碰到自己的时候,以及在遇到墙壁的时候都会死亡,这个时候就会导入进开始时候的场景。
void OnTriggerEnter(Collider other){if (other.gameObject.CompareTag("Food")){//Debug.Log("撞上了!");Destroy(other.gameObject);flag = true;}else{//SceneManager.LoadScene(0)Application.LoadLevel(1);}}

身体的部分:

身体每次增长的算法便是贪吃蛇的难点,网上很多算法是利用list链表来实现的,用链表的节点表示蛇 增加的减少都有很方便 移动的时候只须增加一个头节点,并去掉尾节点就行了, 吃食物是只须增加一个头节点 。
这种算法绝对的巧妙,但是网上太多的缘故,下面由链表来实现另一种贪吃蛇算法。蛇头保持不动,身体的最后一个移到最前,之后在慢慢向后移动。
其中下面的蓝色方块(身体部分的一个设定)一步一步运动,便可以看出来这个效果。
下面贴出蛇身体部分的代码。如果食物被吃,标志位flag为true,这个是在蛇身体上插入一个预制体的Cube,蛇身体会边长。当没有吃到食物的时候,这个时候就会看身体的数量,当数量大于0的时候,会把最后的一个放到最前面,依次循环,直到最后。
void Move(){Vector3 VPosition = transform.position;transform.Translate(direction);if (flag){GameObject bodyPrefab = (GameObject)Instantiate(gameObjecgtBody, VPosition, Quaternion.identity);Body.Insert(0, bodyPrefab.transform);flag = false;}else if (Body.Count > 0){Body.Last().position = VPosition;Body.Insert(0, Body.Last());Body.RemoveAt(Body.Count - 1);}}

食物的出现:

食物的出现是一个随机的过程,在这个时候,在随机的位置出现食物InvokeRepeating("ShowFood", 1, 4);表示四秒的时候会调用ShowFood()函数,这个时候在ShowFood里会随机出现食物。
下面是ShowFood()函数的代码
  void ShowFood(){int x = Random.Range(-30, 30);int y = Random.Range(-22, 22);Instantiate(SSFood, new Vector2(x,y), Quaternion.identity);}
特别注意一下就是,在制作蛇头和身体的时候,设置碰撞体的东西如果把碰撞体的体积设为单位1的话,在蛇身体的侧面也会撞到食物,触发碰撞器的。所以设置碰撞体的体积为0.8,略小于1的。
代码下载

Unity实现简单贪吃蛇相关推荐

  1. unity贪吃蛇c 语言代码,unity实现简单贪吃蛇游戏

    本文实例为大家共享了unity实现贪吃蛇游戏的详细代码,供大家参考,详细内容如下 首先创建一个头部,编写脚本利用WASD控制头部的移动. Vector3 up=new Vector3(0,1,0); ...

  2. 基于C语言Ncurse库和链表的简单贪吃蛇小游戏

    参考:基于C语言Ncurse库和链表的简单贪吃蛇小游戏 作者:三速何时sub20 发布时间:2020-09-29 10:23:51 网址:https://blog.csdn.net/weixin_44 ...

  3. html与js简单小游戏,JS实现简单贪吃蛇小游戏

    本文实例为大家分享了JS实现简单贪吃蛇游戏的具体代码,供大家参考,具体内容如下 1.使用语言 HTML+CSS+JavaScript 2.使用工具 visual studio code 3.GitHu ...

  4. unity期末作业-贪吃蛇 游戏有菜单界面有背景音乐

    unity期末作业-贪吃蛇 游戏有菜单界面有背景音乐 游戏如下动态图: 点我下载 https://download.csdn.net/download/weixin_43474701/75853708

  5. 简单贪吃蛇c语言代码,一个C语言写简单贪吃蛇源代码.doc

    一个C语言写简单贪吃蛇源代码 #include #include #include #include #include #include int grade=5,point=0,life=3; voi ...

  6. 完整版! 大一新手C语言数据结构实现简单贪吃蛇游戏

    大一新手C语言数据结构实现简单贪吃蛇游戏含源代码 贪吃蛇 1.前言简述 2.编写语言及工具 3.游戏的头文件代码(.h) 3.1map.h 3.2snake.h 3.3Food.h 4.游戏的源文件代 ...

  7. php 实现贪吃蛇游戏,C++实现简单贪吃蛇游戏

    我大概在一个多月前把自己上学期写的c代码的贪吃蛇游戏push到csdn上,并且说c风格的贪吃蛇写起来有些麻烦(贪吃蛇游戏的c语言实现),准备用面向对象的c++再写一遍.现在我们专业恰好刚教完了c++, ...

  8. java 简单贪吃蛇

    说了是简单版贪吃蛇... 就3个类+方向枚举变量(本来想写贪吃蛇斜着走的..想象我的蛇是矩形 斜着难看就没写) 上下左右键控制移动 空格暂停 SnackClient类 package com.xynu ...

  9. python成长记:写一个自己的超简单贪吃蛇游戏

    本人系python小白,这是我的第一篇博客,一路摸爬滚打,终于入了门.花了两天琢磨,写了这个超简单的容易理解的贪吃蛇游戏,给大家分享自己的理解吧. 简介: 1,老方法用pygame库来画背景,蛇,食物 ...

最新文章

  1. jsp内置对象application
  2. Hadoop核心机制详细解析
  3. 神经网络与机器学习 笔记—基本知识点(下)
  4. 2016年6月TIOBE编程语言排行榜:涨幅最大的名字很长
  5. np.random.rand()用法
  6. 继承类 基类的赋值_Chapter10:继承与派生(四)
  7. eigrp 扩散算法_EIGRP扩散更新算法-FC规则
  8. jdk下载安装并配置环境
  9. [51nod]1284 2 3 5 7的倍数
  10. 【风电功率预测】基于matlab遗传算法优化BP神经网络风电功率预测【含Matlab源码 760期】
  11. linux编译n2n v2,重新编译N2N
  12. 夏商周秦西东汉 三国两晋南北朝 隋唐五代和十国 辽宋夏金元明清
  13. 服务器按f11才能进系统,电脑每次开机都需要按f11进入选择开启项才能开启系统,...
  14. 企业要怎样做才能避免进入直播带货误区?
  15. 小米10至尊纪念版和华为mate40的区别 哪个好
  16. 【超级炫酷的旋转特效——html实现(附源代码)】
  17. 耦合式无线充电系统设计记录_3
  18. NKOI 1349 工作安排
  19. 【汇正财经】沪深创缩量调整
  20. 首个高温红色预警来了,气象预警你了解多少?

热门文章

  1. scp 远程拷贝文件
  2. VisualSVN的使用
  3. MySQL Overview
  4. Ubuntu20 uuv_simulator 安装
  5. 百度AI人脸识别怎么实现,图片识别,文字识别,活体检测
  6. 【前端开发】Vue + Fabric.js + Element-plus 实现简易的H5可视化图片编辑器
  7. 一次由图片引起的致命崩溃问题
  8. 二元决策图(Binary Decision Diagrams - BDD) (一)
  9. XXE漏洞详解与利用
  10. 样本总体方差有偏估计和无偏估计的理解