Hallo erstmal.
Ich mache für die Schule ein Informatikprojekt und wollte ein Spiel machen. Ich bin auch schon ganz schön weit aber Irgendwie gibt es noch ein paar Probleme. Ich möchte, das der Spieler eine Figut auf einer KArte bewegen muss und dabei Gegnern ausweichen. Diese Gegner sollen jede Sekunde einen Schritt in eine bestimmte Richtung machen.
Delphi-Quellcode:
procedure TForm1.IdleHandler(Sender: TObject; var Done: Boolean);
begin
zeit1:= GetTickCount;
Inc(zeit2, 1);
if zeit2 >= 1000 then begin
Dungeon.Fmove;
zeit2:=zeit2-1000
end;
Done:= false;
end;
Jedoch bewegt sich der Gegner nur einmal und dann nicht wieder bzw er bleibt irgendwo stecken. hab schon überlegt ob es an der Zeitabfrage liegt...kenn mich aber mit Timer nicht so gut aus.
Weiterhin gibt es noch ein paar kleiner Probleme, wenn ihr mir Denkanstöße oder Lösungwege zeigen könntet wär ich euch sehr dankbar, bin nämlich langsam echt unter Zeitdruck...
Meine Probleme sind noch:
-Wenn man über eine Kiste läuft ist diese zwar weg, jedoch wird die Spielfigur von dieser immer noch
verdeckt
-Ich will das Programm nach jedem level neustarten lassen, bloß mit einer anderen Map. Hab das bis jetzt mit
Delphi-Quellcode:
procedure TForm5.Button1Click(Sender: TObject);
begin
Unit1.Form1.FormCreate(self);
end;
gemacht, das führt aber nach einem level zum Absturz des Programms. Außerdem wird das Programm deutlich langsamer, also gibt es eine andere Möglichkeit?(kann man vielleicht den Speicher leeren?)
Würd mich sehr freuen wenn ihr hilfreiche Ideen habt...ich werd jetz weiterarbeiten!
Danke
rattlest
Aso, im Anhang is mal mein Spiel (so wies bis jetzt ist)