Що вдалося зробити
Створено ієрархію класів, яка відповідає вимогам завдання. Для кожного виду тварин реалізовані методи eat(), reproduce() і chooseDirection(). Для травоїдної птиці утінка реалізований метод eat(), який дозволяє їй їсти гусениці. Для підтримки багатопоточності створено пул потоків. Для виведення статистики створено окремий потік.
Що не вдалося зробити
Не було реалізовано підтримку взаємодії між тваринами. Не було реалізовано можливість випадкових мутацій тварин. Не було реалізовано можливість експорту статистики в файл.