Как получить фигуру в питон-шахматы - PullRequest
0 голосов
/ 12 апреля 2019

Теперь я использую python-chess для своего шахматного проекта.Я думаю, что нашел использование получения этого через прямое определение.например, chess.Board().piece_at(chess.B1) но я хочу получить его через переменную, есть ли какой-нибудь способ для меня, чтобы получить тип куска.

например, source = 'g1' как получить тип куска для источника?

Ответы [ 2 ]

0 голосов
/ 14 мая 2019

Я действительно не нашел элегантного решения для этого.Но я обнаружил, что он также принимает ввод чисел, но в специальном формате.

squares = [
            'A1', 'B1', 'C1', 'D1', 'E1', 'F1', 'G1', 'H1',
            'A2', 'B2', 'C2', 'D2', 'E2', 'F2', 'G2', 'H2',
            'A3', 'B3', 'C3', 'D3', 'E3', 'F3', 'G3', 'H3',
            'A4', 'B4', 'C4', 'D4', 'E4', 'F4', 'G4', 'H4',
            'A5', 'B5', 'C5', 'D5', 'E5', 'F5', 'G5', 'H5',
            'A6', 'B6', 'C6', 'D6', 'E6', 'F6', 'G6', 'H6',
            'A7', 'B7', 'C7', 'D7', 'E7', 'F7', 'G7', 'H7',
            'A8', 'B8', 'C8', 'D8', 'E8', 'F8', 'G8', 'H8',
        ]

Это наименование на доске, поэтому вы можете использовать chess.Board().piece_at(squares.index(source.capitalize())).symbol() для получения его символа.

0 голосов
/ 12 апреля 2019

У вас должен быть доступ к объекту объекта, и вы можете получить тип объекта из объекта объекта, подобного этому.(Вам также может понадобиться символ или цвет)

import chess
board = chess.Board()
piece = board.piece_at(chess.B1)
piece_type = piece.piece_type
piece_color = piece.color
piece_symbol = piece.symbol()

print(piece_type)
print(piece_symbol)
print(piece_color)
...