El juego de la vida - Simulacion en Java
Publicado por Luis (8 intervenciones) el 31/03/2019 16:46:51
Hola, muy buenas, que tal, estoy intentando simular el juego de la vida en Java, es un proyecto que me han mandado y me gustaría saber si alguien podría echarme un cable. Este es el enunciado del proyecto, y me gustaría saber mas o menos una idea para saber estructurarlo.
Muchas gracias de antemano.
-------------------------------------------------------------------------------------------------------------------------------------------------------
El juego de la vida es en realidad un juego de cero jugadores, lo que quiere decir que su evolución está determinada por el estado inicial y no necesita ninguna entrada de datos posterior. El tablero de juego es una malla formada por cuadrados ("células") que se extiende por el infinito en todas las direcciones. Cada célula tiene 8 células vecinas, que son las que están próximas a ella, incluyendo las diagonales. Las células que se encuentran en los extremos del tablero no son adyacentes. Las células tienen dos estados: están "vivas" o "muertas". El estado de la matriz evoluciona a lo largo de unidades de tiempo discretas (se podría decir que por turnos). El estado de todas las células se tiene en cuenta para calcular el estado de las mismas al turno siguiente. Todas las células se actualizan en cada turno. Las transiciones dependen del número de células vecinas vivas:
-Una célula muerta con exactamente 3 células vecinas vivas "nace" (al turno siguiente estará viva).
-Una célula viva con 2 o 3 células vecinas vivas sigue viva.
-Una célula viva que tenga 0 o 1 células vecinas muere por “soledad“.
-Una célula que tenga más de 3 vecinas vivas o permanece muerta o muere por "sobrepoblación".
Diseña un programa en Java que simule una versión reducida del juego de la vida, teniendo en cuenta las siguientes restricciones:
-Las dimensiones de la matriz son N x N, esto es, una matriz cuadrada, que no podrá superar las 25 casillas de
largo y ancho.
-La colocación de las células vivas se podrá realizar de forma aleatoria o bien manualmente por el usuario.
-El número de células vivas a poner vendrá determinado por un porcentaje que determine el usuario por
teclado. Esto es, suponiendo que el usuario introduce 25% y el tablero es de 10x10, entonces el número de
células vivas a colocar sería el 25% de 100 (10*10).
Una vez creada la matriz y cargadas las células vivas, se mostrará la 1ª generación o generación inicial. A continuación se preguntará al usuario si quiere mostrar la generación siguiente o si quiere terminar. En caso de crear una nueva generación de células, se mostrarán la generación siguiente y la anterior, para poder comparar los cambios. El juego termina a petición del usuario o cuando no haya cambios de estados en 3 generaciones sucesivas.
-------------------------------------------------------------------------------------------------------------------------------------------------------
Muchas gracias de antemano.
-------------------------------------------------------------------------------------------------------------------------------------------------------
El juego de la vida es en realidad un juego de cero jugadores, lo que quiere decir que su evolución está determinada por el estado inicial y no necesita ninguna entrada de datos posterior. El tablero de juego es una malla formada por cuadrados ("células") que se extiende por el infinito en todas las direcciones. Cada célula tiene 8 células vecinas, que son las que están próximas a ella, incluyendo las diagonales. Las células que se encuentran en los extremos del tablero no son adyacentes. Las células tienen dos estados: están "vivas" o "muertas". El estado de la matriz evoluciona a lo largo de unidades de tiempo discretas (se podría decir que por turnos). El estado de todas las células se tiene en cuenta para calcular el estado de las mismas al turno siguiente. Todas las células se actualizan en cada turno. Las transiciones dependen del número de células vecinas vivas:
-Una célula muerta con exactamente 3 células vecinas vivas "nace" (al turno siguiente estará viva).
-Una célula viva con 2 o 3 células vecinas vivas sigue viva.
-Una célula viva que tenga 0 o 1 células vecinas muere por “soledad“.
-Una célula que tenga más de 3 vecinas vivas o permanece muerta o muere por "sobrepoblación".
Diseña un programa en Java que simule una versión reducida del juego de la vida, teniendo en cuenta las siguientes restricciones:
-Las dimensiones de la matriz son N x N, esto es, una matriz cuadrada, que no podrá superar las 25 casillas de
largo y ancho.
-La colocación de las células vivas se podrá realizar de forma aleatoria o bien manualmente por el usuario.
-El número de células vivas a poner vendrá determinado por un porcentaje que determine el usuario por
teclado. Esto es, suponiendo que el usuario introduce 25% y el tablero es de 10x10, entonces el número de
células vivas a colocar sería el 25% de 100 (10*10).
Una vez creada la matriz y cargadas las células vivas, se mostrará la 1ª generación o generación inicial. A continuación se preguntará al usuario si quiere mostrar la generación siguiente o si quiere terminar. En caso de crear una nueva generación de células, se mostrarán la generación siguiente y la anterior, para poder comparar los cambios. El juego termina a petición del usuario o cuando no haya cambios de estados en 3 generaciones sucesivas.
-------------------------------------------------------------------------------------------------------------------------------------------------------
Valora esta pregunta
0