Package models

Class Snake

java.lang.Object
models.Snake

public class Snake extends Object
Representa la serpiente del juego.

Mantiene la lista de segmentos de la serpiente, su dirección actual y su intención de movimiento, así como métodos para moverla, cambiar dirección y crecer cuando come una manzana.

  • Constructor Details

    • Snake

      public Snake(int filas, int columnas)
      Constructor que inicializa la serpiente en el centro de la cuadrícula con una longitud inicial de 5 segmentos y dirección hacia la derecha.
      Parameters:
      filas - número de filas de la cuadrícula
      columnas - número de columnas de la cuadrícula
  • Method Details

    • getSerpiente

      public LinkedList<Coordenada> getSerpiente()
      Returns:
      lista de segmentos de la serpiente
    • getDireccion

      public Direccion getDireccion()
      Returns:
      dirección actual de la serpiente
    • getNuevaDireccion

      public Direccion getNuevaDireccion()
      Returns:
      nueva dirección que la serpiente intentará tomar en el siguiente tick
    • getCabeza

      public Coordenada getCabeza()
      Returns:
      coordenada de la cabeza de la serpiente
    • mover

      public void mover()
      Mueve la serpiente en la dirección de nuevaDireccion.

      Agrega una nueva cabeza en la dirección indicada y elimina la cola si la serpiente no debe crecer.

    • actualizarDireccion

      public void actualizarDireccion()
      Actualiza la dirección actual a la nueva dirección declarada
    • declararIntencion

      public void declararIntencion(Direccion dir)
      Declara la intención de movimiento de la serpiente.

      Solo se permite cambiar la dirección si no es opuesta a la actual.

      Parameters:
      dir - nueva dirección que se desea tomar
    • crece

      public void crece(boolean b)
      Controla el crecimiento de la serpiente.

      Debe llamarse en cada tick; si b es true, la serpiente crece agregando la cola anterior. Si es false, simplemente actualiza la cola.

      Parameters:
      b - indica si la serpiente debe crecer