Class StaticRabbit
- All Implemented Interfaces:
CreatureInterface,Movable,Multipliable
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionStaticRabbit(String id, String color, double multiplyProbability, Position position) Inicializa a la criatura usando la librería de azar estándar.StaticRabbit(String name, String color, double multiplyProbability, Position position, Random random) Inicializa a la criatura indicando un motor aleatorio específico. -
Method Summary
Modifier and TypeMethodDescriptiondoubleProvee la métrica estadística que condiciona las posibilidades de gestar crías.multiply(GridInterface grid) Calcula probabilísticamente si debe crear una copia de sí mismo en las inmediaciones.Methods inherited from class com.tt1.simserver.model.creatures.StaticCreature
moveMethods inherited from class com.tt1.simserver.model.creatures.Creature
getColor, getName, getPosition
-
Constructor Details
-
StaticRabbit
public StaticRabbit(String name, String color, double multiplyProbability, Position position, Random random) Inicializa a la criatura indicando un motor aleatorio específico.Precondición:
nameno es nulo ni vacío.colores un color reconocido por CSS.multiplyProbabilityes un número entre 0.0 y 1.0 (ambos incluidos).positionyrandomno son nulos.Postcondición: Dota a la criatura del gen reproductor, configurando la probabilidad de generar una cría y el motor de azar inyectado.
- Parameters:
name- el nombre representativo de la especie.color- el color para mostrar en el tablero de la simulación.multiplyProbability- el valor base de probabilidad para reproducirse en casillas contiguas.position- su posición definitiva que actuará como origen reproductor.random- el motor de azar para sus comprobaciones biológicas en cada turno.
-
StaticRabbit
Inicializa a la criatura usando la librería de azar estándar.Precondición:
idno es nulo ni vacío.colores un color reconocido por CSS.multiplyProbabilityes un número entre 0.0 y 1.0 (ambos incluidos).positionno es nulo.Postcondición: Crea el espécimen generando de forma autónoma su propia semilla aleatoria para resolver la reproducción.
- Parameters:
id- identificador y nombre de la criatura.color- el color de renderizado.multiplyProbability- la probabilidad en coma flotante de reproducirse en este turno.position- su posición anclada en el tablero.
-
-
Method Details
-
getMultiplyProbability
public double getMultiplyProbability()Provee la métrica estadística que condiciona las posibilidades de gestar crías.Precondición: Ninguna.
Postcondición: Devuelve el ratio numérico que se usa como umbral en el cálculo probabilístico de cada turno.
- Returns:
- un valor base del 0.0 al 1.0 para intentar generar clones.
-
multiply
Calcula probabilísticamente si debe crear una copia de sí mismo en las inmediaciones.Precondición:
gridno es nulo y contiene a esta criatura en su posición correspondiente.Postcondición: Si no se supera la probabilidad o carece completamente de casillas libres adyacentes, aborta el proceso y devuelve nulo. Si lo consigue y tiene espacio, elige una casilla libre al azar y devuelve una nueva criatura (clon) con el mismo nombre, color, probabilidad de reproducción y vinculada a la nueva posición destino.
- Specified by:
multiplyin interfaceMultipliable- Overrides:
multiplyin classStaticCreature- Parameters:
grid- escenario del tablero para determinar las casillas adyacentes libres.- Returns:
- la nueva cría originada, o nulo si no logra reproducirse.
-