Autor |
Beitrag |
Horst-Dieter
      
Beiträge: 91
Erhaltene Danke: 16
|
Verfasst: Sa 16.01.10 14:05
Ich habe einen Teil der im Forum veröffentlichten Beiträge benutzt und daraus ein eigenes kleines Programm gebastelt.
Mit meinem Programm kann man Sudokus neu generieren, vorhandene eingeben und lösen, Sudokus speichern und wieder laden, am Bildschirm selber lösen oder auch ausdrucken.
Das Programm ist mit Hilfen für den Spieler ausgerüstet. Wenn alle Stricke reissen, gibt es auch einen Joker (das Fragezeichen), der bei der Lösung hilft.
Einloggen, um Attachments anzusehen!
|
|
wp_xxyyzz
      
Beiträge: 40
|
Verfasst: Mo 18.01.10 02:26
Sehr schön. Das einzige, was mir auffällt, ist, dass man bei den eingeblendeten grauen Ziffern diejenigen, die nicht in Frage kommen, nicht abwählen kann.
Dein Generator kann Sudokus in verschiedenen Schwierigkeitsstufen erzeugen. Vielleicht kannst du mir dann die Sudoku-Frage beantworten, die mir schon immer durch den Kopf geht: Wie erkennt man eigentlich, wie schwer ein Sudoku ist?
|
|
jaenicke
      
Beiträge: 19322
Erhaltene Danke: 1749
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 18.01.10 10:20
wp_xxyyzz hat folgendes geschrieben : | Vielleicht kannst du mir dann die Sudoku-Frage beantworten, die mir schon immer durch den Kopf geht: Wie erkennt man eigentlich, wie schwer ein Sudoku ist? |
Einfache Antwort: An der Zahl der ausgefüllten Felder. Mein eigener Sudokugenerator geht ausschließlich darauf gerichtet vor.
Schwierige Antwort: An der Zahl und der Platzierung der ausgefüllten Felder. Nämlich kommt es auch darauf an wie gut diese verteilt sind, das heißt wie offensichtlich man Teile des Feldes füllen kann. Wenn man bestimmte Felder ohne viel probieren sofort füllen kann, ist es eben einfacher als wenn man erst Möglichkeiten ausschließen muss. Das ist aber schwierig von einem Computer zu erfassen. Ich hatte es versucht, bin damit aber nicht weit gekommen. Das Feststellen geht noch einigermaßen, aber die gezielte Generierung habe ich nicht hinbekommen.
|
|
Horst-Dieter 
      
Beiträge: 91
Erhaltene Danke: 16
|
Verfasst: Mo 18.01.10 14:24
Bei den eingeblendeten grauen Zahlen (Minihilfe) werden die Zahlen, die nicht in Frage kommen, automatisch ausgeblendet, wenn ein richtiger Wert an irgendeiner Stelle eingefügt wird.
Ob der Wert richtig ist, lässt sich sofort feststellen. Richtig eingefügte Werte werden grün, falsche Zahlen rot dargestellt.
Beim Generator kann man Sudokus selber erstellen. Diese Sudodkus lassen sich auch testen (leider von mir nicht besonders gut dokumentiert). Hat man ein Sudoku selber eingegeben, erscheint auf der Generatorseite unten rechts ein Button mit der Bezeichnung "T" für Test.
|
|
wp_xxyyzz
      
Beiträge: 40
|
Verfasst: Di 19.01.10 01:46
Zur Minihilfe: Beim Lösen schwieriger Sodokus gibt es Verfahren, bei denen die möglichen Werte einer Zelle im Vergleich zu anderen untersucht werden; bei bestimmten Konstellationen kann man dann bestimmte Werte ausschließen (z.B. www.ahr-sudoku.de/so...chnic/Hidden%20Pair). Dazu müsste man in der Minihilfe diese Werte ausstreichen können.
Du sagst, die Minihilfe wird automatisch aktuell gehalten. Mein Eindruck war ziemlich bald, dass ich Konfigurationen gesehen habe, bei denen Werte zu streichen gewesen wären.
Zu meiner vorigen Frage wegen der Schwierigkeit: Dein Generator lässt sich nach Schwierigkeitsgraden einstellen - Was ist dein Kriterium, wann ein Sudoku "schwer" oder "leicht" ist?
|
|
Horst-Dieter 
      
Beiträge: 91
Erhaltene Danke: 16
|
Verfasst: Di 19.01.10 22:33
Ein Sudoku wird schwer, wenn die Lösungswege lang werden. In der Praxis werden dann sehr viele Zahlen in einem Lösungsfeld möglich. Singlezahlen sind selten. In meinem Sudoku bedeutet also eine höhere Suchtiefe für eine Lösung eine größere Schwierigkeit für das Rätsel.
Das Sudoku läßt sich noch weiter erschweren, wenn zu Anfang möglichst wenig Zahlen vorgegeben werden. Das ist aber mit Vorsicht zu genießen, weil dann immer überprüft werden muss, ob die Lösung noch eindeutig bleibt oder ob es vielleicht mehrere Lösungen gibt.
Die Überprüfung der Minihilfe hat bei mir keinen Fehler ergeben, da wäre ich schon für ein konkretes Beispiel dankbar.
Die Möglichkeit, Zahlen in der Minihilfe durch den Benutzer löschen zu lassen, halte ich für schwierig, denn dann müsste das Programm überprüfen, ob die Streichung rechtens ist. In diesem Fall möchte ich Dir empfehlen, das Rätsel auzudrucken. In der Papierform kann man natürlich Streichungen vornehmen.
|
|
wp_xxyyzz
      
Beiträge: 40
|
Verfasst: Mi 20.01.10 02:25
Hier ein Beispiel aus deinem Programm, was ich meine: In den beiden rot umrandeten Feldern des selben Blocks gibt es nur die 6 und die 7, die in diesem Block sonst nicht mehr vorkommen. Daher können diese Zahlen in der Spalte nicht mehr auftreten, also dürfen die blau umrandeten Zahlen gestrichen werden. Ohne solche Tricks kommt man bei schwierigen Sudokus nicht mehr weiter.
Einloggen, um Attachments anzusehen!
|
|
Horst-Dieter 
      
Beiträge: 91
Erhaltene Danke: 16
|
Verfasst: Mi 20.01.10 10:44
Deine Lösungsstrategie ist richtig. Nur darauf muss der Benutzer natürlich selber kommen. Erweitern liesse sich das Programm lediglich um Hilfen, die darauf aufmerksam machen. Das gilt natürlich auch für andere Tricks, die man beim Lösen von schwierigen Sudokus anwenden muss. Es gibt ja auch noch andere Strategien, um Zahlen auszuschließen. Das macht ja den Reiz des Spieles aus.
|
|
|