wiki:architecture
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:
- Wyświetla menu główne
- Wyświetla ustawienia wyścigu
- Wyświetla wyścig
- Wyświetla ekran końcowy
- Wyświetla ekran z wszystkimi wynikami
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)
wiki/architecture.txt · ostatnio zmienione: 2025/03/31 19:26 przez mateusz