...
- Programmet må bestå av minst tre klasser; en klasse for å representere (innholdet i) en rute på brettet, en klasse for brettet med ruter og et hovedprogram for interaksjon med spilleren. De to første av disse må være ordentlig innkapslet.
- Brett-klassen må kunne initialiseres med en String på formatet beskrevet i lengre nede på siden.
Funsjonelle krav til spillet:
- Spillet må kunne spilles gjennom konsollen. Dvs. at en spilleren må kunne skrive instruksjoner i konsollen, som deretter utføres i spillet.Brett-klassen må kunne initialiseres med en String på formatet beskrevet i lengre nede på siden
- Spillet skal ikke la spilleren endre på tallene som allerede var satt før spillet startet (som er en del av sudoku-problemet).
- Spillet skal la spilleren endre allerede utfylte ruter.
- Spillet skal la spilleren sette inkonsistente/ulovlige verdier.
- Spiller skal vise hvilke tall som ikke kan endres.
- Spillet skal vise hvilke tall som er i konflikt.
Forslag til visuell representasjon av brett:
...
Code Block |
---|
+-------------+-------------+-------------+ 1 | . . . | . . (2) | . . (3) | 2 | (8) . (2) | (7) (3) . | (4) (5) . | 3 | . . . | (6) . . | (8) (7) . | +-------------+-------------+-------------+ 4 | (9) . (8) | . . (5) | (3) (6) (7) | 5 | . . (6) | . . . | (1) . . | 6 | (4) (5) (1) | (3) . . | (9) . (8) | +-------------+-------------+-------------+ 7 | . (8) (4) | . . (3) | . . . | 8 | . (7) (9) | . (5) (1) | (2) . (6) | 9 | (2) . . | (8) . . | . . . | +-------------+-------------+-------------+ a b c d e f g h i |
Forslag til brukergrensesnitt
En mulig måte spilleren kan fylle ut brettet på er å oppgi trekk på formen <rad(0-9)><kollone(a-i)><verdi(.0-9)>. For eksempel vil "2f9" sette ruten i kollone a, rad 2 til 9. "2f." vil sette den tilbake til tom.
Beskrivelse av formatet på brett
...