Я просто работаю над новым проектом на Python с Tkinter.Я новичок в Python, поэтому мне нужна помощь.Я хочу создать 2D-массив и показать его в окне.
Вот мой код:
maze =[[player(), invisblock(), invisblock(), invisblock()],
[invisblock(),invisblock(),invisblock(), invisblock()],
[invisblock(), invisblock(), invisblock(), invisblock()],
[invisblock(), invisblock(), invisblock(), invisblock()], ]
Плеер выглядит так:
def player():
block = tkinter.Label(window)
block.image = tkinter.PhotoImage(file="down.png")
block['image'] = block.image
block.config(text='karel_down')
return block
И печатается как:
def printt():
for i, block_row in enumerate(map):
for j, block in enumerate(block_row):
block.grid(row=i, column=j)
window.update()
window.after(250)
Все работает нормально,но у меня небольшая проблема.Я хочу создать другую функцию, подобную этой (сейчас она не работает):
def create_world(row,col):
for i in range(row):
for j in range(col):
maze[i][j] = invisblock()
Поэтому я хочу заполнить весь свой лабиринт строкой и столбцом из create_world с помощью invisblock ().Пример: create_world (10,10) и создаст лабиринт 10x10 invisblock ().Я не хочу заполнять вручную, как в моем первом примере кода (maze = [[player () ...), но с помощью функции).Короче говоря, я хочу создать исходный массив объектов «умнее».Спасибо !!