autopawn / haboard

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

Issue #1 "Peg Solitaire" #27

Open javier-tralma opened 3 years ago

javier-tralma commented 3 years ago

Proyecto 3 "Peg Solitaire, in Haskell"

Nombre: Javier Tralma Rol: 201873027-0

Acerca del juego:

Al inicio del juego están todos los espacios ocupados, excepto por uno. El jugador debe mover una pieza por vez. Las piezas solo pueden moverse capturando mediante un "salto" sobre otra, como en las damas. Solo se puede capturar en horizontal o en vertical, nunca en diagonal. Así, al principio, solo pocas tienen posibilidad de moverse, capturando una. El objetivo del juego es eliminar todas las piezas, dejando solo una en el tablero.

Funcion creada:

InBoard: Fue creada a través de la función "inStartPos" del juego FiveFieldKono, y cumple una función de validación, es decir, valida una posición en coordenadas (x,y) acorde a si esa posición pertenece o no al tablero. A continuación anexaré una foto del tablero para que quede más explícito image El resto de funciones utilizadas son las que están en los archivos "Piece" y "Game", siguiendo una estructura similar al juego "FoxAndHounds". Para el correcto funcionamiento del juego, decidí crear dos jugadores del tipo Terminal, sin embargo, en realidad el jugador es uno solo, simplemente lo definí así para poder diferenciar los mensajes de victoria o derrota. La victoria se alcanza cuando gana el jugador 0 y la de derrota se alcanza cuando gana el jugador 1(es decir, se cumple la condición de derrota dentro del código). Anexo fotos sobre como funciona el juego: Durante la partida: image Al Ganar: image Al perder: image