Moin moin,
ich habe mich gestern mal an einem Sudokuspiel versucht. Leider bekomme ich im Moment nichtmal das generieren eines neuen Sudokus hin...
Es hapert anscheinend ein wenig an der Logik, wie ich da ran gehe.
Für das Spielfeld benutzte ich ein Stringgrid. Ich dachte mir, ich schreib in das Feld[0,0] eine zufällige Zahl, dann schreib ich in das Feld[0,1] eine zufällige Zahl und überprüfe, ob diese mit irgendeiner anderen Zahl in der Reihe, Spalte oder dem Quadrat kolidiert.
Die Überprüfung des Quadrats hab ich noch nicht, weil ich bis jetzt nochnichtmal die Reihe / Spalte überprüft bekomme.
Digit: zufällige Zahl
Size: Größe (z.B. 4x4)
X, Y: Koordinaten des Felds[x,y] in das geschrieben werden soll
Delphi-Quellcode:
function DigitIsOK(X,Y,Size,Digit: integer):boolean;
var
i: Integer;
begin
Result:=false;
if not(Digit = 0) then
begin
for i := 0 to Size do
begin
if Digit = StrToInt(Form1.Map.Cells[X,i]) then
Result:=False
else Result:=True;
if Digit = StrToInt(Form1.Map.Cells[i,Y]) then
Result:=False
else Result:=True;
end;
end
else
Result:=false;
end;
Hoffe ihr könnt mir auf die Sprünge helfen...
bd, hans ditter