Learnng Java language
Программа разбита на несколько лабораторных работ, каждая из которых посвещяна отдельная ветка. Ветка Lab2: Разработать учебную программу. Основная ее задача – разработка упрощенной имитации поведения объектов. Объекты реализуются через наследование: абстрактный класс + интерфейс → наследники. Рабочий цикл программы:
симуляция завершается по другой клавише, выводится статистическая информация.
Для решения задачи:
1) Разработать абстрактный класс объекта:
Объект – кролик. Бывают 2 видов: обыкновенный и альбинос.
Обыкновенные кролики рождаются каждые N1 секунд с вероятностью P1.
Альбиносы рождаются каждые N2 секунд, при условии, что их количество менее K% от общего числа кроликов,
в противном случае – не рождаются вовсе.
2) Создать интерфейс IBehaviour, задающий поведение объекта
(методы: move(), getx(), gety(), sety(), setx() и другие.
Далее будут реализоваться алгоритмы движения объектов в окне программы).
3) Создать класс Habitat (среда), определяющий размер рабочей области и хранящий массив объектов,
с параметрами, заданными вариантом. Предусмотреть в классе метод Update, вызывающийся по таймеру
и получающий на вход время, прошедшее от начала симуляции. В данном методе должны генерироваться
новые объекты и помещаться в поле визуализации в случайном месте.
Визуализация объекта - использовать готовые небольшие картинки;
Симуляция должна запускаться по клавише B и останавливаться по клавише E.
Параметры симуляции задаются в классе Habitat.
При остановке симуляции список очищается.
Время симуляции должно отображаться текстом в области визуализации и скрываться/показываться по клавише T;
По завершению симуляции область отображения объектов очищается и в поле визуализации выводится информация
о количестве и типе сгенерированных объектов, а также время симуляции. Текст должен быть форматирован,
т.е. выводиться с использованием разных шрифтов и цветов.
Ветка Lab3: