Skip to content

NTNU-IDI/IDATT2003-mappeoppgave-g-46

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

IDATx2003 Mappeoppgave – Gruppe 46

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.

Innhold

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.

Funksjoner

  • 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 MultiplyAction som viser hvordan nye actions kan legges til
  • Støtte for flere spillere med egne navn og ikoner
  • Enhetstesting med JUnit og testdekningsrapport via JaCoCo

Krav

  • Java 21 (LTS)
  • Maven 3.9 eller nyere
  • JavaFX SDK 21 må være installert lokalt (hvis man ønsker å kjøre via JAR-filen)

Bygg og kjør applikasjonen

1. Bygg prosjektet

mvn clean package

2. Kjør med Maven

mvn javafx:run

3. Kjør JAR-fil (krever JavaFX SDK manuelt angitt)

java \
--module-path /path/to/javafx-sdk-21/lib \
--add-modules javafx.controls,javafx.fxml \
-jar target/IDATT2003-mappeoppgave-g-46-1.0-SNAPSHOT.jar

Erstatt /path/to/javafx-sdk-21/lib med din lokale sti.

Testing

  • JUnit 5 for enhetstesting

  • JaCoCo for dekning (70–80 %)

  • Testene dekker sentrale komponenter i alle tre spill

Kjør tester

mvn clean install

Åpne target/site/jacoco/index.html for å se rapporten. UI klasser er utelatt fra rapporten.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published