Titel: LinuxUser 12/2005 - Sudoku-Programme
Pfad: http://www.linux-user.de/ausgabe/2005/12/078-sudoku/index_html
Der Spielehit des Jahres heißt Sudoku. Ob in der U-Bahn oder im Park, überall füllen Menschen mit dem Bleistift die Zahlen von eins bis neun in kleine Tabellen. Der Deutsche Verband der Spielwarenindustrie erklärte im Oktober auf der Spielemesse in Essen Sudoku gar zum "Mega-Trend" für das kommende Jahr. Entsprechend zeigten die Spielzeugfabrikanten auf der Messe über zehn verschiedene Suduko-Clones, als neue Spiele verkleidet [1].
README |
Sudoku ist ein Logikspiel mit einfachen Regeln. Sie müssen nur alle Felder einer Tabelle mit 9 mal 9 Kästchen mit den Ziffern von 0 bis 9 nach bestimmten Regeln ausfüllen -- ganz ohne Rechnen. Linux-Programme erstellen neue Spielfelder und helfen auf Wunsch auch beim Lösen. |
Wer es billiger haben möchte, lässt sich Spielfelder vom Linux-Computer errechnen, druckt sie aus und nimmt sie mit. Damit ist in jedem Fall für grenzenlosen Spielspaß gesorgt, denn insgesamt sind auf den 9 mal 9 Feldern über 6 x 1021 verschiedene Kombinationen möglich, wie der Mathematik-Student Bertram Felgenhauer ausgerechnet hat [2]. Zur Lösung all dieser Möglichkeiten dürfte ein Menschenleben kaum ausreichen. Etwas mehr über den Hintergrund von Sudoku verrät der Wikipedia-Artikel zum Thema [3]. Fertige Sudoku-Rätsel bietet zum Beispiel die Website der "Zeit" [4]. Zwei Sudoku-Felder im leichten und fortgeschrittenen Schwierigkeitsgrad finden Sie direkt zum Ausprobieren am Ende des Artikels.
Das Spielprinzip ist einfach: Alle Kästchen auf dem Spielfeld müssen so ausgefüllt werden, dass in jeder Zeile und Spalte sowie in jedem Unterquadrat die Ziffern von 0 bis 9 nur je einmal vorkommen (siehe Abbildung ((1))) -- daher auch der Name Sudoku, der aus dem Japanischen übersetzt etwa "alleinstehende Zahl" bedeutet. Mit diesen Bedingungen und den vorgegebenen Zahlen engt der Spieler die Auswahl für freie Felder immer mehr ein, bis für ein bestimmtes Feld nur noch ein Kandidat übrig bleibt.
Zahlen zu addieren oder ähnliche Rechenkunststücke sind dabei überflüssig. Sudoku setzt nur eine gewisse Gabe zur Kombination und ein gutes Gedächtnis voraus. Letzteres ist optional: So notieren viele Spieler mögliche Kandidaten für ein Kästchen in dessen Ecken, damit sie sich an diese auch einige Gedankengänge später wieder erinnern.
Strategien zur Lösung gibt es einige. Es bietet sich zum Beispiel an, zu überlegen, welche Zahlen in einem Unterquadrat noch fehlen und dann schneidende Zeilen und Spalten nach dieser Zahl zu durchsuchen. Ist sie dort schon vertreten, scheidet sie als Kandidat für das Unterquadrat aus. Oft bleibt nur eine Ziffer als mögliche Lösung übrig, und gleich ist ein Kästchen ausgefüllt.
Zu einem derart logischen Spiel gibt es naturgemäß auch einige Computerprogramme. Die einfachsten geben Spielfelder vor und erlauben die Lösung des Rätsels am Computer. Eingefleischte Gnome-Benutzer greifen zu Gnome-Sudoku [5], einem in Python geschriebenen Programm. Es errechnet Sudoko-Spiele unterschiedlicher Schwierigkeitsgrade, die mit mehr oder weniger vielen Ziffern vorbelegt sind. Das entstande Rätsel darf der Spieler direkt in einem Gnome-Fenster lösen (Abbildung ((1))).
Zur Installation setzt das Programm Python 2.4 voraus, das nur auf den neuesten Distributionen installiert ist. Gnome-Sudoku funktioniert im Prinzip gut, besitzt aber eine ganze Menge an Bugs, die das Programm zwar nicht abstürzen lassen, aber den Spielfluss doch mitunter etwas bremsen. Das beginnt schon bei der Wahl der Schwierigkeitsstufe, wo der Schieberegler (Easy bis Hard) keinen sichtbaren Einfluss ausübt. Stattdessen suchen Sie besser aus der im gleichen Dialog angebotenen Liste ein Spiel mit vorgegebenem Schwierigkeitsgrad aus.
Gnome-Sudoko besitzt allerdings ein recht praktisches Feature namens Tracker. Mit jedem Tracker zeichnet es eine ganze Serie von Zügen auf, die sich später auf einen Streich rückgängig machen lassen. Wer irgendwann feststellt, dass die mutmaßlichen Lösungszahlen doch nicht ganz richtig waren, kann so schnell wieder zu einem Spielfeld zurückkehren, in dem noch alles in Ordnung ist. Einzelne Züge lassen sich einfach mit einer Undo-Funktion rückgängig machen.
Gnome-Sudoku hilft dem Spieler mit so genannten Hints (Hinweisen). Befindet sich der Cursor in einem Kästchen, zeigt das Programm auf Mausklick mögliche Kandidaten dafür an. Steht der Cursor allerdings in keinem Kästchen, reagiert das Programm mit einer Fehlermeldung. Die Optione Resume Game bietet an, abgebrochene Spiele an derselben Stelle weiterzuspielen. Für Einsteiger bringt Gnome-Sudoku eine Hilfe mit, die in Spielprinzip und Programmbedienung einführt.
Das KDE-Gegenstück zu Gnome-Sudoku heißt -- wie könnte es anders
sein -- Ksudoku. Zum Selbstkompilieren setzt das Programm nur die
KDE-Bibliotheken voraus, fertige Pakete für Fedora und Debian finden
sich ebenfalls auf der Homepage [6]. Nach dem Start über ksudoku
erscheint ein Fenster wie in Abbildung ((2)).
Darin zeigt sich gleich der etwas höhere Komfort, den Ksuduko gegenüber Gnome-Sudoku bietet: Es färbt Zeile, Spalte und das Quadrat ein, die zum Kästchen gehören, über dem sich der Mauszeiger befindet.
Es gibt zwei Wege, um eine Ziffer in ein Kästchen zu setzen: Entweder in der linken senkrechten Toolleiste eine Zahl aussuchen und dann mit der linken Maustaste in ein Kästchen klicken oder die entsprechende Zahlentaste auf der Tastatur betätigen. Liegen Sie damit falsch, färbt das Programm die Zahl rot ein. Mit der rechten Maustaste löschen Sie die eingegebene Ziffer wieder.
Als praktisches Feature erlaubt Ksudoku auch Notizen über mögliche Kandidaten für ein Feld. Dazu wählen Sie über Menü oder Tastatur eine Zahl aus und klicken mit der rechten Maustaste. Ksudoku schreibt den Kandidaten dann in kleinerer Schrift ins Feld. Prinzipiell sind dabei beliebig viele Einträge mögliche, die Software zeigt allerdings aufgrund der Schriftgröße maximal vier davon an.
Bei einem Klick auf Hint füllt Ksudoku einfach das aktuelle Kästchen aus. Subtilere Hilfe leistet die Shift-Taste. Damit zeigt Ksudoku alle Felder, in die die gleiche Zahl passt, wie im aktuellen Kästchen (Abbildung ((3))). Das ist natürlich gegenüber dem analogen Sudoku auf Papier eine wesentliche Erleichterung. Wer also wirklich in Eigenleistung seine Sudoku-Rätsel lösen möchte, sollte davon am besten keinen Gebrauch machen.
Die Hilfe-Funktion fällt ausgesprochen mager aus und gibt weder Anleitung zur Programmbedienung, noch zum Spiel selbst. Stattdessen bringt Ksudoku noch einen 3D-Modus mit, der die sonst zweidimensional angeordneten Kästchen in einem räumlichen Modell darstellt (Abbildung ((4))). Am Spielprinzip selbst ändert sich dabei nichts, der Modus bietet erfahrenen Sudoku-Spielern aber eine interessante neue Perspektive auf das Spiel.
Für ganz hartgesottene Fans erzeugt Ksudoku auch größere Spielfelder mit mehr als neun mal neun Feldern. Da die Ziffern von 1 bis 9 in diesem Fall nicht mehr reichen, verwendet das Programm stattdessen Buchstaben.
Neben Ksudoku und Gnome-Sudoku gibt es noch eine Reihe weiterer Programme, die sich mit dem beliebten Logikspiel beschäftigen. Der Sudoko-Solver [7] löst Rätsel, bei denen auch der Experte nicht mehr weiter weiß. Der Sudoku-Explainer [8] dagegen begnügt sich nicht damit, eine fertige Lösung zu präsentieren. Er erklärt den Lösungsweg vorgegebener Sudoku-Rätsel. Das letzte Programm liest Sudoku-Rätsel über ASCII-Formate ein. Dazu müssen Sie also ein Spielfeld in diesem programmspezifischen Format in eine Textdatei eintippen.
Wer partout nur Gnome-Programme benutzen möchte, findet in Gnome-Sudoku trotz einiger Schönheitsfehler das passende Programm. Die KDE-Software Ksudoku ist dem Gnome-Gegenstück aber in den meisten Punkten überlegen. Das beginnt bei der ansprechenden Unterlegung der Zeilen und Spalten und setzt sich bei der Hilfe zur Lösung der Sudoku-Rätsel fort. Wer am Computer Sudoku-Rätsel lösen möchte, sollte also zumindest einen Blick auf Ksudoku werfen.
Info |
[1] Sudoku auf der Spielemesse: http://www.reich-der-spiele.de/specials/Essen2005-Sudoku.php
[2] Sudoku-Mathematik: http://web.inf.tu-dresden.de/~bf3/sudoku/ [3] Wikipedia über Sudoku: http://en.wikipedia.org/wiki/Sudoku [4] Sudoku-Rätsel in der Zeit: http://www.zeit.de/sudoku [5] Gnome-Sudoku: http://gnome-sudoku.sourceforge.net [6] Ksudoku: http://ksudoku.sourceforge.net [7] Sudoku-Solver: http://www.katletz.at/katsudoku [8] Sudoku-Explainer: http://sourceforge.net/projects/sudoku-sensei |
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.