HA! Ich glaub ich hab ihn gefunden, den Fehler. Wobei, war weniger ein Fehler als mehr was vergessen...
Also, die Funktion CreateNewSudoku wird ja vom HA aufgerufen und steuert dann die ganze Erzeugung etc.
Delphi-Quellcode:
procedure CreateNewSudoku(PlaygroundSize: integer);
begin
Size:=PlaygroundSize;
Randomize;
PrepareMap(Size);
if NOT(SetCell(0))
then SetCell(0);
end;
Ich hab jetzt mal bei SetCell(0) eine if-Bedingung eingebaut. Falls das Sudoku nicht komplett erzeugt werden konnte, wird die Funktion einfach nochmal aufgerufen. Ich halte es eher für unwahrscheinlich, dass zweimal hintereinander ein Sudoku erzeugt wird, was nicht aufgeht.
Bei den Probeläufen hat es jetzt funktioniert! Ausserdem beachte noch den vorigen Post, dass hab ich drin gelassen. Glaube dass das da auch rein muss... Was sagst du?
Häng das Prog jetzt auch nicht ran, ausser du willst es nochmal testen, dann kann ich's nochmal machen...
LG; hans ditter