gameTokens function
Implementation
List<String> gameTokens(List<String> moveList) {
// final Game gameToPlay = Game();
// int moveCount = 0;
List<String> parsedMoves = [];
for (String moveToken in moveList) {
// Limit to 50 moves to prevent infinite loops
// final predictedMove = await model.predictNextMove(gameToPlay);
// print('Model predicted: $predictedMove');
// Check if the predicted move is legal in the current position
// final legalMoves = gameToPlay.generateLegalMoves();
final move = gameToPlay.getMoveSan(moveToken, checks: false);
if (move != null) {
parsedMoves.add(gameToPlay.toAlgebraic(move));
// final move = gameToPlay.getMove(predictedMove)!;
gameToPlay.makeMove(move);
// print('Legal move: $move');
} else {
// print('Predicted an illegal move. Terminating game.');
break;
}
}
return parsedMoves;
}