Thema: Delphi Sudoku Logik

Einzelnen Beitrag anzeigen

Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#57

AW: Sudoku Logik

  Alt 25. Jan 2011, 07:48
Hallo Hans,

in DigitIsOK, an der Stelle, wo das testen auf die kleinen Quadrate losgeht steht diese Zuweisung:

Delphi-Quellcode:
X:=i div SmallSize;
Y:=i div SmallSize;
Diese muss lauten (Hab ich vorher übersehen, sorry.):
Delphi-Quellcode:
X:=X div SmallSize;
Y:=Y div SmallSize;
Denn weiter oben (als du die Reihen und Spalten getestet hast) wird aus i die Position des Feldes, also X und Y berechnet. Abhängig von der Position (also X und Y) wird nun ermittelt in welchem Quadrat das Feld steht. Also die X und Y Position des Quadrates. Mit der obigen Änderung müsste das klappen. Da du von i statt von X oder Y ausgegangen bist, kamen auch die komischen Werte raus.

X und Y haben also für den Reihen- und Spaltentest und den Quadrattest unterschiedliche Bedeutung. Der übersicht halber solltest du sie daher anders nennen, z.B. qX und qY oder so:

Delphi-Quellcode:
qX:=X div SmallSize;
qY:=Y div SmallSize;

Natürlich das dann auch im darauf folgenden Quelltext ändern...

Damit sollte es doch jetzt klappen,
Jumpy
Ralph
  Mit Zitat antworten Zitat