generatePass method
Implementation
PassMove? generatePass(int colour, [bool legal = true]) {
if (state.move is PassMove) return null;
if (!variant.canPass(state: state, colour: colour)) {
return null;
}
PassMove m = PassMove();
if (legal) {
bool valid = makeMove(m, false);
if (lostBy(colour, ignoreSoftResults: true) || kingAttacked(colour)) {
valid = false;
}
undo();
return valid ? m : null;
}
return m;
}