贪吃蛇方案

这里只给点思路。没有完整的做出效果来

创建头 Head(一个立方体)绑定senk.cs脚本

senk.cs代码

 1 using UnityEngine;
 2 using System.Collections;
 3
 4
 5 //蛇头移动代码
 6 public class senk : MonoBehaviour
 7 {
 8
 9     float timeer;
10     float timeOff;
11
12
13     public BodyFolloyw next;
14
15
16     Vector3 originPositon; //蛇头移动前的位置
17
18     public GameObject Prefab;
19
20
21     BodyFolloyw tail;
22
23     // Use this for initialization
24     void Start()
25     {
26         timeer = 0;
27         timeOff = 1;
28     }
29
30     // Update is called once per frame
31     void Update()
32     {
33         Move();
34         Turn();
35         AddTail();
36
37
38     }
39
40     /// <summary>
41     /// 移动
42     /// </summary>
43     void Move()
44     {
45         timeer += Time.deltaTime;
46         if (timeer > timeOff)
47         {
48             originPositon = transform.position;
49             transform.Translate(Vector3.forward);
50             timeer = 0;
51
52             if (next)
53             {
54                 next.Follow(originPositon);
55             }
56         }
57
58     }
59
60     /// <summary>
61     /// 拐弯
62     /// </summary>
63     void Turn()
64     {
65         if (Input.GetKeyDown(KeyCode.A))
66         {
67             transform.Rotate(Vector3.up * -90);
68         }
69         if (Input.GetKeyDown(KeyCode.D))
70         {
71             transform.Rotate(Vector3.up * 90);
72         }
73     }
74     BodyFolloyw body;
75     void AddTail()
76     {
77         if (Input.GetMouseButtonDown(0))
78         {
79             body = ((GameObject)Instantiate(Prefab, Vector3.one * 999, Quaternion.identity)).GetComponent<BodyFolloyw>();
80
81             if (!next) //第一个身体产生的时候
82             {
83                 next = body;
84                 tail = next;
85             }
86             else
87             {
88                 tail.next = body;
89                 tail = tail.next;
90             }
91         }
92     }
93 }

创建一个预设体body1,赋值给senk.cs脚步中的public GameObject Prefab;作为蛇的身体

然后body1预设体绑定脚本BodyFolloyw.cs

BodyFolloyw.cs代码

 1 using UnityEngine;
 2 using System.Collections;
 3
 4
 5 //蛇的其他部位移动
 6 public class BodyFolloyw : MonoBehaviour
 7 {
 8
 9     // Use this for initialization
10     void Start()
11     {
12
13     }
14
15     // Update is called once per frame
16     void Update()
17     {
18
19     }
20
21     public BodyFolloyw next;
22
23     Vector3 originposition;
24
25     public void Follow(Vector3 position)
26     {
27         originposition = transform.position;
28
29         transform.position = position;
30
31         if (next)
32         {
33             next.Follow(originposition);
34         }
35     }
36 }

好了。这样就实现了。鼠标左键单击。就会增加一个身体。基本思路这样。有时间在完成一个成品吧。现在太累了。唉!!

时间: 2024-12-28 00:18:35

贪吃蛇方案的相关文章

小项目特供 贪吃蛇游戏(基于C语言)

