Versions Compared

Key

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

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

Oppgaven handler om en TicTacToe-klasse, som håndterer nødvendig logikk holder representasjon, logikk og funksjonalitet for å kunne spille 'Tre på rad'Tripp-trapp-tresko. I Del 1 skal du implementere logikken representasjonen av spillets brett, som testes av referert JExercise-kode. I Del 2 skal du implementere logikken som er nødvendig for å utføre trekk og sjekke om spillet er avsluttet (når en av spillerne har vunnet eller ved uavgjort). Denne delen vil også testes av JExercise-kode. I siste del av oppgaven, Del 3, skal klassen utvides med støtte for å la spillerne (etter tur) taste inn ønsket trekk helt til en spiller har vunnet eller spillet avsluttes uavgjort. Spillet Tripp-trapp-tresko er forøvrig beskrevet i detalj her.

Del 1 -

...

Representasjon (

...

33%)

Tilstanden i TicTacToe-objekter er som følger:

  • gridString - en streng som holder styr på hvilke brikker som er lagt på de ulike posisjonene på brettet, enten "X", "O" eller " " (sistnevnt tomme streng er for tomt felt). Denne strengen vil ha lengde 9 der de tre første tegnene svarer til den første raden, de tre neste til den andre raden og de tre siste til den tredje raden i brettet. Mao vil strengen være lik "         " (tom streng med lengde 9) rett etter spillet har startet, være lik "  X      " like etter at spiller "X" har plassert en brikke oppe i høyre hjørne (x=2, y=0) og deretter lik "  X    O " like etter at spiller "O" har plassert en brikke i midten nede (feltet må forøvrig være public slik at JExercise-testen får tilgang til dette).

Del 2 - Logikk (33%)

 

TicTacToe-klassen må ha metodene, getStringIndexForCoordinates, makePlacement, hasWon og changePlayer, med følgende oppførsel:

...

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

Del 2 - Fullt fungerende spill (

...

33%)

Utvid logikken fra Del 1 med støtte for å la to spillere spille mot hverandre ved å taste inn ønskede trekk (posisjoner) gjennom konsollen. Hver runde bør brettet printes til konsollen og oppgis hvilken spiller som skal utføre det neste trekket. Når spillet er avsluttet (vunnet eller uavgjort) bør dette gå klart frem. Eksempel på interaksjon med brukeren og konsolloutput:

...