我正在嘗試在 python 中使用一些與國際象棋相關的庫(例如 chessnut 和 chess),它們使用以下符號
r1bqkb1r/pppp1Qpp/2n2n2/4p3/2B1P3/8/PPPP1PPP/RNB1K1NR b KQkq - 0 4
我已經搜索過它并沒有找到任何東西。我怎樣才能操縱它,我怎樣才能將標準代數符號(例如“d4 Nc6 e4 e5 f4 f6 dxe5 fxe5”)轉換成這個新符號?
uj5u.com熱心網友回復:
該符號稱為 FEN(Forsyth–Edwards Notation),看起來 python-chess 知道并可以決議它。
這種表示法并不真正等同于移動串列——這是用于指定一個位置,它也可能是一個起始位置。沒有關于游戲如何達到這一點的完整記錄。
Python-chess 可以將您加載到其中的任何棋盤位置(例如使用 PGN 表示法)轉換為這種表示法。
uj5u.com熱心網友回復:
您可以使用它python-chess來完成這項作業。這是采用 SAN 字串并在板上進行這些移動的代碼:
import chess
san = 'd4 Nc6 e4 e5 f4 f6 dxe5 fxe5'
board = chess.Board()
for move_san in san.split(' '):
board.push_san(move_san)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/342456.html
上一篇:將C專案轉換為庫以在QT中使用
