Я новичок в POO.Python, добавьте имена переменных в список/dict
Я на самом деле кодирую игру с pygame, и я хочу добавить имена переменных в список или dict.
У меня есть класс Hero с этим INIT
class Hero:
def __init__(self, posx, posy, image) :
self.name = "Hero"
self.posx = posx
self.posy = posy
self.image = pygame.image.load(image).convert_alpha()
self.width = self.image.get_rect()[2]
self.height = self.image.get_rect()[3]
и у меня есть функция, чтобы показать спрайтов на экране:
def show(self) :
display.blit(self.image, (self.posx, self.posy))
Он работает, нет никаких проблем, я фактически используя это:
captainamerica = Hero(100,400, "sprites/captainamerica/base.png")
captainamerica.show()
ironman = Hero(100,400, "sprites/ironman/base.png")
ironman.show()
Но я хочу использовать это:
listhero = []
listhero.append(captainamerica)
listhero.append(ironman)
i = 0
while i < len(listhero):
listhero[i].show()
Не работает, потому что он принимает значения переменной, а не имена переменных.
Благодарим вас за помощь и сожаление, если мой английский был плохим.
Что вы подразумеваете под * его не работает *? вы должны увеличивать 'i' внутри * while loop * или даже лучше использовать * forloop * следующим образом:' для героя в listhero: hero.show() ' – styvane
просто добавьте следующую строку чуть выше определения определения в классе – Ankanna