Excerpt |
---|
Oppgaven handler om å utvide et allerede eksisterende spill fra Øving 04: Objektstrukturer med spill | 2017 med nye funksjoner. |
Del 1 - Angre og gjenta (50%)
...
Obs! For slagskip-spillet skal man ikke implementere angre og gjenta. Se egen artikkel for slagskip. Del 2 skal fremdeles gjøres for slagskip som beskrevet her, med samme metodenavn. Angre- og gjenta-knappene i JavaFX-applikasjonen (se del 3) vil ikke fungere for slagskip.
Del 2 - Lagring (50%)
I denne delen skal du implementere lagring av spill og innlesing av tidligere lagrede spill, slik at en kan fortsette der en slapp, f.eks. med et vanskelig Sokoban-brett. Du må altså definere et egnet filformat, og støtte dette formatet både ved skriving til fil og lesing fra fil. Merk at det kun er nødvendig å lagre nå-tilstanden til spillet, en trenger ikke lagre tilstand knyttet til angring (undo). Det naturlige vil være å ha et tekstlig (i motsetning til binært) format, med én linje pr. rad i spillet og én eller flere tegn pr. rute i raden. Sokoban har forøvrig et definert standardformat (se http://sokobano.de/wiki/index.php?title=Level_format), som det kan være lurt å støtte for å forenkle bruk av eksisterende brett.
...
Før du går i gang med denne delen kan det være lurt å ta en titt på wikisiden for Lesing fra og skriving til fil.
Del 3 - JavaFX
Det er laget en JavaFX-applikasjon som har all funksjonalitet fra øving 4, i tillegg til å støtte lagring og angre/gjenta. For at dette skal fungere er det viktig at metodenavn er som beskrevet over, og at koden ellers er som beskrevet i Øving 4. Du kan da kjøre applikasjonen (interfaces > game > PersistentGame.fxml > Run As > FXML Application) og teste spillet ditt. Demonstrer dette for stud.assen din.
...