|
@@ -28,6 +28,10 @@ class ChessSession:
|
|
|
def check_game_over(self):
|
|
|
if self.board.is_game_over():
|
|
|
raise GameOver(f"{outcome_to_str(self.board.outcome())} [{len(self.board.move_stack)}]")
|
|
|
+ elif self.board.status() & chess.STATUS_NO_WHITE_KING:
|
|
|
+ raise GameOver(f"0-1 CHECKMATE [{len(self.board.move_stack)}]")
|
|
|
+ elif self.board.status() & chess.STATUS_NO_BLACK_KING:
|
|
|
+ raise GameOver(f"1-0 CHECKMATE [{len(self.board.move_stack)}]")
|
|
|
elif not self.board.is_valid():
|
|
|
raise GameOver(f"Некорректное состояние доски.")
|
|
|
|