autopawn / haboard

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

Menu pre-partidas + historial partidas #24

Open Pipe-Cruz opened 3 years ago

Pipe-Cruz commented 3 years ago

Rol: 201873031-9

En ambos juegos borre los players creados por el programa para llamar a la función configAndExecute. Firma de la función: Recibe s que es el estado del juego, debe ser de clase Show y Game, y recibe un Int que es la semilla aleatoria. Entrega un IO Int configAndExecute es una funcion genérica que le permite al usuario seleccionar qué tipo de jugadores van a jugar de entre las opciones disponibles human y cpuEval dadas como argumento; y también consulta los nombres que se le darán a los jugadores seleccionados. SUPUESTO: Los tipos de jugadores disponibles son cpuRandom y cpuEval Se hace uso de la función playerType que identifica los tipos de jugadores ingresados por el usuario mediante la expresión condicional Guard; en la función configAndExecute mediante el uso de case of se revisa si los inputs fueron correctos o no. Si los jugadores fueron ingresados correctamente se llama a la función execute, la cual llama a la función loop. Modifiqué la función loop de la siguiente manera: mediante la función loserPlayer con la firma Int -> Int, se identifica al jugador perdedor. Una vez que se tiene a ambos jugadores se le pide al usuario ingresar el nombre del archivo donde guardará el resultado de la partida, con el formato pedido. Para esto ocupo la función appendFile que se importa de System.IO, en caso de no existir el archivo se crea automáticamente. SUPUESTO: Coloqué el input en esta parte y no en la función configAndExecute, dado que sino hubiera tenido que modificar la firma de la función execute y loop para entregarles como parámetro el nombre del archivo. SUPUESTO: El usuario no utilizará el mismo nombre para guardar las partidas de los 2 juegos.