我正在尝试创建一个神经网络来下棋,但首先,我需要将棋盘转换为整数列表。我正在为棋盘和游戏使用python-chess模块。我目前有一个棋盘类,但找不到将其转换为列表的方法。
我曾尝试使用该chess_board.epd()
方法,但它返回的格式方案难以转换。
这是我需要的代码:
board = chess.Board() # Define board object
board.convert_to_int() # Method I need
现在,用.epd()
我得到的方法"rnbqkbnr/pppppppp/8/8/8/5P2/PPPPP1PP/RNBQKBNR b KQkq -"
如您所见,解析和转换为整数列表非常困难,因为有/8/
' 和/5P2/
.
预期的输出是这样的(逐行):
[4, 2, 3, 5, 6, 3, 2, 4, 1, 1, 1, 1, 1, 1, 1, 1, ... -1, -1, -1, -1,-1, -1,-1, -1, -4, -2, -3, -5, -6, -3, -2, -4]
例如,这些可以是整数映射到 peices 的内容:
pawn - 1
knight - 2
bishop - 3
rook - 4
queen - 5
king - 6
白色可以是正整数,黑色可以是负整数。