Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: 2017-versjon med JavaFX
Excerpt

Oppgaven handler om en TicTacToe-klasse som holder representasjon, logikk og funksjonalitet for å la to spillere spille 'Tre på rad' (Tic-Tac-Toe) gjennom konsollenvia en JavaFX-applikasjon.

Oppgaven handler om spillet Tripp-trapp-tresko og omfatter to klasser, TicTacToe og TicTacToeProgramklassen TicTacToeTicTacToe-klassen kapsler inn brettet og har metoder for å utføre trekk og sjekke om spillet er avsluttet, og dekkes av del 1 og 2. Disse to delene har JExercise- tester. TicTacToeProgram-klassen lages i del 3 og håndterer tekstbasert interaksjon og bruker TicTacToe. Her skal to spillerne I del 3 skal du implementere metoder i klassen din slik at den kan brukes av en JavaFX-applikasjon som er forhåndslagd. Da vil det bli et fullt fungerende spill som tar tekstlig input. Spillerne taste inn ønsket trekk etter tur helt til en spiller har vunnet eller spillet avsluttes uavgjort.

...

Implementer støtte for tilstand og metoder beskrevet over slik at JExercise-testkoden at testkoden fullfører feilfritt. Testkoden finner du her: objectstructures/TicTacToeTestPart1.

Del 2 - Logikk for spillets gang

TicTacToe-klassen utvides med metodene, isFinished(), isWinner(char), hasWinner() og play(), med følgende oppførsel:

...

Implementer disse metodene slik at JExercise-at testkoden fullfører feilfritt. Testkoden finner du her: objectstructures/TicTacToeTestPart2.

Del 3 - Fullt fungerende spill, med

...

interaksjon og JavaFX

Lage Det er laget en TicTacToeProgram JavaFX-klasse applikasjon som lar to spillere spille mot hverandre ved å

  • skrive ut brettet som et ordentlig rutenett
  • angi hvem sin tur det er
  • be om og lese inn x, y-posisjon for neste trekk, f.eks. på formen x<whitespace>y<linjeskift> med en Scanner 
  • utføre trekket
  • gjenta dette helt til spillet er avsluttet.

Eksempel på interaksjon med brukeren og konsolloutput:

Image Removed

i praksis gjør to ting: den tar inn tekstlig input fra brukeren og endrer tilstanden i TicTacToe-objektet basert på dette, og den viser spillets toString()-metode i applikasjonsvinduet. For at applikasjonen skal være kjørbar med TicTacToe, må følgende gjøres:

  • GameController, deklarer spillet ditt og initialiser det slik kommentarene i koden forklarer. 
  • TicTacToe, lag en metode void getInput(String in), som tar inn bruker-input (som kommer fra applikasjonen), og endrer tilstanden på spillet tilsvarende. Her kommer det altså inn posisjonen for neste trekk, som så skal bli utført.
  • Når spillet er ferdig, skal applikasjonen avsluttes. Skriv gjerne en melding til konsollen og avslutt så spillet. Du kan for eksempel bruke System.exit(0) for å avslutte programmet. 

Du kan nå kjøre applikasjonen (Game.fxml > Run As > FXML Application) og teste spillet ditt.Image Removed

Demonstrer spillet ditt for stud.assen din for å få poeng på del 3. Ekstra poeng gis hvis du klarer å slå han / henne (wink)

Met hjelp til kjøring av JavaFX og generelt om øvinger finner du i Hjelp til øvinger.

Include Page
Bunntekst for JExercise- oppgaver
Bunntekst for JExercise- oppgaver