Also, ich hab deinen Rechenweg noch ein wenig verändert. So wie du ihn hier beschrieben hast, war der nicht ganz richtig...(warum, weiß ich auch nicht so genau, war einfach so...
)
Hier der Code:
Delphi-Quellcode:
Smallsize:=Trunc(sqrt(Size));
X:=i div SmallSize;
Y:=i div SmallSize;
for j := (SmallSize * X) to (SmallSize * X) do
begin
for k := (SmallSize * Y) to (SmallSize * Y) do
begin
if (Form1.Map.Cells[j,k] = IntToStr(digit)) AND ((j<>X) AND (k<>Y)) then
begin
Result:=false;
Break;
end;
end;
end;
Komischerweise hängt sich das Programm beim dritten erzeugten Sudoku auf. Weiß auch nicht warum, es scheint komplett fertig generiert zu sein und plötzlich hängt das Programm... Hast du 'ne Idee?
LG, hans ditter