Aus einem Sudoku werden eigentlich zufällig Einträge gelöscht.
also dann
Delphi-Quellcode:
var i,x,y:integer;
begin
randomize;
//b ist hier die MAXIMALE Anzahl der gelöschten einträge, da doppelt gelöscht werden kann...
//S ist ein zweidimensionales Array von integer und beinhaltet das Sudoku
for i:=0 to b do
begin
x:=Random(8);
y:=Random(8);
S[x][y]:=0; //Wenn später 0 eingetragen ist, reagieren und das Feld leer lassen...
end;
end;
Es empfiehlt sich jedoch, vorher eine Kopie von S anzulegen um das Ergebnis hinterger zu prüfen...
Also bei mir gabs bisher keine Probleme, dass Sudoku selbst bei vielen leeren Feldern nicht mehr zu lösen war... Habs bisher immer hingekriegt...