...
Output til brukeren | Input fra brukere |
---|---|
Før den første runden og etter hvert legg må brettet skrives ut, f.eks. ------- En bruker altså x, o eller mellomrom inni hver rute, bindestrek over, mellom og under radene og vertikale streker før, mellom og etter kolonnene. Programmet kan godt skrive ut andre ting også, men ikke begynn noen linje med bindestrek, fordi det vil forvirre testen. | Spilleren skriver inn x,y-koordinatene til ruta hvor brikken skal legges, med mellomrom mellom. Den venstre kolonnen er nr. 0, den midterste 1 og den høyre 2. Den øverste raden er nr. 0, den andre 1 og den tredje 2. |
Ekstraoppgave - Utvidelse til M-på-rad spill på NxN-brett
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:
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?
Testing med JExercise
Include Page | ||||
---|---|---|---|---|
|
...