Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌍 Simulation

Консольная симуляция экосистемы, написанная на Go.

Проект моделирует взаимодействие различных объектов на двумерной карте. Животные самостоятельно принимают решения, перемещаются по миру, ищут пищу, размножаются и погибают, а растения со временем восстанавливаются, поддерживая баланс экосистемы.


Возможности

  • Двумерный игровой мир
  • Травоядные ищут ближайшую траву и питаются ею
  • Хищники охотятся на травоядных
  • Существа постепенно голодают
  • Размножение животных
  • Восстановление травы
  • Пауза и продолжение симуляции
  • Завершение программы в любой момент

Что я изучил в этом проекте

Во время разработки проекта я познакомился с:

  • интерфейсами;
  • композицией структур;
  • разделением данных и бизнес-логики;
  • организацией приложения через сервисы;
  • моделированием поведения объектов;
  • работой со структурами, срезами и map.

Архитектура

Проект разделен на отдельные сущности и сервисы.

  • Entity — описание объектов игрового мира.
  • Service — логика поведения существ и взаимодействия между ними.
  • World — управление состоянием игрового мира.
  • Renderer — отображение симуляции в консоли.

Управление

Действие Клавиша
Пауза / продолжить p + Enter
Выход q + Enter

Запуск

Требования

  • Go 1.20+
  • Git

Клонирование репозитория

git clone https://github.com/themidnightdev404/simulation.git
cd simulation

Запуск

go run .

Что можно улучшить

В дальнейшем проект можно расширить:

  • добавить новые виды существ;
  • реализовать разные типы местности;
  • добавить параметры симуляции;
  • сохранить статистику жизни экосистемы;
  • визуализировать симуляцию в графическом интерфейсе.

About

Console ecosystem simulation in Go

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages