Versions Compared

Key

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

...

Oppgaven handler om en TicTacToe-klasse, som håndterer nødvendig logikk for å kunne spille 'Tre på rad'. I Del 1 skal du implementere logikken som testes av referert JExercise-kode. I Del 2 av oppgaven 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.

...

  • gridString - en streng som holder styr på hvilke brikker som er lagt på de ulike posisjonene på brettet, enten "X", "O" eller " " (sistnevnte 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).

TicTacToe-klassen har to metodermå ha metodenedeposit og addInterestgetStringIndexForCoordinates, makePlacement, hasWon og changePlayer, med følgende oppførsel:

  • deposit(doubleint getStringIndexForCoordinates(int x, int y) - øker konto-beløpet med den angitte argument-verdien (som må være et positivt desimaltall)hjelpemetode som returnerer 
  • boolean makePlacement(String player, int x, int yaddInterest() - beregner renta og legger det til konto-beløpet
  • String hasWon() 
  • String changePlayer(String player) 

 

Tilstanden i Rectangle-objekter er ikke spesifisert eksplisitt, men må velges slik at metodene nedenfor kan implementerers. Merk at alle metodene jobber med heltallsstørrelser.

...