gameTokens function

List<String> gameTokens(
  1. List<String> moveList
)

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;
}