Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

PlantUML Macro
interface GenericGridGame {
    +void addGridListener(GridListener gridListener)
    +void removeGridListener(GridListener gridListener)
	+flere metoder..
}

interface GridListener {
    +void gridChanged(ObservableGrid grid, int xcol, int yrow, int w, int hString value)
}

class DinSpillklasse{
}

 
GenericGridGame <|.. DinSpillklasse
DinSpillklasse --> "*" GridListener: gridListeners

Lag GridListener-grensesnittet, som gjør det mulig å lage en observatør av spillklassen din og krever metoden:

  • gridChanged(GenericGridGame gridGame, int col, int row, String value) - metoden kalles for å gi beskjed om at en eller flere ruter i rutenettet (grid) innenfor det angitte rektanglet er endret. Rektanglet er angitt med posisjon x, y og har fått en ny verdi Value. Oppdater med eventuelt flere argumenter avhengig av hva du føler spillet ditt trenger. Du står og fritt til å endre typen til variablene i dette grensesnittet.

Lag en eksempelklasse som implementerer dette grensesnittet. For eksempel GenericGameListener, som kan kunne lytte på spillet ditt, og vise at endringer oppdateres. Vis at GenericGameListener får med seg endringer som skjer i spillet ditt med å printe til konsollen når det skjer en endring. Du kan og implementere GridListener i GameController fra øving 4 og 7.

Lag et grensesnitt GenericGridGame som inkluderer følgende metoder for lytterhåndtering:

  • void addGridListener(GridListener) - registrerer en lytter skal skal ha beskjed hver gang rutenettet endres
  • removeGridListener(GridListener)- avregistrere en lytter som tidligere er registrert med addGridListener

Spillet ditt et skal implementere dette grensesnittet slik at lyttere kan registreres til spillet. Tanken er at lyttere skal kunne registrere seg selv som lytter til spillet ditt. Spillklassen din må da holde styr på sine lyttere, og bør bruke de to sistnevnte metodene til dette. Dette er observert-delen av observatør-observert-teknikken.

 

...