Versions Compared

Key

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

...

JavaFX-app

Konsollbasert IO er greit for å teste spillet, men det er kanskje artigere å lage en ordentlig app, med grafisk visning av rutenettet og bruk av piltastene for styring av spilleren. Vi har laget en JavaFX-basert app, som du kan laste ned og koble til din TicTacToe-klasse. App-koden forutsetter at spill-logikken er implementert i en klasse som implementerer ITicTacToe-grensesnittet (i pakken games.tictactoe.tictactoe1). Når brukeren starter spillet, så lages det en instans av spillklassen din i app-en, og det er denne som holder rede på spill-tilstanden, dvs. hvilke brikker som er i hvilke ruter. Med bruk av grensesnitt, så gjøres det klart hvilke metoder appen trenger og som du må implementere.

Last først ned ITicTacToe-grensesnittet fra /games/tictactoe/tictactoe1/ITicTacToe.java, og programmer din spill-klasse slik at den implementerer dette grensesnittet. Så laster du ned app-klassene (og filene), så du kan prøve om det virker (filene kommer snart).

Code Block
emfs
/games/ #java #package
    FxmlApp.java                 @ git@github.com:hallvard/javafx/games/src/games/FxmlApp.java;
    FxmlBuilderFactory.java     @ git@github.com:hallvard/javafx/games/src/games/FxmlBuilderFactory.java;
    FxmlGame.java                @ git@github.com:hallvard/javafx/games/src/games/FxmlGame.java;
    imagegrid/ #java #package
        ImageGrid.java        @ git@github.com:hallvard/javafx/games/src/games/imagegrid/ImageGrid.java;
        ImageGridGame.java        @ git@github.com:hallvard/javafx/games/src/games/imagegrid/ImageGridGame.java;
    ;
    tictactoe/ #java #package
        tictactoe1/ #java #package
            TicTacToeFX.java    @ git@github.com:hallvard/javafx/games/src/games/tictactoe/tictactoe1/TicTacToeFX.java;
            TicTacToeFX.fxml    @ git@github.com:hallvard/javafx/games/src/games/tictactoe/tictactoe1/TicTacToeFX.fxml;

Merk at du godt kan la være bruke å ITicTacToe-grensesnittet, men da må du omprogrammere appen, så den bruker andre metoder enn vi har forutsatt. Det er nok mer arbeid, men kanskje enda mer lærerikt?

...