Versions Compared

Key

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

...

Forslag til visuell representasjon av brett:

Code Block
 I denne oppgaven skal du implementere spillet sudoku. Du vil lage en klasse Sudoku som innkapsler brettet og har metoder for å fylle det ut og sjekke gyldigheten til de forskjellige områdene. Du vil også implementere SudokuUI som lar en spille tekstbasert sudoku.Del 1 - Representasjon av brettTilstanden Sudoku -objektet holder på består av et 9x9-brett. Hver rute kan være tom, eller ha et tall 1-9 i seg. Det må også holdes styr på om tallet i ruten er en del av problemet eller om den kan fylles ut / endres av spilleren.KlassenSudoku må ha følgende metoder:void problemSetCell(int x, int y, int value):
    Setter verdien til rute i x,y til value og markerer ruten som en del av problemet.boolean playerSetCell(int x, int y, int value):
    Hvis ruten i x,y er en del av problemet, returner false. Ellers set ruten til value og returner true.int getCell(int x, int y):
    Returner verdien til ruten i x,y.boolean isCellPartOfProblem(int x, int y):
    Returner om ruten i x,y er markert som del av problemet.Del 2 - Logikk for spillets gangUtvid Sudoku-klassen med metodene under:
boolean isColumnLegal(int col):
    Returnerer false om et tall opptrer (minst) to ganger i kolonne col. Returnerer true ellers (selv om det er tome ruter i kollonen). col skal tilsvare x-verien til rutene.boolean isRowLegal(int row):
    Returnerer false om et tall opptrer (minst) to ganger i rad row. Returnerer true ellers (selv om det er tome ruter i raden). row skal tilsvare y-verien til rutene.boolean isRegionLegal(int rx, int ry):
    Returnerer false om et tall opptrer (minst) to ganger i 3x3 område i rx,ry. Returnerer true ellers (selv om det er tome ruter i området). rx skal tilsvare floor(x / 3) til rutene.Del 3 - Fullt fungerende spill, med tekstlig interaksjonLag en SukokuProgram-klasse som lar en spille på konsollen. Programmet skal gjøre følgende:Ta inn en beskrivelse av et sudoku-problem. Formatet og eksempler finner du lenger ned på siden.Vise brettet. Forslag til representasjon finner du lenger nede på siden.La brukeren sette tall i ruter som ikke er en del av problemet, for å så gå tilbake til punkt 2.Forslag til visuell representasjon av brett:      +-------------+-------------+-------------+
    1 |  .  (1)  2  |  .   .   .  |  .   .   .  |
    2 |  .   .   .  |  .   .   .  |  .   .   .  |
    3 |  .   .   .  |  .   .   .  |  .   .   .  |
      +-------------+-------------+-------------+
    4 |  .   1   .  |  .   .   .  |? .   .   . ?|
    5 |  .   .   .  |  .   .   .  |? 2   2   . ?|
    6 |  .   .   .  |  .   .   .  |? .   .   . ?|
      +-------------+-------------+-------------+
??? 7 |  2   .   .  |  .   2   .  |  .   .   .  |
    8 |  .   .   .  |  .   .   .  |  .   .   .  |
    9 |  .   .   .  |  .   .   .  |  .   .   .  |
      +-------------+-------------+-------------+
         a   b   c     d   e   f     g   h   i
             ?    
             ?    Forklaring:(1): Tall i parenteser: del av problemet1: Tall uten parenteser: satt av spilleren.: Punktum: Tom ruteSpørsmålstegn: Ulovlig kollone, rad eller område.

...