Как изменить вызываемую переменную? (в частности Объекты)

Я пытаюсь создать небольшую игру по сбору монстров с возможностью собирать несколько монстров одного типа с переменными характеристиками между ними. У меня проблема в том, что я не знаю, как создать объект, который не перезаписывает предыдущий! Предыдущий объект создан, поэтому, если я поймал слизь, через пять минут я мог поймать гоблина... который перезаписал мою слизь.

Это будет сделано в Renpy, если это что-то изменит.

Единственное, что я могу придумать, это длинное выражение If, проходящее через каждое число, чтобы увидеть, является ли оно тем, которое мне нужно, но это кажется таким запутанным, особенно потому, что мне нужно будет проходить его каждый раз, когда я хочу сослаться на . Я пытался искать что-то в Интернете, но ни один из учебников, похоже, не затрагивает этот аспект.

init python:
    class Monster:
        def __init__(self, species, hp, slot)
            self.type = species
            self.health = hp
            self.is = slot

label start:
    $ Slot1 = Monster("Null", 0, 2)
    $ Slot2 = Monster("Null", 0, 2)
    $ Slot3 = Monster("Null", 0, 3)
    ...continue code

label Caught:
    #Assume Species and HP are assigned before calling this label)
    $ X = 1
    $ Counter = 0
    while Counter = 0
        if Slot[X].slot = 1:
            $ X += 1
        elseif Slot[X].slot = 3:
            "You have too many Monsters"
            $ Counter = 1
        else:
            $ Slot[X] = Monster(Species, HP, 1)    

Какой код мне нужно сделать, чтобы это работало? Это должно увеличиваться через них, пока не найдет открытый слот, предполагая, что мой маленький вымышленный [X] может фактически изменить создаваемую/вызываемую переменную.

Что вы имеете в виду под «Я не знаю, как создать объект, который не перезаписывает предыдущий!»? Вы находитесь в последней строке фрагмента кода, создавая новый экземпляр, поэтому, конечно, он перезапишет ваш предыдущий экземпляр объекта.

Diaco 30.03.2019 13:48

вы должны использовать ==, а не = в своих if/elseif заявлениях

Robin Zigmond 30.03.2019 13:59

Нет, я это знаю, я хочу указать, какая переменная создается. Я не хочу делать Slot1, а через пять минут сделать Slot1, перезаписывая последнего пойманного монстра.

Lord Tzeentch 30.03.2019 14:03

Почему бы вам не использовать список монстров? Затем вы можете просто добавить новый.

Dan D. 30.03.2019 14:39
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
4
62
0

Другие вопросы по теме