Python-国际象棋 board.is_checkmate, .is_stalemate, .is_en_passant, .is_check 总是返回真

Python-Chess board.is_checkmate, .is_stalemate, .is_en_passant, .is_check Always Returning True

刚刚下载了 Python-Chess 模块,想测试一下;每当我使用 board.is_checkmateboard.is_stalemateboard.is_checkboard.is_en_passant 和打印语句检查棋盘状态时,它总是 returns 为真。 我在 macOS 11.3 上使用 VSCode。 Python 版本是 3.8.2.

import chess

board = chess.Board()

if board.is_checkmate:
    print("game over")

您正在检查方法是否存在。您需要调用该方法并检查返回的内容。 添加括号将完成此操作。这将调用方法,检查板是否处于此状态。

import chess

board = chess.Board()

if board.is_checkmate():
    print("game over")

您可以通过打印“board.is_checkmate()”与“board.is_checkmate”来测试 一个会给 true / false 另一个在内存中存储该方法的地址。