fen property
String
get
fen
get current fenstr
Implementation
String get fen {
if (_fen.isEmpty) {
_fen = _rows.reversed.join('/').replaceAllMapped(
RegExp(r'0+'),
(match) => match[0]!.length.toString(),
);
}
return _fen;
}
set
fen
(String fenStr)
Set a fen str TODO:Improve
Implementation
set fen(String fenStr) {
if (fenStr.contains(' ')) {
fenStr = fenStr.split(' ')[0];
}
_rows = fenStr
.replaceAllMapped(
RegExp(r'\d'),
(match) => List<String>.filled(int.parse(match[0]!), '0').join(''),
)
.split('/')
.reversed
.map<ChessFenRow>((row) => ChessFenRow(row))
.toList();
_fen = fenStr;
}