Interface GridInterface
- All Known Implementing Classes:
Grid
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddCreature(CreatureInterface creature) Añade una criatura al tablero usando su posición interna.getAdjacentEmptyCells(Position position) Obtiene las posiciones adyacentes (derecha, arriba, izquierda, abajo) cuyas casillas están libres.getCreature(Position position) Obtiene la criatura situada en una posición concreta.intgetSize()Obtiene el tamaño del lado del tablero.booleanComprueba si una posición es válida y su casilla está libre.voidtick()Avanza el estado del tablero en un turno temporal completo.
-
Method Details
-
tick
void tick()Avanza el estado del tablero en un turno temporal completo.Precondición: El tablero está inicializado.
Postcondición: Recorre todas las posiciones en orden, de izquierda a derecha y de arriba a abajo. Para cada criatura, procesa su movimiento y luego su reproducción. Si la criatura decide moverse, su casilla origen queda vacía y ocupa la nueva posición. Si decide reproducirse, la nueva criatura aparece en su casilla de destino. Las criaturas actúan solo una vez por turno. Las criaturas recién nacidas no actúan en el turno que aparecen.
-
getCreature
Obtiene la criatura situada en una posición concreta.Precondición:
positionno es nulo y sus coordenadas están dentro de los límites del tablero.Postcondición: Devuelve la criatura que ocupa la casilla indicada. Devuelve nulo si la casilla está vacía.
- Parameters:
position- la posición exacta de la casilla a consultar.- Returns:
- la criatura en la casilla, o nulo si está vacía.
-
getSize
int getSize()Obtiene el tamaño del lado del tablero.Precondición: El tablero está inicializado.
Postcondición: Devuelve el número de filas (o columnas) del tablero.
- Returns:
- el tamaño del tablero.
-
addCreature
Añade una criatura al tablero usando su posición interna.Precondición:
creatureno es nulo. Su posición está dentro de los límites del tablero y apunta a una casilla vacía.Postcondición: La criatura se almacena en el tablero, ocupando su casilla correspondiente.
- Parameters:
creature- la criatura a registrar en el tablero.
-
isEmpty
Comprueba si una posición es válida y su casilla está libre.Precondición:
positionno es nulo.Postcondición: Devuelve verdadero si la posición está dentro del tablero y su casilla no contiene ninguna criatura. Devuelve falso si la casilla tiene una criatura o si la posición sale de los límites del tablero.
- Parameters:
position- la posición a evaluar.- Returns:
- verdadero si la casilla está libre y es válida, falso en caso contrario.
-
getAdjacentEmptyCells
Obtiene las posiciones adyacentes (derecha, arriba, izquierda, abajo) cuyas casillas están libres.Precondición:
positionno es nulo.Postcondición: Devuelve una lista con las posiciones adyacentes que están dentro del tablero y cuyas casillas no tienen ninguna criatura. Las posiciones fuera del tablero o con criaturas se descartan.
- Parameters:
position- la posición central para evaluar las adyacentes.- Returns:
- una lista de posiciones adyacentes con casillas vacías.
-