Snake Spielchen hängt sich nach einiger Zeit auf

henchris

Grünschnabel
Hallo Leute!

Ich habe ein Snake Spielchen mit einem dynamischen Array in Delphi programmiert.
Alles läuft so weit gut.
Der Quelltext ist im Anhang dabei ihr könnt es euch ja mal anschauen.
Ich hoffe dass mein Quellcode nicht zu unübersichtlich ist!

Mein einziges Problem: Die Anwendung reagiert nach einer gewissen Zeit nicht mehr und man muss sie mit dem TaskManager schliessen.
Vielleicht weiss ja jemand woran es liegt...
Ich bedanke mich schonmal im Vorraus

;) cHr!
 

Anhänge

  • Snake.zip
    4,4 KB · Aufrufe: 299
Hallo,
du hast eine wunderbare Endlosschleife programmiert:
Code:
procedure TForm1.futter_setzen;
var i: integer;
    erfolg: Boolean;
begin
  erfolg := true;
  repeat
    for i := 0 to high(linie) do
      if (futter.x = linie[i].x) and (futter.y = linie[i].y) then
      begin
        futter.x := (Random(480 Div 20) + 1) * 20;
        futter.y := (Random(380 Div 20) + 1) * 20;
        erfolg := false;
      end;
  until erfolg;
  Label1.Caption := 'Punkte: ' + inttostr((High(linie) - 3) * 10);
end;
Wenn die if-Bedienung erfüllt ist, setzt du erfolg auf False und nie wieder auf True. Daher wird repeat - until erfolg nie beendet.

PS: gewöhn dir an, den Code ordentlich zu formatieren!!
 
Danke

Ja, danke!
Danke, dass du dir mein "Gewurschtel" angeguckt hast und auch noch was gefunden hast.Ich bin erstaunt, dass überhaupt jemand bei meinem Code durchgeblickt hat.
Du hast schon recht, ich werde mich demnächst besser an den guten Programmierstil halten!
:) cHr!
 

Neue Beiträge

Zurück