Я работаю над задачей OOP, поскольку мы только что с ней познакомились. Мы должны создать два класса: Animal
и Desert
. Они определили для нас множество атрибутов и методов, которые должны иметь эти классы.
Desert
содержит атрибут Grid
, который некоторые Animal
объекты должны быть распределены по. Объекты Animal
представлены 'A'
там, где они присутствуют в сетке, но также сохраняют свою позицию локально со своими атрибутами Across
и Down
.
В __init__
из Animal
класса, мы должны выбрать случайную позицию на Grid
, чтобы разместить животное. Это означает установку атрибутов Across
и Down
на случайное значение, а также изменение Grid
для отображения 'A'
в этом месте.
Я не уверен, как я могу go получить доступ к Grid
из объектов Animal
. Вот соответствующий код, комментарии относятся к различным пунктам задачи:
class Animal(Desert):
# Constructor
def __init__(self):
# Generate a pair of random numbers between 0 and 39.
rand_num1 = randint(0, 39)
rand_num2 = randint(0, 39)
# Place an animal at that random position.
self.Across = rand_num1
self.Down = rand_num2
# HERE IS WHERE I WOULD LIKE TO MODIFY THE GRID ATTRIBUTE OF DESERT
# Initialise the animal's score to 0.
self.Score = 0
class Desert:
# Constructor
def __init__(self):
# attributes:
self.Grid = []
self.StepCounter = 0
self.AnimalList = []
self.NumberofAnimals = 0
# Initialises an empty grid
self.Grid = [['ロ' * 40] * 40]
# Creates 5 animal objects which are added to the AnimalList
for _ in range(5):
self.AnimalList.append(Animal())