autopawn / haboard

Haskell framework for board games (exercise)
1 stars 29 forks source link

Issue #16 Menu pre-partida + historial de partidas #46

Open rmcovarr opened 4 years ago

rmcovarr commented 4 years ago

Nombre: Roberto Covarrubias Figueroa Rol: 201804181-5 Se modifica FoxAndHounds.hs y FiveFielKono.hs para que no se creen los jugadores con nombres predeterminados y se llama a la función pedida, configAndExecute, que tiene como parámetros el inicio del juego, la seed, el nombre del juego (que yo lo predetermino dentro del código), y la función eval para cpuEval, en este ultimo intente trabajar con Maybe ya que Five Field Kono no posee una función eval y tampoco cpuEval pero me fue imposible configurar mi código para que con Maybe pudiera recibir Nothing y evitar la creación de fiveFieldKonoEval, que solo es la copia de la funcion foxAndHoundsEval, solo existe para evitar el error, la función fiveFieldKonoEval nunca sera llamada por ningún motivo, pero gracias al "trucazo" anterior se pueden crear jugadores con cpuEval para fox And Hounds, para Five Field Kono tambien pero serán cpuRand.

En la función configAndExecute se piden los nombres de los jugadores por la consola y obtiene los tipos con la función auxiliar get_tipo que no posee parámetros y retorna IO String, y al volver a configAndExecute se llama a la funcion new_player_1 que mediante una guard creara al jugador correspondiente con su tipo ( human, cpuRand y cpuEval), posteriormente configAndExecute creara un historial con el nombre que se le indique.