validate method
Checks the legality of this position.
Throws a PositionSetupException if it does not meet basic validity requirements.
Implementation
@override
void validate({bool? ignoreImpossibleCheck}) {
super.validate(ignoreImpossibleCheck: ignoreImpossibleCheck);
if (pockets == null) {
throw PositionSetupException.variant;
} else {
if (pockets!.count(Role.king) > 0) {
throw PositionSetupException.kings;
}
if (pockets!.size + board.occupied.size > 64) {
throw PositionSetupException.variant;
}
}
}