问题标签 [python-chess]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
223 浏览

python - 如何将 SVG 与 pygame 一起使用(或者以更高的分辨率显示 PNG)?

我正在尝试用 Pygame 做一个国际象棋开场训练师。从图形上看,它非常简单;它就像幻灯片一样工作,我一次只在屏幕上显示一个图像,当我按下返回键时它会更新。我正在使用 chess.svg 生成当前游戏状态的 SVG。无法在 pygame 中原生使用 SVG 意味着我一直在将 SVG 转换为 PNG。

在我的电脑上查看PNG,非常清晰。

PNG图像

然而,当 pygame 显示图像时,它非常模糊。

Pygame 图像

理想情况下,我希望 pygame 显示 SVG,所以我根本不必担心分辨率。我在 pygame 和 SVG 上找到的只是12 年前的这个链接。2018 年,发布了一个答案,指出原来的方法不再有效。但是,现在,到 2021 年,2018 年给出的方法也不再适用;我试过了,一条评论也证实了这一点。

如果无法使用 SVG,那很好,前提是我可以让 pygame 以比当前更大的分辨率显示 PNG。

即使我screen = pygame.display.set_mode((width, height))全屏,它仍然是模糊的。我似乎找不到任何东西,所以我不确定这是这里的问题。

这是我的代码的简化版本,用于演示图形部分:

有谁知道我需要尝试什么?

干杯。

0 投票
1 回答
93 浏览

python - 如何使用 python 国际象棋库获得 4v4 棋盘版本

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

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

我只是想获得一个工作4x4板而不是8x8.

任何帮助表示赞赏。

0 投票
0 回答
36 浏览

python - 涉及函数的错误,变量未在事件中更新

我一直在这个棋子的棋码中遇到错误。(默认 apawn+ 拖动())。它们中的大多数是合乎逻辑的,例如 x1 和 x2 在释放 pawn 时不会更新。但是每当我尝试解决这个问题时,我都会引入一大堆新错误。关于导入国际象棋,目前还没有错误,因此您可以将它们注释掉(如果您收到有关 a2a2 的错误,则表明错误是由坐标代码引起的)或使用导入。

0 投票
1 回答
160 浏览

python - 如何在python中从包含多个游戏的pgn文件中隔离单个游戏?

我有一个包含多个游戏的 pgn 文件。我想把所有的游戏分成不同的文件或一个文本文件,这样我就可以把所有的白棋和黑棋分开。有什么帮助吗?

0 投票
1 回答
366 浏览

python-chess - 使用 python_chess 打印最佳移动

简单的问题,但我做错了什么,不知道是什么:(我正在使用 python-chess 库并希望将最佳移动打印到引擎(Stockfish)。

我可以从引擎打印分数

但我无法打印动作

我总是得到这样的结果:PlayResult at 0x1ef108495e0

文档(https://python-chess.readthedocs.io/en/latest/_modules/chess/engine.html#Protocol搜索“最佳移动”)没有帮助,总是会出现一些错误。

0 投票
1 回答
110 浏览

python - 如何从便携式游戏符号 (PGN) 文件中分别提取黑白移动?

我想通过分析 PGN(便携式游戏符号)文件,使用 Python 分别提取国际象棋游戏中的白棋和黑棋。

例子:

0 投票
1 回答
167 浏览

python - 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。

0 投票
1 回答
80 浏览

python - 你如何让棋盘功能在 spyder 3.7 上工作?

我试过这个:

但在我的内核中它给出了这个错误:

0 投票
1 回答
155 浏览

python - 在 python-chess 中为游戏添加变体/节点

我正在尝试使用“python-chess”包构建一个国际象棋引擎

我的问题是我想为游戏添加变体,所以我使用了以下方法:

add_variation(move: chess.Move, *, comment: str = '', starting_comment: str = '', nags: Iterable[int] = []) → chess.pgn.ChildNode

如果我有一个有动作的游戏。

1. e4 e5 2. Nf3 Nf6

然后我可以做第一步

它会显示

1. e4 ( 1. d4 d5 2. Nf3 ) ( 1. a4 ) 1... e5 2. Nf3 Nf6 *

然后我有两个节点用于第一步。(一个以移动“d4”开始,一个以移动“a4”开始)

我的问题是我找不到任何其他动作的方法。那么例如,如果我想将节点添加到移动中,该怎么做2. Nf3

0 投票
0 回答
30 浏览

python - 在 Sublime Text 3 中运行 pygame

我目前正在使用 Python 编写国际象棋程序。我使用 Sublime Text 3 作为 IDE,但它似乎不适用于 pygame。我创建了一个棋盘,每当我在 Sublime Text 中运行它时,棋盘都不会出现。不知何故,这似乎类似于我无法在 Sublime Text 中输入的问题。(虽然从控制台运行脚本可以工作,但板子应该会出现)。我会在下面附上我的代码,以防你想看看,但我认为问题不在于代码依赖。所以我的问题是是否有办法从 Sublime Text 运行 python 脚本,以便用户输入和这些使用 pygame 的功能是否正常工作?

谢谢!