Mittlerweile hab ich den Generator schon wieder etwas mehr verbessert(durchschnittlich ~5 Sekunden für ein Sudoku)
Wenn du ein 9 * 9 Array verwenden würdest, wäre der Code bestimmt 10 Mal schneller als wenn du immer auf dem StringGrid rumreitest.
Erst wenn das Sudoku erzeugt ist, wird es auf das StringGrid kopiert.
Delphi-Quellcode:
type
// 0 bedeutet Feld ist leer; 1 - 9 entsprechen den Ziffern
TSudokuZiffer = 0..9;
// 81 Felder
TSudokuField = array[1..9, 1..9] of TSudokuZiffer;
var
sfeld : TSudokuField;
procedure CopyToStringgrid(grid:TStrinGrid);
begin
// kopiere den Inhalt von array "sfeld" in das Stringrid
// das lässt sich mit zwei geschachtelten For-Schleifen erledigen
end;