Menu
CoddyTech

O tabuleiro

Lição 1 de 14 do curso Jogo 3D da Cobrinha na Unity da Coddy.

Neste curso, você cria o Snake em 3D: uma cobra feita de cubos em um tabuleiro de 15 por 15, visto de cima. Ela se move uma célula por vez, vira usando as setas ou WASD, come, cresce e morre ao bater nas paredes ou na própria cauda. Snake controla a cabeça; GameManager fica vazio até a comida aparecer. O botão “Jogar” inicia o jogo; o botão “Verificar” avalia seu código.

As células têm uma unidade de largura e ficam em números inteiros de -7 a 7. A cobra nunca desliza: ela avança uma célula inteira a cada pulso, uma batida fixa, e fica parada entre eles. Uma batida é um temporizador: some Time.deltaTime a cada quadro e, quando o temporizador atingir a duração da batida, execute a ação e desconte essa duração:

timer += Time.deltaTime;
if (timer >= 0.5f)
{
    timer -= 0.5f;
    Step();
}

Descontar a duração da batida, em vez de definir o temporizador como 0, preserva a fração do quadro que passou do limite, para que a batida não fique atrasada. Use o campo tick, não um número.

challenge icon

Desafio

Fácil

Faça a cabeça avançar uma célula a cada intervalo.

  1. Em Snake, adicione private float timer;
  2. Em Update(), adicione Time.deltaTime a timer; quando timer >= tick, subtraia tick dele e chame Step().
  3. Em Step(), adicione direction a transform.position.

Pressione “Jogar”: a cabeça avança para a direita, célula por célula, saindo do tabuleiro por enquanto. Depois, pressione “Verificar”.

Experimente você mesmo

using UnityEngine;

public class Snake : MonoBehaviour
{
    public float tick = 0.15f;   // segundos entre dois passos
    private Vector3 direction = Vector3.right;

    void Update()
    {
        // A cada tick segundos, execute Step() uma vez
    }

    void Step()
    {
        // Mova a cabeça uma célula na direção de direction
    }
}

Todas as lições de Jogo 3D da Cobrinha na Unity

Pratique por conta própria: Playground de Unity