C语言写贪吃蛇本来是打算去年暑假写的,结果因为ACM集训给耽搁了,因此借寒假的两天功夫写了这个贪吃蛇小项目,顺带把C语言重温了一次. 是发表博客的前一天开始写的,一共写了三个版本,第一天写了第一版,第二天写了第二版和第三版. 相信C语言写个小游戏或小项目是大多数计算机相关专业的学生都做的事情,但是作为一个数学专业的学生,我们教研室的老师对C语言的要求也就比较低了,大一没有让我们做个小项目实践一次.至今为止用C/C++做过的三个小项目(大作业),一个是外校同学让我帮忙写的学生信息管理系统(天呐,这

Linux Curses编程实现贪吃蛇

curses库 简单而言,提供UNIX中多种终端 操作光标和显示字符 的接口.我们常见的vi就是使用curses实现的.现在一般都用ncurses库. Linux下curses函数库    Linux curses库使用      这两篇文章很详细地介绍了curses,在此就不重复了. ubuntu安装curses函数库 >sudo apt-get install ncurses-dev 用curses库,编译程序: gcc program.c -o program -lcurses 2.工作原

用原生Canvas写贪吃蛇及问题解决

为了学习Canvas,写了这个小游戏贪吃蛇供自己和大家学习 Github: https://github.com/zhiyishou/Gsnake Play On: http://zhiyishou.github.io/Gsnake 游戏截图: 前言: 为了方便加载转移,我把整个js都写在了html里,为了方便阅读,将函数结构在html里清晰地分开, 并在代码里有足够注释. 函数结构如下: |----script |----Definations |----Global Snake variab

如何用Python写一个贪吃蛇AI

前言 这两天在网上看到一张让人涨姿势的图片,图片中展示的是贪吃蛇游戏, 估计大部分人都玩过.但如果仅仅是贪吃蛇游戏,那么它就没有什么让人涨姿势的地方了. 问题的关键在于,图片中的贪吃蛇真的很贪吃XD,它把矩形中出现的食物吃了个遍, 然后华丽丽地把整个矩形填满,真心是看得赏心悦目.作为一个CSer, 第一个想到的是,这东西是写程序实现的(因为,一般人干不出这事. 果断是要让程序来干的)第二个想到的是,写程序该如何实现,该用什么算法? 既然开始想了,就开始做.因为Talk is cheap,要sho

MFC贪吃蛇

1多人贪吃蛇项目描述 1.1功能描述 实现多人对战贪吃蛇,具体实现功能:A.可以选择游戏人数,最多设置4人同时游戏:B.显示玩家得到的分数:C.可以设置游戏的速度:D.能实现最高分的记录 1.2所需技术 1.在对话框中创建窗口:2.双缓冲绘图:3.蛇身移动处理:4.碰撞检测:5.Ini文件操作 2多人贪吃蛇运行流程 3多人贪吃蛇详细设计 3.1贪吃蛇个体类设计 把贪吃蛇单独的设为一个类,其中包含成员变量如下 BOOL m_bAliveFlg; //蛇当前存活标志 int m_iDirect; /

pygame写贪吃蛇

python小白尝试写游戏.. 学了点pygame不知道那什么练手好,先拿贪吃蛇开刀吧. 一个游戏可以粗略的分为两个部分: 数据(变量) 处理数据(函数,方法) 设计变量 首先预想下,画面的那些部分需要存储在变量里 整个画面上只会有矩形,而且这些矩形整整齐齐,大小相等,原本一个矩形需要四个变量表示位置,这里,只需要两个变量(行数,列数)就能表示方块的位置 蛇头,食物可以用二元元组表示,蛇身的数量不确定,只能用包含数个元组的列表表示 另外设定窗口大小800x600,每个方块都是50x50 impo

Python制作AI贪吃蛇

前提:本文实现AI贪吃蛇自行对战,加上人机对战,文章末尾附上源代码以及各位大佬的链接,还有一些实现步骤,读者可再次基础上自行添加电脑VS电脑和玩家VS玩家(其实把人机对战写完,这2个都没什么了,思路都一样) 大佬Coco2d制作:http://www.waitingfy.com/html5/snake/ 实现效果: 具体功能: 1.智能模式:电脑自己玩(自己吃食物) 2.人机对战:电脑和人操作(在上步的基础上加一个键盘控制的贪吃蛇即可) 实现环境: Pycharm + Python3.6 + C

贪吃蛇游戏修改

1.基本信息:                   学号:2017*****7240                   姓名:王健新                   我的码云贪吃蛇项目仓库:https://gitee.com/WADAXIWA/retro_snaker/tree/master 更改游戏名称:贪吃蛇.预计10秒 更改游戏分数:10分钟 更改框架部分:20分钟 设计新的配色方案:40分钟 验证你对代码的更改全部生效且未对整个游戏其他功能造成破坏后将代码推送到远程仓库  25分钟

手把手教学h5小游戏 - 贪吃蛇

简单的小游戏制作,代码量只有两三百行.游戏可自行扩展延申. 源码已发布至github,喜欢的点个小星星,源码入口:game-snake 游戏已发布,游戏入口:http://snake.game.yanjd.top 第一步 - 制作想法 游戏如何实现是首要想的,这里我的想法如下: 利用canvas进行绘制地图(格子装). 利用canvas绘制蛇,就是占用地图格子.让蛇移动,即:更新蛇坐标,重新绘制. 创建四个方向按钮,控制蛇接下来的方向. 随机在地图上绘制出果子,蛇移动时"吃"到果子,增