Я довольно новичок в кодировании и у меня проблемы с доступом к атрибутам объектов внутри другого объекта. Я попытался явно создать метод для возврата атрибута на неопределенный срок. Кажется, я не могу найти хорошее объяснение в Интернете.
Код, над которым я работаю, имеет конечную цель - имитировать игру тральщика. Чтобы сделать это, я создал класс с именем minefield.
class Minefield:
def __init__(self, height, width, bombs):
self.height = height
self.width = width
self.bombs = bombs
self.flagged_amount = 0
self.minefield = []
self.setup_minefield()
def setup_minefield(self): # setup for the minefield
for x in range(self.height):
self.minefield.append([])
for y in range(self.width):
self.minefield[x].append(Cell)
А также класс с именем Cell
class Cell:
def __init__(self): # setup for new cell
self.revealed = False
self.bomb = False
self.flag = False
self.nearby_bombs = 0
Теперь проблема, с которой я сталкиваюсь, заключается в том, что при попытке получить доступ Атрибут ячейки в минном поле я получаю сообщение об ошибке: AttributeError: тип объекта «Ячейка» не имеет атрибута «flag»
Код, который я пытаюсь запустить прямо сейчас (что приводит к ошибке) с использованием этих классов это довольно просто (см. ниже), но мне нужно будет использовать эти атрибуты для многих запланированных функций позже в программе.
my_minefield = Minefield(5, 5, 2)
if my_minefield.minefield[1][1].flag:
print ("yay")
Я не уверен, почему это не работает, и очень признателен за любую помощь в понимании вопрос. Спасибо!