Jython

Sudoku


Spielregeln: In der Standardvariante müssen in einem 9x9 Gitter die Zahlen 1 bis 9  derart in die Felder gesetzt werden, dass in jeder Zeile und jeder Spalte alle Zahlen genau einmal vorkommen. Zudem wird das Gitter in 9 Untergitter mit 3x3 Feldern aufgeteilt, wobei auch in diesen die Zahlen genau einmal auftreten müssen. Zu Beginn des Spiel ist bereits eine bestimmte Anzahl der Zellen besetzt. Bei idealer Spielvorgabe sollte es genau eine Lösung geben.

Für die grafische Darstellung eignet sich ein GameGrid hervorragend, da das Spiel eine Gitterstruktur aufweist. Die Vorgabezahlen zeichnest du als TextActor schwarz ein, die eingesetzten Zahlen sind rot. In folgender Spielimplementierung ist eine Funktion isValid(state) eingebaut, die überprüft, ob ein bestimmter Spielzustand state die Spielregeln befolgt.

 
Ausführen mit Webstart


Warning: include(bsp/sudoku.html): failed to open stream: No such file or directory in /usr/share/nginx/html/gamegrid/sudoku.inc.php on line 17

Warning: include(): Failed opening 'bsp/sudoku.html' for inclusion (include_path='.:/usr/local/lib/php') in /usr/share/nginx/html/gamegrid/sudoku.inc.php on line 17
Programmcode markieren (Ctrl+C kopieren, Ctrl+V einfügen)


Erklärungen zum Programmcode:
In der Funktion isValide() muss man die 9 Zeilen und 9 Spalten, sowie die 9 quadratischen Blöcke überprüfen. Die bereits vorhandenen Zahlen werden in eine Liste values aufganommen. Kommt die Zahl bereits darin vor, so handelt es sich um einen illegalen Spielzustand. Das Resultat wird in der Statusbar ausgeschrieben.

Ein Sudoku-Programm, in dem der Computer selbst Lösungen sucht, finden Sie unter www.tigerjython.ch.