Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Oppdatert ødelagt link
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 bildeBrett som tekstForklaring
#######
#.@ # #
#$* $ #
#   $ #
# ..  #
#  *  #
#######

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 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 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.