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