Проект представляет собой симуляцию динамической экосистемы, где сущности‑агенты взаимодействуют в виртуальном пространстве (WorldMap). Суть проекта - пошаговая симуляция 2D мира, населённого травоядными и хищниками. Кроме существ, мир содержит ресурсы (траву), которыми питаются травоядные, и статичные объекты, с которыми нельзя взаимодействовать - они просто занимают место. 2D мир представляет из себя матрицу NxM, каждое существо или объект занимают клетку целиком, нахождение в клетке нескольких объектов/существ - недопустимо.
Реализован базовый цикл симуляции с поддержкой трёх состояний: Работа (RUNNING) — выполнение шагов симуляции; Пауза (PAUSED) — приостановка с таймаутом; Остановка (STOPPED) — завершение работы.
Ключевые функции: Поиск пищи алгоритмом BFS. Сначала проверяется наличие еды в соседних клетках.Если еда не найдена — запускается поиск в ширину (BFS) с ограничением по глубине (MAX_SEARCH_DEPTH).
Управление симуляцией через консольное меню Пользователь может в реальном времени: 1: Pause — приостановить симуляцию; 2: Continue — возобновить работу; 3: Exit — завершить симуляцию. [MENU] → 1: Pause | → 2: Continue | → 3: Exit
Многопоточная обработка состояний Основной цикл симуляции выполняется в отдельном потоке. Состояние паузы контролируется с помощью таймера (PAUSE_TIMEOUT_MS). При превышении времени паузы симуляция автоматически останавливается.