fromFenSymbol static method

Piece fromFenSymbol(
  1. String fenSymbol
)

Creates an appropriate piece for fenSymbol.

Implementation

static Piece fromFenSymbol(String fenSymbol) {
  final bool isWhite = fenSymbol == fenSymbol.toUpperCase();

  switch (fenSymbol.toLowerCase()) {
    case 'p':
      return isWhite ? const WhitePawn() : const BlackPawn();
    case 'r':
      return isWhite ? const WhiteRook() : const BlackRook();
    case 'n':
      return isWhite ? const WhiteKnight() : const BlackKnight();
    case 'b':
      return isWhite ? const WhiteBishop() : const BlackBishop();
    case 'q':
      return isWhite ? const WhiteQueen() : const BlackQueen();
    case 'k':
      return isWhite ? const WhiteKing() : const BlackKing();
    default:
      throw ArgumentError('Unknown FEN symbol "$fenSymbol"');
  }
}