使用python-chess库打印单个动作

问题描述

我想按顺序打印我从文本文件中读取的游戏(使用python-chess库)中的游戏动作(每次动作一个字符串)。

所以,假设我有一个带有以下动作的游戏的pgn文件...

1。 f3 e5 2. g4 Qh4#

...我想遍历这些动作并逐个打印(使用for循环或类似方法),显示

f3

e5

g4

Qh4

我在这里找到了python-chess的文档: https://python-chess.readthedocs.io/en/latest/

从文档中我了解到

  1. 我需要创建一个访问者实例,该实例可以使用accept方法以PGN顺序遍历游戏节点
  2. san methon会给我提供导致当前节点移动的字符串

但是我发现这类文档很难阅读,并且在示例方面会大有帮助。

我设法做的是从一个pgn文件中读取一个游戏,并使用变体方法一次打印所有动作(而不是一个接一个地打印)。

import chess.pgn

pgn = open('I:\myfile.pgn')
my_game = chess.pgn.read_game(pgn)

print(my_game.variation(0))

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)