什么是 PGN 文件?
PGN(可移植棋局记谱)文件是一种用于记录棋局的纯文本文件格式。它包含有关棋局的详细信息,例如走法、棋手姓名、赛事、日期以及其他相关元数据。该格式于 1993 年由 Steven J. Edwards 创建,已被广泛认可并受到大多数棋类程序的支持。
PGN 文件被棋手和分析师用于共享和回顾棋局记录。它们允许用户可视化地重放棋局,并使用各种棋类程序分析走法。
PGN 文件的关键特性
- 人类可读格式:文件为纯文本,易于阅读和编辑。
- 棋局元数据:PGN 文件的开头包含标记对,指定棋局细节:
- Event:赛事或比赛的名称。
- Site:棋局进行的地点或平台。
- Date:棋局的日期。
- Round:赛事的具体轮次。
- Players:棋手姓名、执子颜色以及 Elo 等级。
- Result:棋局的结果。
PGN 元数据示例
[Event "FIDE World Championship"]
[Site "Dubai UAE"]
[Date "2021.12.10"]
[Round "6"]
[White "Magnus Carlsen"]
[Black "Ian Nepomniachtchi"]
[Result "1-0"]
PGN 文件的关键特征
| 特征 | 描述 |
|---|---|
| 文件扩展名 | .pgn |
| 主要变体 | .pgn(标准),.pgn.gz(压缩),.pgn.zip(归档集合),.cbh(转换自 ChessBase 格式),.si4(Scid 原生,但可导出为 PGN) |
| 格式类型 | 包含棋局记录的纯文本标记格式(纯 ASCII 或 UTF-8) |
| 主要用途 | 存档棋局、与学生共享分析、在线发布赛事结果、向棋类引擎提供棋局、创建开局库 |
| 主要特性 | 双重人机可读性——PGN 文件可被大师在记事本中阅读,同时被 Stockfish 解析进行引擎分析,无需转换 |
| 安全性概况 | 极其安全;纯文本无可执行代码;无法携带恶意软件;对修改友好,且在所有棋类平台上普遍受信任 |
| 兼容性 | 通用——支持所有棋类 GUI(Lichess、Chess.com、ChessBase、SCID、Arena),所有引擎(Stockfish、Leela、Komodo),以及通过标准解析库的所有编程语言(Python、C++、JavaScript) |
记录走法
走法使用标准代数记谱法(SAN)记录,这是一种按回合顺序列出的走法。例如,2.Nf3 Nc6 表示在第二回合,白方将马移动到 f3,黑方将马移动到 c6。
如何打开 PGN 文件
打开 PGN 文件可以使用多种工具和软件。专用棋类软件如 ChessBase、Scid vs. PC、Arena 和 Lucas Chess 能够打开 PGN 文件,提供多种分析和管理棋局的功能。
由于 PGN 文件是纯文本,你也可以使用任何文本编辑器打开它们。例如,在 Windows 上可以使用记事本;在 macOS 上使用 TextEdit;在 Linux 上使用 Gedit。此外,更高级的编辑器如 Visual Studio Code 也可用于打开和编辑 PGN 文件。
什么是 PGN 棋谱?
PGN(可移植棋局记谱)是一种用于存储和共享棋局数据的文件格式。它被广泛用于以文本形式记录棋局,能够轻松被人类和计算机读取。PGN 文件通常包含棋局的走法,以及棋手姓名、赛事、日期和比赛结果等附加信息。
什么是 PGN 创建器?
PGN 创建器是一种工具或软件,允许用户为棋局生成**PGN(可移植棋局记谱)**文件。它以标准文本格式记录棋局走法,通常还包括棋手姓名和日期等元数据。PGN 创建器使共享、存储和分析棋局变得简便。例子包括在线棋类平台以及像 ChessBase 这样的棋类软件。
什么是 PGNs?
PGNs 是 PGN(可移植棋局记谱) 的复数形式,指用于记录和共享棋局的基于文本的文件格式。一个 PGN 文件包含棋局的走法以及棋手姓名、比赛日期和结果等元数据。PGNs 常用于在一个集合中存储多个棋局,便于共享和分析。这些文件既可被人类阅读,也可被棋类软件读取,使 PGNs 成为棋手和分析师的重要工具。
常见问题
Q1: 我可以将 PGN 文件转换为 PDF 以打印棋书吗?
A: 是的,大多数棋类软件(如 ChessBase 或免费转换工具)都可以将 PGN 文件打印为 PDF,包含棋谱图和走法列表,非常适合制作可打印的学习资料。
Q2: PGN 与流行的棋类引擎(如 Stockfish)兼容吗?
A: 当然。Stockfish、Leela Chess Zero 和 Komodo 都可以直接读取 PGN,通过它们的“分析模式”或命令行界面批量分析成千上万局棋。
Q3: PGN 是否存储每步的棋钟时间?
A: 是的,使用特殊标签 [%clk] 放在走法后面(例如 1. e4 [%clk 0:00:30]),记录该步完成后棋钟剩余的秒数。
Q4: 我可以在 PGN 格式中存储 Chess960(费舍尔随机)棋局吗?
A: 是的,通过使用 [Variant “Chess960”] 标签并使用 [FEN “…” ] 标签指定起始位置,你可以完美记录任何随机起始局面。