Zaawansowane programowanie w C++ - projekt, semestr 2024Z.
- Mikołaj Garbowski
- Michał Łuszczek
Oprogramowanie przeprowadzające ewolucję sztucznych pojazdów w 2D. Chodzi o wyewoluowanie pojazdu, który dotrze jak najszybciej do końca. Coś podobnego dostępne jest pod adresem: http://rednuht.org/genetic_cars_2/. Przydatna może być biblioteka do symulacji fizyki, np. Box2D. Stopień skomplikowania trasy powinien rosnąć wraz z odległością od początku. Trasa powinna jednak być przejezdna dla domyślnego pojazdu. Ewolucja powinna odbywać się na różnych trasach, aby możliwe było wyewoluowanie jak najlepszego pojazdu, a nie tylko dopasowanie się do konkretnej losowej trasy, tak aby przeskoczyć konkretną dolinkę.
- Box2D - silnik fizyczny
- ImGui - graficzny interfejs użytkownika
- SFML - obsługa grafiki
- ImGui-SFML - biblioteka łącząca SFML z ImGui
apt update
apt install -y build-essential \
git \
cmake \
libwayland-dev \
libxkbcommon-dev \
libxrandr-dev \
libxinerama-dev \
libxcursor-dev \
libxi-dev \
pkg-config \
libgl-dev \
libxcursor-dev \
libudev-dev \
libfreetype-dev \
libopenal-dev \
libflac-dev \
libvorbis-dev \
libgl1-mesa-dev \
libegl1-mesa-dev \
lcovW głównym katalogu (tym samym co README.md)
cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug
cmake --build buildUruchomienie aplikacji
./bin/Debug/appUruchomienie wszystkich testów
ctest --test-dir buildUruchomienie pojedynczego zestawu testów
./bin/Debug/evolution_testsInstalacja Doxygen na Ubuntu
apt install doxygenW głównym katalogu projektu
doxygenPrzeglądanie dokumentacji w formacie HTML
python3 -m http.server -d doxygen-build/html/Uruchomi lokalny serwer HTTP na porcie 8000, a dokumentacja będzie dostępna pod adresem http://localhost:8000