encodeMove function
Implementation
int encodeMove(String uci) {
if (uci == "<start>") return 4096;
if (uci == ".") return 4097;
int sqToIdx(String sq) {
int file = sq.codeUnitAt(0) - 'a'.codeUnitAt(0);
int rank = int.parse(sq[1]) - 1;
return rank * 8 + file;
}
return (sqToIdx(uci.substring(0, 2)) * 64) + sqToIdx(uci.substring(2, 4));
}