autopawn / haboard

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

Issue #13 Ajedrez #18

Open IvanPizarroQ opened 3 years ago

IvanPizarroQ commented 3 years ago

Chess, Haskell Version

Iván Pizarro Quezada

Rol : 2703059-9

Se creó el juego Ajedrez, misma Issue efectuada en proyecto Java.

Interfaz Del Juego:

Se agregó a la interfaz original, un apartado donde aparecen las piezas capturadas por cada jugador, de la misma manera que en issue de Java. El jugador de abajo es el jugador 0, y el de arriba el jugador 1 Puede observarse la posición incial de las fichas junto con sus movimientos disponibles

haboard

Movimiento y captura

Se considero para cada pieza su movimiento siguiendo las reglas del ajedrez.

Para capturar se utilizó el siguiente método:

Mecánicas implementadas con respecto a versión anterior en Java

En esta oportunidad se implementó la mecánica Pawn Promotion, y la siguiente condición de victoria:

Mecanicas no implementadas

No fueron implementados los movimientos especiales Castling y En Passant. Tampoco fue implementado Check y Checkmate

Video demostrativo

En el video se puede observar multiples partidas, con ambos jugadores cpuRand.

https://youtu.be/sUkTJZ0p16w

Nota

Mientras jugan 2 jugadores random, puede darse el caso en que ambos jugadores queden con una ficha con multiples movimientos, por ejemplo una reina, y que tarde mucho o se quede en un loop eterno intentando capturar una ficha a la otra, que es lo lógico debido a la condición de victoria. En la mayoría de los casos alguno de los 2 ganará.