Menu
CoddyTech

Thức ăn

Bài học 5 trên 14 trong khóa học Game Unity: rắn 3D của Coddy.

Thức ăn nằm trên một ô ngẫu nhiên. Tọa độ ô là số nguyên, nên hãy chọn x và z bằng phiên bản int của Random.Range. Với số nguyên, giá trị tối đa không được tính: Random.Range(1, 7) sẽ cho kết quả như khi gieo xúc xắc, từ 1 đến 6. Để tính cả một số, hãy yêu cầu giá trị lớn hơn số đó 1 đơn vị. Với số thực, hàm trả về các số như 3.62, không phải phần giữa của một ô.

Trên bàn chơi có cạnh dài 4, các cột chạy từ -4 đến 4:

int x = Random.Range(-4, 5);   // từ -4 đến 4

Mỗi lần chỉ có một thức ăn trên bàn chơi, vì vậy trò chơi tạo thức ăn một lần trong Start() và di chuyển nó mỗi khi cần một vị trí mới. GameManager đọc kích thước bàn chơi từ edge của con rắn thông qua trường snake.

challenge icon

Thử thách

Trung bình

Đặt thức ăn vào một ô ngẫu nhiên trên bảng.

  1. Trong GameManager, thêm public Snake snake;, public GameObject foodPrefab; và private Transform food; (cảnh sẽ liên kết hai biến đầu tiên).
  2. Trong Start(), viết food = Instantiate(foodPrefab).transform;, sau đó gọi MoveFood().
  3. void MoveFood(): đặt thức ăn tại tọa độ x và z ngẫu nhiên, mỗi tọa độ nằm trong khoảng từ -snake.edge đến snake.edge, y bằng 0.

Nhấn Chơi: một hình cầu màu đỏ nằm trên một ô, ở vị trí mới mỗi lần. Sau đó nhấn Kiểm tra.

Tự làm thử

using UnityEngine;

public class GameManager : MonoBehaviour
{
    // Điều khiển trò chơi: thức ăn, điểm số và kết thúc trò chơi. Chương 2 sẽ bổ sung phần này.
}

Tất cả bài học trong Game Unity: rắn 3D

Tự luyện tập: Playground Unity