Skip to content

J-Bakuli/Simulation_Bakuli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Проект представляет собой симуляцию динамической экосистемы, где сущности‑агенты взаимодействуют в виртуальном пространстве (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). При превышении времени паузы симуляция автоматически останавливается.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages