@Born to Frag:
thx für den Vorschlag, ich habs geändert. Bei Eingabe von Zahlen springt er jetzt automatisch
ein Feld weiter. Bei Enter löst er das Ereignis vom 'Solve'-Button aus.
Gibt man ein anderes Zeichen ein löscht er das Feld und springt ein Feld weiter.
@Delphi-Laie
lass doch mal mittels der 'Advanced'-Boxen (schlag nen besseren Namen vor)
ein Sudoku lösen und klick dann auf den Knopf unten rechts (da wo 'Eindeutige gültige Lösung gefunden' steht).
Dann öffnet sich Fenster wo du genau siehst was die beiden Advanced Boxen machen.
//Edit:
Ok, ich versuchs zu beschreiben:
Advanced 1 prüft, ob in einem Block eine bestimmt Zahl nur in einer Reihe vorkommt. Dann muss sie in der restlichen Reihe gelöscht werden.
Und umgekehrt prüft Advanced 1, ob in einer Linie eine Zahl nur innerhalb eines Blockes vorkommt. Dann wird sie im restlichen Block gelöscht.
Advanced 2 prüft, ob in einer Spalte/Zeile/Block zwei identische Felder mit zwei Möglichkeiten stehen. Diese beiden Zahlen werden dann in den restlichen Feldern gelöscht.
Und umgekehrt prüft Advanced 2, ob in einer Spalte/Zeile/Block zwei Felder die einzigen Möglichkeiten für zwei Zahlen sind.
zB Wenn in einer Zeile die Felder
'26','2367','5','9','4','2367','1','68','28'
stehen, so können die 3 und die 7 nur im zweiten und sechsten Feld stehen.
Also wird die Zeile auf
'26','37','5','9','4','37','1','68','28'
gesetzt.
Ich hoffe, das war verständlich
