Comida
Lição 5 de 14 do curso Jogo 3D da Cobrinha na Unity da Coddy.
A comida fica em uma célula aleatória. As células são números inteiros, então escolha x e z com a versão de int de Random.Range. Com números inteiros, o máximo é excluído: Random.Range(1, 7) lança um dado, de 1 a 6. Para incluir um número, peça um a mais que ele. Com números de ponto flutuante, ele retorna números como 3.62, não o meio de uma célula.
Em um tabuleiro com lado 4, as colunas vão de -4 a 4:
int x = Random.Range(-4, 5); // de -4 a 4O tabuleiro comporta uma comida por vez, então o jogo a cria uma vez, em Start(), e a move sempre que precisa de um novo lugar. GameManager lê o tamanho do tabuleiro a partir de edge da cobra, por meio do campo snake.
Desafio
MédioColoque a comida em uma célula aleatória do tabuleiro.
- Em
GameManager, adicionepublic Snake snake;,public GameObject foodPrefab;eprivate Transform food;(a cena conecta os dois primeiros). - Em
Start(), usefood = Instantiate(foodPrefab).transform;e, em seguida, chameMoveFood(). void MoveFood(): coloque a comida em um x e z aleatórios, cada um entre-snake.edgeesnake.edge, com y igual a 0.
Pressione “Jogar”: uma esfera vermelha fica em uma célula, em um lugar diferente a cada vez. Depois, pressione “Verificar”.
Experimente você mesmo
using UnityEngine;
public class GameManager : MonoBehaviour
{
// Gerencia o jogo: a comida, a pontuação e o fim de jogo. O capítulo 2 completa esta classe.
}
Todas as lições de Jogo 3D da Cobrinha na Unity
Pratique por conta própria: Playground de Unity