- Usando Chess.js (movimentos e validação) e Chessboard.js (visualização)
- Fazer jogadas aleatórias: quando o Chess.js fornece em um array todos os lances possíveis, escolher um deles aleatoriamente
- Selecionar apenas lances que capturam peças do oponente e escolher entre eles (se não houver, usar aleatório)
- Avaliar o desempenho com o PGN (Portable Game Notation) gerado ao fim da partida (fornecido por sites como Chess.com)
- Entender FEN (Forsyth-Edwards Notation)
- Entender e implementar o algoritmo minimax
- Resolver o Horizon Issue: "quiescence search"
- Torná-lo mais rápido com "alpha-beta pruning"
- "iterative deepening"
- Criar uma tabela de transposição/hash
1 comentários
Chess Programming Wiki