Thema: Snake

Einzelnen Beitrag anzeigen

Neitsch

Registriert seit: 14. Mär 2012
8 Beiträge
 
#10

AW: Snake

  Alt 17. Mär 2012, 15:05
Das hier ist der Code...
Code:
procedure TForm1.SpawnFood();
var x,y, i:Integer; found: Boolean;
begin
found:= false;
while(not found) do begin //solange kein geeigneter Ort gefunden wurde wiederholen
found:= true;
x:= Random(breite);
y:= Random(hoehe);
if(x= Kopf.X) or (y = Kopf.Y) then found := false;;
for i:= 0 to BodyLength-1 do begin
if(x= Teile[i].X) or (y = Teile[i].Y) then found := false; //prüft, ob der Platz frei ist
end;
end;
Essen := TFood.Create(x,y); //erstell
end;
Jetzt wo ihr es sagt, sehe ich meinen Fehler, ganz dumm >.<
Ich habe jeweils "or" geschrieben. Wenn also eine Reihe vollständig von einer Schlange besetzt ist, gehts in die Endlosschleife
Habe ich jetzt gefixt!
Vielen Dank!
Angehängte Dateien
Dateityp: 7z Snake.7z (1,92 MB, 8x aufgerufen)
  Mit Zitat antworten Zitat