Menu
CoddyTech

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 4

O 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.

challenge icon

Desafio

Médio

Coloque a comida em uma célula aleatória do tabuleiro.

  1. Em GameManager, adicione public Snake snake;, public GameObject foodPrefab; e private Transform food; (a cena conecta os dois primeiros).
  2. Em Start(), use food = Instantiate(foodPrefab).transform; e, em seguida, chame MoveFood().
  3. void MoveFood(): coloque a comida em um x e z aleatórios, cada um entre -snake.edge e snake.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