Class Creature
- All Implemented Interfaces:
CreatureInterface,Movable,Multipliable
- Direct Known Subclasses:
MobileCreature,StaticCreature
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetColor()Obtiene el color que representa a la criatura.getName()Obtiene el nombre de la especie a la que pertenece la criatura.Recupera las coordenadas actuales de la criatura en el tablero.abstract Positionmove(GridInterface grid) Calcula e intenta realizar un movimiento hacia una nueva casilla del tablero durante este turno.abstract Creaturemultiply(GridInterface grid) Intenta ejecutar la reproducción de la especie creando una cría en una casilla contigua durante este turno.
-
Field Details
-
position
-
-
Constructor Details
-
Creature
Construye una nueva criatura base configurando sus atributos visuales e iniciales.Precondición:
nameno es nulo, no está vacío ni solo contiene caracteres invisibles.colores un color reconocido por CSS.positionno es nulo.Postcondición: La criatura queda instanciada en memoria guardando su especie, representación visual y su posición de origen.
- Parameters:
name- nombre de la especie o de la criatura.color- el color que la representa visualmente dentro del tablero.position- su posición inicial dentro de la simulación.
-
-
Method Details
-
getName
Obtiene el nombre de la especie a la que pertenece la criatura.Precondición: Ninguna.
Postcondición: Devuelve la cadena de texto exacta con el nombre asignado en su creación.
- Specified by:
getNamein interfaceCreatureInterface- Returns:
- el nombre de la criatura.
-
getColor
Obtiene el color que representa a la criatura.Precondición: Ninguna.
Postcondición: Devuelve la cadena de texto con el identificador CSS del color.
- Specified by:
getColorin interfaceCreatureInterface- Returns:
- el color de la criatura.
-
getPosition
Recupera las coordenadas actuales de la criatura en el tablero.Precondición: Ninguna.
Postcondición: Devuelve una copia nueva del objeto posición actual para evitar manipulaciones externas del estado interno de la criatura.
- Specified by:
getPositionin interfaceCreatureInterface- Returns:
- una nueva instancia con la posición actual.
-
move
Calcula e intenta realizar un movimiento hacia una nueva casilla del tablero durante este turno.Precondición:
gridno es nulo y contiene a esta criatura apuntando a la misma posición que tiene guardada.Postcondición: Devuelve la nueva posición si la criatura logra moverse con éxito, o nulo si decide o se ve forzada a quedarse quieta.
-
multiply
Intenta ejecutar la reproducción de la especie creando una cría en una casilla contigua durante este turno.Precondición:
gridno es nulo y contiene a esta criatura apuntando a la misma posición que tiene guardada.Postcondición: Devuelve una nueva instancia de criatura (cría) posicionada en el tablero si la reproducción tiene éxito, o nulo si fracasa.
- Specified by:
multiplyin interfaceMultipliable- Parameters:
grid- el tablero para evaluar el espacio y depositar la cría.- Returns:
- la nueva cría generada, o nulo si no se reproduce.
-