Контрольная работа #4
В данном задании вам нужно будет написать приложение с несколькими домашними животными - котами (Жирафами, верблюдами, животное можно выбрать на свое усмотрение), и имитировать взаимодействие с ними в виде кормления, игры и лечения
Этап 1
Каждый кот обладает следующими характеристиками:
При добавлении в приложение кота сытость, настроение и здоровье устанавливаются в значение 0.
При запуске приложения отображается таблица с котами. Должна быть возможность добавить нового кота с заполнением имени и возраста. Остальные данные устанавливаются в 0. Нужно предусмотреть обработку исключения, когда пользователь не вводит данные или данные не соответствуют формату.
Таблицу с котами вывести отсортированной по характеристике “средний уровень жизни кота”. Эта характеристика рассчитывается как средняя по уровням сытости, настроения и здоровья. Ее тоже нужно вывести. Сортировку реализовать с помощью реализации интерфейса IComparer Так же вы можете использовать сортировку по списку класса List
Этап 2
Кроме добавления кота пользователь может применить к одному из них следующие действия:
Покормить кота:
Уровень сытости увеличивается
Уровень настроения увеличивается
Уровень здоровья уменьшается
Поиграть с котом:
Уровень сытости уменьшается
Уровень настроения увеличивается
Уровень здоровья увеличивается
Лечить кота
Уровень сытости остается без изменений
Уровень настроения уменьшается
Уровень здоровья увеличивается
Увеличение и уменьшение различных уровней зависит от возраста кота:
От 0 до 5:
Увеличение характеристик происходит с шагом 10
Уменьшение характеристик происходит с шагом 2
От 6 до 10
Увеличение характеристик происходит с шагом 5
Уменьшение характеристик происходит с шагом 5
От 10 и выше
Увеличение характеристик происходит с шагом 2
Уменьшение характеристик происходит с шагом 10
Логику по определению шагов уменьшения/увеличения характеристик реализовать, используя паттерн “стратегия”
Этап 3
Добавить больше случайностей в жизнь кота. Например при кормлении случайно с определенной вероятностью вызвать событие отравления кота. При этом уровень сытости не увеличивается, а уровни настроения и здоровья сильно уменьшаются.
Или при игре добавить случайное событие травмирования кота при аналогичном уменьшении уровней настроения и здоровья. Предусмотреть в этих случая выход уровней за минимальные границы и обработать событие “кот умер” и удалить его из списка котов
Также на этом этапе нужно организовать запись и чтение сведений о котах из json-файла
Этап 4
На этом этапе вам необходимо с помощью делегатов создать события, которые будут вызываться при достижении максимальных значений характеристик сытости, настроения и здоровья. То есть на каждую характеристику по два события - одно вызывается если значение характеристики уходит ниже минимального, второе - если значение характеристики уходит выше максимального.
| Гарантия на работу | 1 год |
| Средний балл | 4.53 |
| Стоимость | Назначаете сами |
| Эксперт | Выбираете сами |
| Уникальность работы | от 70% |