Excerpt |
---|
Oppgaven handler om spillet Sokoban (prøv spillet her). Sokoban består av et brett med vegger, tomme ruter, målruter, bokser og en spiller. Spilleren skal forsøke å flytte boksene til hver sine målrute. Spilleren har klart brettet når alle boksene står på en målrute. |
...
Brett som bilde | Brett som tekst | Forklaring |
---|---|---|
####### | Utgangsposisjon for et brett, med tomme ruter (' '), vegger ('#'), målruter ('.'), bokser ('$' og '*') og spilleren ('@'). En boks som står på en tom rute er rød ('$'), en boks på en målrute er grønn ('*'). | |
####### | Spilleren har beveget seg litt og så dyttet en boks mot venstre / vest. | |
####### | Spilleren har skjøvet en boks mot en vegg og kan ikke lenger flytte den, så spillet . Spillet er låst og tapt (ihvertfall uten angre-mulighet). | |
####### | Spilleren har plassert boksene på hvert sitt mål og har klart brettet. |
...
- Programmet må bestå av minst to klasser; en klasse for å representere (innholdet i) en rute på brettet, og en spillklasse for brettet med ruter. Disse må skal være ordentlig innkapslet.
- Spillet må kunne spilles via JavaFX-applikasjonen som spesifisert under.
- Spillklassen må kunne initialiseres med en String på standard-formatet , som beskrevet i tabellen under.
- Spillklassen må ha en toString()-metode som returnerer en String på samme format som brettet initialiseres med.
...
Du kan nå kjøre applikasjonen (Game.fxml > Run As > FXML Application) og teste spillet ditt.
Met hjelp Hjelp til kjøring av JavaFX og generelt om øvinger finner du i Hjelp til øvinger.
...
Hvert nivå innbærer at all funksjonalitet i de lavere nivåene fungerer som beskrevet.