- Usando Chess.js (movimientos y validación) y Chessboard.js (visualización)
- Hacer movimientos aleatorios: si Chess.js entrega en un arreglo todas las jugadas legales, elegir una al azar
- Elegir solo jugadas que capturen piezas rivales y seleccionar entre ellas (si no hay, usar una aleatoria)
- Evaluar el rendimiento con el PGN (Portable Game Notation) que se genera al terminar la partida (lo ofrecen sitios como Chess.com)
- Entender FEN (Forsyth-Edwards Notation)
- Entender e implementar el algoritmo minimax
- Resolver el problema del horizonte:
quiescence search
- Hacerlo más rápido con
alpha-beta pruning
iterative deepening
- Crear una tabla de transposición/hash
1 comentarios
Wiki de Programación de Ajedrez