Wirtualny Ekosystem to biocybernetyczny symulator rozwoju ekosystemu, który tworzą różne gatunki organizmów.
Filmik przykładowego rozwoju ekosystemu przez 2000 kroków: https://youtu.be/jfDgBxSQkB8
Każdy organizm prowadzi różne funkcje życiowe podczas kroków symulacji.
- Żywienie się - jeśli stworzenie nie rozmnaża się w danym kroku, próbuje spożyć jeden posiłek. Każdy gatunek robi to na własny sposób.
- Rozmnażanie się - zakładając, że w sąsiedztwie są niezajęte przez jakikolwiek organizm nisze, to jeśli najedzenie danego organizmu przekroczy koszt narodzenia potomka, rozmnoży się on. Spowoduje to odjęcie z punktów najedzenia kosztu potomka.
- Starzenie się - każdy żywy organizm zwiększa swój wiek o 1 w każdym kroku symulacji. Jeśli wiek przekroczy maksymalny wiek, organizm umiera i staje się pożywieniem dla grzybów, jednak dopóki nie zostanie wchłonięty, nadal zajmuje swoją niszę.
Są pasywnymi stworzeniami. Odżywiają się poprzez fotosyntezę i rozmnażają się względnie szybko. Przyjmują znak zielonej gwiazdki (*).
Organizmy oczyszczające ekosystem z trupów, którymi się pożywiają. Żyją dość długo w porównaniu z innymi gatunkami. Reprezentowane są przez niebieskie krzyżyki (#).
Bakterie to gatunek agresywny. Atakują glony, a jeśli nie znajdą ich w sąsiedztwie, wchłaniają inne bakterie. Są organizmami żyjącymi bardzo krótko, jednak nadrabiają to względnie szybkim rozmnażaniem się. Po wchłonięciu glonu lub innej bakterii, zajmuje niszę wchłoniętego organizmu. W przypadku wchłonięcia glonu zwiększa to szanse przetrwania bakterii, ponieważ najprawdopodobniej znajdzie się ona wtedy obok kolejnego glonu, który będzie mogła wchłonąć w następnym kroku symulacji. Wyświetlane są w kolorze czerwonym jako (@).
Skompilowane pliki aplikacji znajdują się pod tym linkiem: https://github.com/HoutarouOreki/wirtualnyEkosystem/releases.
Pobierz wirtualnyEkosystem.exe
i dwukrotnie kliknij.
Pobierz wirtualnyEkosystem
.
Następnie zmień właściwości pliku, aby można było go uruchamiać. Można to zrobić albo we właściwościach pliku, albo za pomocą terminala:
$ cd <ścieżka folderu, do którego został pobrany plik>
$ chmod a+x wirtualnyEkosystem
Uruchom plik albo klikając go dwukrotnie, albo z terminala, wpisując będąc w folderze pliku:
./wirtualnyEkosystem
Po uruchomieniu aplikacji, automatycznie rozpocznie się proces tworzenia nowego wirtualnego ekosystemu. Należy podać rozmiar środowiska oraz początkową liczebność każdego gatunku organizmów. Po utworzeniu środowiska zostanie ono wyświetlone wraz z instrukcjami jego obsługi.
Instrukcje znajdują się również wewnątrz aplikacji.
Powoduje wykonanie kroku symulacji, podczas którego organizmy wykonają swoje czynności życiowe.
Wyświetla środowisko, jednak nie wykonuje kroku symulacji.
Wyświetla statystyki dla ostatnich ile
kroków (domyślnie 20).
Rysuje wykres liczebności gatunków podczas ostatnich 120 kroków.
Eksportuje do pliku .csv o podanej nazwie następujące dane o ekosystemie:
- szerokość środowiska
- wysokość środowiska
- długość życia poszczególnych gatunków organizmów
- ich maksymalne najedzenie
- ich koszt narodzin
- statystyki liczebności poszczególnych organizmów podczas wszystkich kroków
- statystyki najedzeń
- statystyki rozmnażania się
Z wyeksportowanych danych można np. tworzyć wykresy w Excelu:
Dostałem zbyt dużo czasu na wykonanie tego projektu.
Opuszcza obecne środowisko, następnie pozwala utworzyć nowe, lub wyjść z programu.
Wyświetla obecne ustawienia wyświetlania, oraz informacje o tym, jak je zmienić.
Aplikacja używa nagłówkowej biblioteki open-source Termcolor. Ułatwia ona kolorowanie tekstu konsoli na różnych systemach.
Pełna dokumentacja kodu (100% klas i metod) znajduje się pod tym linkiem: https://houtarouoreki.github.io/wirtualnyEkosystem/annotated.html
Projekt został napisany przy użyciu Qt Creatora w ramach Programowania Obiektowego w C++ na Politechnice Lubelskiej.