Разработать программу упрощенной имитации поведения объектов. Объекты
реализуются через наследование: абстрактный класс, интерфейс → наследники.
Рабочий цикл программы:
- запускается процесс симуляции, генерируются объекты классов согласно заданию;
- симуляция завершается, выводится статистическая информация.
Для решения задачи:
- создать интерфейс IBehaviour, задающий поведение объекта;
- создать иерархию классов, определяющие объекты по варианту и реализующие
интерфейс IBehaviour.
- создать класс Habitat, определяющий размер рабочей области и хранящий список
объектов, с параметрами заданными вариантом. Предусмотреть в классе метод Update,
вызывающийся по таймеру и получающий на вход время от начала симуляции. В
данном методе должны генерироваться новые объекты и помещаться в поле визуализации в
случайном месте. Визуализация объекта – схематично.
Рабочее окно программы – область визуализации среды обитания объектов.
3. Симуляция должна запускаться по клавише S и останавливаться по клавише E. При
остановке симуляции список уничтожается. Время симуляции должно отображаться текстом в
области визуализации и скрываться/показываться по клавише T;
4. По завершению симуляции в поле визуализации должна выводиться информация о
количестве и типе сгенерированных объектов, а также время симуляции. Текст должен быть
форматирован, т.е. выводиться с использованием разных шрифтов и цветов.
5. Параметры симуляции задаются в классе Habitat.
6. Для создания «интеллекта» в программе
- создать абстрактный класс BaseAI, описывающий «интеллектуальное поведение»
объектов по варианту. Класс должен быть выполнен в виде отдельного потока;
- реализовать класс BaseAI для каждого из видов объекта, включив в него поведение,
описанное в индивидуальном задании по варианту;
- синхронизовать работу потоков расчета интеллекта объектов с их рисованием. Рисование
должно остаться в основном потоке. Синхронизация осуществляется через передачу данных в
основной поток;
- добавить в панель управления кнопки для остановки и возобновления работы интеллекта
каждого вида объектов. Реализовать через засыпание/пробуждение потоков.
1. Объект – кролик. Бывают 2 видов: обыкновенный и альбинос. Обыкновенные кролики рождаются
каждые N1 секунд с вероятностью P1. Альбиносы рождаются каждые N2 секунд, при условии, что их
количество менее K% от общего числа кроликов, в противном случае – не рождаются вовсе.
2. Обыкновенные кролики двигаются хаотично со скоростью V. Хаотичность достигается
случайной сменой направления движения раз в N секунд.
3. Альбиносы двигаются по оси X от одного края области обитания до другого со скоростью
V.
156
470
Ответы на вопрос:
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
dbjshsg13.10.2021 14:02
-
Dobriyboy18.10.2022 20:38
-
Bludmila050922.03.2022 19:28
-
gulya10428.04.2021 20:18
-
nastyakhariton131.03.2021 20:33
-
fredkalash18.03.2023 16:05
-
Mashaaakuzzz25.01.2023 01:27
-
Katri192118.01.2023 06:15
-
KennyPro20.07.2021 01:11
-
esavinova6614.07.2022 07:05
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.