Delphi-Quellcode:
function SetDigit(X,Y,Size: integer) : boolean
var ValidDigit: [0..Size] as array of integer;
nr: integer;
begin
if (X > Size) OR (Y > Size) then
Result:=true;
while ValidDigit > 0 do
begin
nr:=random(length(ValidDigit))
if DigitIsOk(X,Y,nr) then
begin
StringGrid1.Cells[X,Y]:=nr;
if SetDigit(X+1,Y,Size) then
Result:=True;
end
else
Delete(nr);
end
else
Result:=false;
end
so, nun nochmal einige Anmerkungen:
- ich hab diesen Code noch nicht selbst getestet
- ... dass hab ich noch nicht, weil ich noch ein paar Schwierigkeiten hab
- ... diese liegen vor allem im Umgang mit dem Array, was ich hier erstellen wollte
- ... und als letztes noch in der Frage, ob es für eine while-Schleife auch einen else-Zweig gibt.
angenehme Nachtruhe,
hans ditter