Как вы вызываете один и тот же атрибут класса для нескольких экземпляров, используя цикл for в Python? - PullRequest
0 голосов
/ 12 октября 2019

Я пытаюсь использовать цикл for, чтобы проверить, щелкает ли пользователь по слоту инвентаря в моей игре. Я создал слоты с именами «slot1», «slot2», «slot3» и т. Д. Вплоть до «slot13». Мой вопрос действительно таков;Как добавить число за «слот» для каждой итерации?

if event.type == pg.MOUSEBUTTONDOWN and event.button == 3:
    for i in range(14):
        if mouse_click and inventory_state and slot+str(i).collidepoint(pos):
            inventory.equip_item(inventory.items[i])

Ответы [ 2 ]

1 голос
/ 12 октября 2019

Не храните слоты в разных переменных, но в списке. Затем вы можете перебрать этот список:

for i in range(13):
    if mouse_click and inventory_state and slots[i].collidepoint(pos):
        inventory.equip_item(inventory.items[i])

0 голосов
/ 12 октября 2019

Добро пожаловать в сообщество Трипти. для диапазона до 13 вы можете сохранить значение i в переменной и добавлять с помощью «slot» каждый раз. Думаю, это решит твою проблему!

...