Una aplicación de Ajedrez sencilla para practicar herencia y polimorfismo en C#.
- .NET Framework 4.7.2
- WhiteStarUML 5.9.1.0
Se puede inicializar un tablero bajo cualquier distribución que se desee utilizando la Notación Estándar Forsyth–Edwards.
//Estado inicial estándar de un tablero de Ajedrez
Ajedrez juego = new Ajedrez("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR");
Las barras diagonales separan filas. Los números indican una cantidad de espacios en blanco del 1 al 8. Las letras indican piezas de Ajedrez individuales, siendo blancas si son mayúsculas o negras si son minúsculas. La pieza en particular es determinada por la letra.
- Torre/Rook "
Rr
" - Caballero/Knight "
Nn
" - Alfil/Bishop "
Bb
" - Reina/Queen "
Qq
" - Rey/King "
Kk
" - Peón/Pawn "
Pp
"
Los métodos Notación()
y ToString()
de la clase Registro
utilizan la versión con íconos de la Notación Algebraica Estándar para describir movimientos.
Esto significa que en lugar de usar las letras significativas de cada pieza, se las representa con su Emoji.
Primera versión correcta del diagrama UML
Primera revisión, con clase Registro y movimientos especiales
Segunda revisión, con simulaciones de Movimientos y Finalizaciones de Partida
- Implementar detección básica de movimientos válidos
- Implementar colisiones
- Implementar turnos
- Implementar Captura En-Passant (Peón al Paso) para la clase Peón
- Implementar Enroque Corto y Enroque Largo para la clase Rey
- Implementar Promoción para la clase Peón
- Implementar Jaque y Jaque Mate
- Implementar Empate por Rey Ahogado
- Implementar Empate por Insuficiencia Material
- Implementar Empate por Acuerdo
- Implementar Reproductor de Partidas