Суть проекта - шахматы. Первый этап, то есть отрисовка доски, прошел успешно:
Далее надо нарисовать фигуры, 80х80 картинки которых я закинул в корневую папку.
Фигуры должны рисоваться исходя из значений ячеек матрицы
pieces, которая на начало игры
[['bR','bN','bB','bQ','bK','bB','bN','bR'],
['bP','bP','bP','bP','bP','bP','bP','bP',],
['','','','','','','','',],
['','','','','','','','',],
['','','','','','','','',],
['','','','','','','','',],
['wP','wP','wP','wP','wP','wP','wP','wP',],
['wR','wN','wB','wQ','wK','wB','wN','wR']]
где первая буква
(b/w) - цвет, а
K, Q, R, B, N или P - фигура (или пешка).
Собственно, прорисовка фигур выглядит так:
for i in range(8):
for j in range(8):
x = 50 + i * 80 # 50 - отступ, 80х80 - размер клетки
y = 50 + j * 80
if pieces[i][j] == 'wP':
img = PhotoImage(file="WhitePawn.png")
elif pieces[i][j] == 'wK':
img = PhotoImage(file="WhiteKing.png")
elif pieces[i][j] == 'wQ':
img = PhotoImage(file="WhiteQueen.png")
elif pieces[i][j] == 'wR':
img = PhotoImage(file="WhiteRook.png")
elif pieces[i][j] == 'wN':
img = PhotoImage(file="WhiteKnight.png")
elif pieces[i][j] == 'wB':
img = PhotoImage(file="WhiteBishop.png")
elif pieces[i][j] == 'bP':
img = PhotoImage(file="BlackPawn.png")
elif pieces[i][j] == 'bK':
img = PhotoImage(file="BlackKing.png")
elif pieces[i][j] == 'bQ':
img = PhotoImage(file="BlackQueen.png")
elif pieces[i][j] == 'bR':
img = PhotoImage(file="BlackRook.png")
elif pieces[i][j] == 'bN':
img = PhotoImage(file="BlackKnight.png")
elif pieces[i][j] == 'bB':
img = PhotoImage(file="BlackBishop.png")
canvas.create_image(x,y, anchor=NW, image=img)
print(x, ' ', y, ' ', img) #отладка
img = ''
Картинки на месте:
но ничего не рисуется. При этом если попробовать нарисовать какую-либо
одну фигуру, проблем не возникает.
Собственно, вопрос, что делать? Как нарисовать 32 картинки?