0

我目前正在使用 Python-Chess 构建一个国际象棋游戏,并且我正在尝试使用 SVG 模块来生成棋盘的 SVG 图像。生成 svg 的参数之一是check此处),它是“要标记的表示检查的正方形”。但是,从文档中,我无法找到一种方法来确定玩家的国王在哪里。

我想要发生的是,每当我希望它使用当前玩家国王的当前位置board.is_check()生成 svg 时。check=我该如何解决这个问题?我是否必须遍历每个方格并检查那里有什么棋子,直到找到正确的国王?还是有我没有看到的功能?任何帮助表示赞赏,在此先感谢!

4

1 回答 1

2

有一个获取国王位置的功能,记录在这里:https ://python-chess.readthedocs.io/en/latest/core.html#chess.BaseBoard.king

这是一些示例代码:

import chess
board = chess.Board()
# get the current square index of the white king
king_square_index = board.king(chess.WHITE)
# get the current square name of the white king
king_square_name = chess.square_name(king_square_index)
print(king_square_name) # e1
# Move white pawn to e4
board.push_san("e4")
# Move black pawn to e5
board.push_san("e5")
# Move white king to e2
board.push_san("Ke2")
# get the current square index of the white king
king_square_index = board.king(chess.WHITE)
# get the current square name of the white king
king_square_name = chess.square_name(king_square_index)
print(king_square_name) # e2
于 2021-03-31T17:06:07.213 回答