Class MobileCreature
- All Implemented Interfaces:
CreatureInterface,Movable,Multipliable
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionMobileCreature(String id, String color, double moveProbability, Position position) Constructor por defecto que asume una librería aleatoria estándar.MobileCreature(String name, String color, double moveProbability, Position position, Random random) Instancia la criatura inyectando una semilla aleatoria externa para controlar la probabilidad. -
Method Summary
Modifier and TypeMethodDescriptiondoubleExtrae el ratio matemático configurado que dicta la frecuencia de movimiento en la simulación.move(GridInterface grid) Resuelve y ejecuta el intento de movimiento de la criatura por el tablero.multiply(GridInterface grid) Bloquea el intento biológico de generar crías.Methods inherited from class com.tt1.simserver.model.creatures.Creature
getColor, getName, getPosition
-
Constructor Details
-
MobileCreature
public MobileCreature(String name, String color, double moveProbability, Position position, Random random) Instancia la criatura inyectando una semilla aleatoria externa para controlar la probabilidad.Precondición:
nameno es nulo ni está vacío.colores válido en CSS.moveProbabilityes un valor entre 0.0 y 1.0 (ambos incluidos).positionyrandomno son nulos.Postcondición: Configura la criatura almacenando su probabilidad de movimiento y el generador de azar.
- Parameters:
name- denominación de la especie.color- representación gráfica en texto de su color.moveProbability- probabilidad (0.0 a 1.0) para que la criatura efectúe un movimiento en un turno.position- la posición inicial de la criatura.random- objeto generador numérico de probabilidad.
-
MobileCreature
Constructor por defecto que asume una librería aleatoria estándar.Precondición:
idno es nulo ni está vacío.colores válido en CSS.moveProbabilityestá entre 0.0 y 1.0 (ambos incluidos).positionno es nulo.Postcondición: Construye la criatura autogestionando su propio motor de números aleatorios para calcular el movimiento.
- Parameters:
id- denominación de la especie.color- representación gráfica en texto de su color.moveProbability- probabilidad de moverse en cada turno.position- la posición inicial donde se ubicará.
-
-
Method Details
-
getMoveProbability
public double getMoveProbability()Extrae el ratio matemático configurado que dicta la frecuencia de movimiento en la simulación.Precondición: Ninguna.
Postcondición: Devuelve el valor decimal asignado que marca la probabilidad de desplazamiento en cada turno.
- Returns:
- probabilidad del 0.0 al 1.0.
-
move
Resuelve y ejecuta el intento de movimiento de la criatura por el tablero.Precondición:
gridno es nulo y contiene a esta criatura en su posición correspondiente.Postcondición: Si el azar supera la probabilidad definida o si la criatura está rodeada y carece de casillas vacías, devuelve nulo sin modificar su ubicación. Si se cumplen las opciones probabilísticas y hay espacio físico, elige una casilla libre aleatoria, actualiza la posición interna y devuelve estas nuevas coordenadas.
-
multiply
Bloquea el intento biológico de generar crías.Precondición:
gridno es nulo y contiene a esta criatura en su posición correspondiente.Postcondición: Devuelve siempre nulo. Por regla de negocio, la criatura móvil convencional no tiene activada la reproducción y anula el proceso independientemente de las casillas contiguas vacías.
- Specified by:
multiplyin interfaceMultipliable- Specified by:
multiplyin classCreature- Parameters:
grid- el entorno del tablero evaluado en este turno.- Returns:
- siempre devuelve nulo.
-