首页 > 解决方案 > Python-Chess board.is_checkmate, .is_stalemate, .is_en_passant, .is_check 总是返回 True

问题描述

刚下载了 Python-Chess 模块,想测试一下;每当我使用board.is_checkmateboard.is_stalemate、和 print 语句检查板状态时,它总是返回 true board.is_checkboard.is_en_passant我在 macOS 11.3 上使用 VSCode。Python 版本是 3.8.2。

import chess

board = chess.Board()

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

标签: pythonpython-chess

解决方案


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

import chess

board = chess.Board()

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

您可以通过打印“board.is_checkmate()”与“board.is_checkmate”来测试这一点,其中一个将给真/假另一个在内存中存储该方法的地址。


推荐阅读