Как я могу определить несколько объектов класса с для l oop в python? - PullRequest
1 голос
/ 18 апреля 2020

Итак, я делаю основную c игру на основе плиток с пигмеем. Мне нужно визуализировать сетку плитки размером 20x20 на экране. Я хочу, чтобы каждая плитка была объектом класса, потому что игрок сможет изменять окружение.

Мне нужно хранить объекты плитки в двумерном массиве. Моя проблема - определить все объекты, используя для l oop, каждый из которых имеет разные имя и свойства.

Возможно ли это сделать или есть лучший способ рендеринга тайлов в пигме?

Это класс, нет смысла показывать другой код рендеринга плитки, так как он даже не работает удаленно:

visGround = [[]]

class groundTile(object):
    def __init__(self, tileType, act_x, act_y, game_x, game_y):
        self.tileType = tileType
        self.act_x = act_x
        self.act_y = act_y
        self.game_x = game_x
        self.game_y = game_y

Заранее спасибо!

1 Ответ

2 голосов
/ 18 апреля 2020

Это должно делать то, что вам нужно,

gridHeight = 20
gridWidth = 20

visGround = []


class groundTile(object):
    def __init__(self, tileType, act_x, act_y, game_x, game_y):
        self.tileType = tileType
        self.act_x = act_x
        self.act_y = act_y
        self.game_x = game_x
        self.game_y = game_y


for i in range(gridHeight):
    visGround.append([])
    for j in range(gridWidth):
        visGround[i].append(groundTile('Title Type', 'Act X', 'Act Y', j, i))

print(visGround)

Вы можете настроить размер сетки в верхней части, и это изменит размер 2 массивов. Я поместил i и j в игру x и y в предположении, что они представляют местоположение в сетке.

...