Se agregó un historial de partidas, el cual guarda el nombre del juego, los jugadores y el ganador.
Se pregunta cuantos jugadores reales habrá en la partida, para preparar el juego.
¿Cómo se hizo?
Se creo un método llamado gameName en Game.java, el cual debe ser sobrescrito en los archivos de los juegos, para sobrescribirlo en los archivos.java hacemos un Override en el cual hacemos que el método gameName retorne el nombre del juego (el cual es añadido manualmente).
Similar al método anterior ahora le asignamos una variable llamada playerName a la clase Player, esta variable será asignada en el constructor de las clases que son hijas de esta, por ejemplo, en la clase PlayerHumanTerminal se le añade una variable como parámetro en su constructor la cual será asignada como su playerName, mientras que las CPU se les asignará de forma manual un nombre.
Para este último creamos una nueva clase llamada ExecutorRecorder la cual extiende de Executor, en esta sobreescribimos el método runGame para que además de darnos el ganador cree un archivo en el cual se guardará la partida, para esto usamos el metodo runGame de Executor que nos regresara al ganador, verificamos si el archivo en el cual registraremos la partida existe, en caso de que no exista lo crearemos, luego añadiremos los datos necesarios en el archivo, finalmente debemos retornar el ganador, para que al utilizar este nuevo método no hayan problemas.
En el archivo Play.java (para ambos juegos) preguntamos cuantos jugadores reales habrá, según la respuesta que se nos da registramos a los jugadores, y ejecutamos el juego dependiendo de la cantidad de jugadores reales que hay.
Modificaciones en los archivos
Se modificó el archivo Game.java creando un nuevo método llamado gameName.
Se modificaron los archivos FiveFieldKono.java y FoxAndHounds.java para asignarles su gameName.
Se modificó el archivo Player.java para crear la variable playerName.
Se modificaron los archivos PlayerCPUEval.java, PlayerHumanTerminal.java y PlayerCPURandom.java para asignarles su playerName.
Se creo el archivo ExecutorRecorder.java el cual crea el archivo history.txt y retorna al ganador.
Se modificaron los archivos Play.java (de ambos juegos) para preguntar el número de jugadores reales y ejecutar el juego dependiendo de este.
Consideraciones
El programa fue probado en VirtualBox, con la maquina virtual Lubuntu, entregada por Discord.
Proyecto 2 LP - Issue #14
Nombre y rol
Roberto Abarca Henríquez - 201773082-K
¿Qué se hizo?
¿Cómo se hizo?
Modificaciones en los archivos
Consideraciones