txlyre 13 小時之前
父節點
當前提交
bef89d1a90
共有 1 個文件被更改,包括 4 次插入0 次删除
  1. 4 0
      chess0.py

+ 4 - 0
chess0.py

@@ -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"Некорректное состояние доски.")