Роботы
1. Необходимо создать приложение, в котором пользователи смогут создавать роботов и устраивать битвы между роботами.
Робот имеет имя, максимальный запас здоровья, текущий запас здоровья и мощность. Робот умеет атаковать других роботов, при это здоровье атакуемого робота уменьшается на значение мощности атаковавшего робота. Роботы умеют ремонтировать себя. При этом значение здоровья увеличивается на значение мощности.
2. Необходимо реализовать разговоры между роботами во время битвы. Каждого робота можно оснастить речевым модулем (у робота может и не быть речевого модуля). Каждый речевой модуль содержит три фразы (приветствие, атака, получение урона). Каждую из них робот должен произносить в соответствующей ситуации.
При создании робота можно оснастить одним из стандартных речевых модулей. Затем речевой модуль можно убрать или заменить. У пользователя не должно быть возможности создавать, удалять или редактировать речевые модули. Он может только пользоваться готовыми.
3. Добавить в приложение возможность оснащать роботов различными предметами, которые влияют на поведение роботов. Пользователь в любой момент может выбрать предмет используемый роботом. Любой робот может использовать только один предмет.
Реализованы предметы:
- Щит. Забирает 50% урона.
- Источник помех для речевого модуля. Робот начинает произносить фразы не подходящие в данной ситуации.
4. Во время боя добавлена возможность Отмены-Повторения (Undo-Redo) последних действий. Робот может атаковать другого, восстанавливаться, изменять оружие. Затем все это можно отменить\повторить. Во время отмены\повтора: атаки, восстановления будут изменяться параметры робота - числовые значения. Когда мы отменяем\повторяем смену оружия, у нас будет в списке оружия меняться значение (данная возможность реализована с помощью делегатов)