Cibo
Lezione 5 di 14 del corso Gioco Unity: Snake 3D di Coddy.
Il cibo si trova su una cella casuale. Le celle sono numeri interi, quindi scegli x e z con la versione per interi di Random.Range. Con gli interi il valore massimo è escluso: Random.Range(1, 7) simula il lancio di un dado, da 1 a 6. Per includere un numero, chiedine uno più grande. Con i numeri in virgola mobile restituisce valori come 3.62, non il centro di una cella.
Su una tavola con lato 4, le colonne vanno da -4 a 4:
int x = Random.Range(-4, 5); // da -4 a 4La tavola contiene un solo cibo alla volta, quindi il gioco lo crea una volta in Start() e lo sposta ogni volta che serve un nuovo posto. GameManager legge le dimensioni della tavola da edge del serpente tramite il suo campo snake.
Sfida
MedioPosiziona il cibo su una cella casuale della scacchiera.
- In
GameManager, aggiungipublic Snake snake;,public GameObject foodPrefab;eprivate Transform food;(la scena collega i primi due). - In
Start(), scrivifood = Instantiate(foodPrefab).transform;, poi chiamaMoveFood(). void MoveFood(): posiziona il cibo su coordinate x e z casuali, ciascuna da-snake.edgeasnake.edge, con y pari a 0.
Premi «Gioca»: una sfera rossa si trova su una cella, in una posizione diversa ogni volta. Poi premi «Verifica».
Provalo tu
using UnityEngine;
public class GameManager : MonoBehaviour
{
// Gestisce il gioco: il cibo, il punteggio e la fine della partita. Il capitolo 2 ne completa l'implementazione.
}
Tutte le lezioni di Gioco Unity: Snake 3D
Esercitati da solo: Playground Unity