From: Fabian Fichter Date: Fri, 1 Mar 2024 10:55:17 +0000 (+0100) Subject: Validate max one king per side X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=fb8cf35d9dbd9278f00c772100abf5888e444c1a;p=fairystockfish.git Validate max one king per side --- diff --git a/src/apiutil.h b/src/apiutil.h index 4b364f6..d39102f 100644 --- a/src/apiutil.h +++ b/src/apiutil.h @@ -821,6 +821,16 @@ inline Validation check_number_of_kings(const std::string& fenBoard, const std:: int nbWhiteKingsStart = piece_count(startFenBoard, WHITE, KING, v); int nbBlackKingsStart = piece_count(startFenBoard, BLACK, KING, v); + if (nbWhiteKings > 1) + { + std::cerr << "Invalid number of white kings. Maximum: 1. Given: " << nbWhiteKings << std::endl; + return NOK; + } + if (nbBlackKings > 1) + { + std::cerr << "Invalid number of black kings. Maximum: 1. Given: " << nbBlackKings << std::endl; + return NOK; + } if (nbWhiteKings != nbWhiteKingsStart) { std::cerr << "Invalid number of white kings. Expected: " << nbWhiteKingsStart << ". Given: " << nbWhiteKings << std::endl;