【问题标题】:How to get a 4v4 chess board version using the python chess library如何使用 python 国际象棋库获得 4v4 棋盘版本
【发布时间】:2021-04-28 18:06:47
【问题描述】:

我正在尝试弄清楚如何使用 python 中的国际象棋库来获得 4x4 棋盘,而不是 8x8,后面有 Rook、Queen、King 和 Rook,中间行是 Pawn。

我尝试通过这条线设置板,但它给出了一个错误,说它期望每行的 8 列在除了 fen 之外的位置

board = chess.Board("rqkr/pppp1Qpp/2n2n2/4p3/2B1P3/8/PPPP1PPP/RNB1K1NR b KQkq - 0 4")

我只是想获得一个有效的4x4 板而不是8x8

感谢任何帮助。

【问题讨论】:

  • python-chess 仅适用于 8x8 板。现在,您的设置确实有 8 行,并且除了第一行之外,每一行都有 8 列。你是不是想在这里造假?
  • 我想你可以试试“rqkr4/pppp4/PPPP4/RQKR4/8/8/8/8”然后在左上角播放。
  • 为什么这么有趣?不是所有的游戏都一样吗?如果我开始 c3xb2+,黑方已经与后...b1xb2,然后我可以采取 a3xb2+,他必须与他的国王...c1xb2,我将后移出 b4-c3+,他就完蛋了。
  • 我认为 python-chess 库没有办法做到这一点。您可能必须使用纯 python 制作一个新的 4x4 棋盘类。
  • Python 国际象棋只支持registered variants 的棋盘。见列表。

标签: python chess python-chess


【解决方案1】:

我认为使用 python-chess 库无法做到这一点。您可能必须使用纯 python 制作一个新的 4x4 棋盘类。

Python 国际象棋仅支持registered variants 的棋盘。

所有已注册的变体均不包括 4x4 板。

此外,由于您将 board fen 传递给标准 board 类,因此它会引发错误,因为它希望 board 有 8 行和 8 列。

【讨论】:

    猜你喜欢
    • 2013-05-24
    • 1970-01-01
    • 1970-01-01
    • 2018-03-25
    • 2022-06-17
    • 2015-05-02
    • 1970-01-01
    • 1970-01-01
    • 2014-03-02
    相关资源
    最近更新 更多