Dette prosjektet er utviklet som mappeoppgave i emnet IDATx2003 Programmering 2 ved NTNU våren 2025. Prosjektet er et Java-basert brettspillrammeverk med støtte for flere spillvarianter og et grafisk brukergrensesnitt i JavaFX.
Prosjektet består av tre spill:
- LadderGame – Et stigespill med spesialfelter og lasting/lagring av brettoppsett fra JSON.
- RaceGame – Et enkelt spill som gjenbruker modellstruktur fra LadderGame for å demonstrere fleksibilitet og utvidbarhet.
- ChessGame – Et sjakkspill med egen modellstruktur, som viser bruk av arv og objektorientert spilllogikk.
- Grafisk brukergrensesnitt laget med JavaFX (uten FXML)
- Støtte for opprettelse og lagring av spillere (CSV)
- Støtte for lasting av brettkonfigurasjon i LadderGame (JSON)
- Bruk av designmønstre: MVC, Factory, Observer
- Egendefinert
MultiplyActionsom viser hvordan nye actions kan legges til - Støtte for flere spillere med egne navn og ikoner
- Enhetstesting med JUnit og testdekningsrapport via JaCoCo
- Java 21 (LTS)
- Maven 3.9 eller nyere
- JavaFX SDK 21 må være installert lokalt (hvis man ønsker å kjøre via JAR-filen)
mvn clean packagemvn javafx:runjava \
--module-path /path/to/javafx-sdk-21/lib \
--add-modules javafx.controls,javafx.fxml \
-jar target/IDATT2003-mappeoppgave-g-46-1.0-SNAPSHOT.jarErstatt /path/to/javafx-sdk-21/lib med din lokale sti.
-
JUnit 5 for enhetstesting
-
JaCoCo for dekning (70–80 %)
-
Testene dekker sentrale komponenter i alle tre spill
mvn clean installÅpne target/site/jacoco/index.html for å se rapporten. UI klasser er utelatt fra rapporten.