startingPosition static method
Create a Position for a Variant from the headers.
Headers can include an optional 'Variant' and 'Fen' key.
Throws a PositionSetupException if it does not meet basic validity requirements.
Implementation
static Position startingPosition(PgnHeaders headers,
{bool? ignoreImpossibleCheck}) {
final rule = Rule.fromPgn(headers['Variant']);
if (rule == null) throw PositionSetupException.variant;
if (!headers.containsKey('FEN')) {
return Position.initialPosition(rule);
}
final fen = headers['FEN']!;
try {
return Position.setupPosition(rule, Setup.parseFen(fen),
ignoreImpossibleCheck: ignoreImpossibleCheck);
} catch (err) {
rethrow;
}
}