乙個極其簡陋的貪吃蛇,就不從新建專案一一贅述了,將完全:
1、首先說一下設想:
背景框,四邊圍牆,碰撞死亡,
初始狀態,乙個蛇頭乙個蛇身,wsad控制上下左右,
隨機出現食物,蛇頭吃掉食物後,增長,食物的隨機生成要避開蛇頭蛇身
2、移動
協程控制,蛇身用列表儲存,每次蛇頭向前移動一格,第一節蛇身移動到蛇頭位置,後面一次移動到上一節蛇身位置(此處要倒序移動,就是最後一節(蛇尾)先動)。
private ienumerator move()
bodys[0].transform.position = head.position;
head.translate(direction * sizegride);
isrotating = false;
yield return new waitforseconds(1f/ speed);
startcoroutine(move());
}
3、轉向
改變下一次蛇頭移動的方向,只能轉90度,此處要注意,不可直接進行兩次轉向,所以以乙個bool值限定了一下。
private void rotate()
else if (input.getkeydown(keycode.s) && direction.x != 0)
else if (input.getkeydown(keycode.a) && direction.y != 0)
else if (input.getkeydown(keycode.d) && direction.y != 0)
}
private void setdirection(vector3 dir)
4、食物生成
採用座標地圖,生成食物時,避免生成在蛇身上
/// /// 生成食物
///
public void newfood()
listpointscannewfood = points.except(pointssnake).tolist();
system.random rd = new system.random();
int index = rd.next(pointscannewfood.count);
food.position = pointscannewfood[index];
}
5、蛇身生長
/// /// 蛇生長
///
public void addbody()
目前死亡判斷還有問題。 貪吃蛇小遊戲
1 doctype html 2 html 3 head 4 title snake title 5head 6 body style text align center margih 100px background color aaaaaa 7 canvas id canv width 400 ...
C 貪吃蛇小遊戲
自學了幾天c 嘗試寫了乙個貪吃蛇小遊戲,比較詳細地做了注釋,實現 1 貪吃蛇基本功能 2 長按加速 3 計分板 xaml 及介面 namespace 貪吃蛇 新食物生成 public void newfoodgenerate 計時器每乙個計時週期內的時間處理程式 void timer tick ob...
貪吃蛇小遊戲實現
index.html style.css mapindex.js tools.js 自呼叫函式傳入window的目的,是讓變數可以被壓縮 防止undefined重新命名,也可以被壓縮 function window,undefined 暴露tools給window window.tools tool...