Architektura aplikacji
Biblioteki
Użyliśmy bibliotek:
pygame (do rysowania gry, odtwarzania efektów dźwiękowych i pobierania inputu)
pytest (do testów hitboxów i wektorów)
pyinstaller (do pakowania gry do dystrybucji)
Mogliśmy użyć wektorów z pygame, ale w związku z wymaganiami konkursu (fizykę trzeba było zaimplementowac samodzielnie) zdecydowaliśmy się na napisanie własnych. Napisaliśmy również własne hitboxy.
Jak działa nasza aplikacji
Punktem startowym aplikacji jest plik main.py. Importuje on klase Game i uruchamia pętlę główną na obiekcie gry. Gra w pętli głównej aktualizuje wszysktie obiekty. Zależnie od stanu gra:
Struktura plików
W folderze assets znajdują się wszystkie assety.
Pliki źródłowe znajdują się w folderze głównym.
Najważniejsze pliki:
game.py - zawiera klasę gry i całą najważniejszą logikę aplikacji
car.py - zawiera kod samochodów gracza i przeciwników
vector.py - zawiera kod wektorów
main_menu.py, game_settings.py, results_screen.py, end_screen.py - zawierają kod 4 różnych menu
build.bat - skrypt kompilowania gry (na windowsa)