MailRuChamps / raic-2020

GNU General Public License v3.0
26 stars 27 forks source link

Добавить значения по умолчанию=None в конструкторы классов для python #39

Open viktorov-aa opened 3 years ago

viktorov-aa commented 3 years ago

Сейчас например, чтобы создать EntityAction приходится писать что-то в духе:

EntityAction(repair_action=RepairAction(target=unit_id), move_action=None, build_action=None,
                            attack_action=None)

Исправьте конструктор так, чтобы можно было не задавать пустые action, и писать в духе: EntityAction(repair_action=RepairAction(target=unit_id))

viktorov-aa commented 3 years ago

Исправляется вроде легко, класс будет выглядеть так:

class EntityAction:
    def __init__(self, move_action=None, build_action=None, attack_action=None, repair_action=None):
        self.move_action = move_action
        self.build_action = build_action
        self.attack_action = attack_action
        self.repair_action = repair_action

Аналогично было бы неплохо и для других классов

kuviman commented 3 years ago

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

У себя вы можете править модели как угодно

viktorov-aa commented 3 years ago

Правильно ли я понимаю, что я могу у себя поправить объекты в model так, как считаю нужным и прислать вместе со своей стратегией? Просто, если model поменяется, мне придется перекачать и повторить свои изменения?

kuviman commented 3 years ago

да, можете