hallo,
ich würd da einen game-loop aufbauen:
Delphi-Quellcode:
while Running do
begin
CheckBombs; //schauen ob eine Bombe explodieren muss
CheckKeyStates; //schauen ob ein Key gedrückt ist und du einen Player laufen lassen musst
Render; //neu malen
end;
zum Bomben checken:
Delphi-Quellcode:
for i := Bombs.Count-1 downto 0 do
begin
if Bombs[i].ExplosionStamp < GetTickCount then
begin
DoExplosion(Bombs[i]);
Bombs.Delete(i);
end;
end;
Für die Bomben kannst du eine einfache Liste benutzen, z.B. TList, und einen Typ wie den:
Delphi-Quellcode:
type
PBomb: ^TBomb;
TBomb = record
Strength: Integer;
ExplosionStamp: Cardinal;
end;
Wenn die Bombe gelegt wird, musst du Explosionstamp natürlich setzen:
Delphi-Quellcode:
var NewBomb: PBomb;
New(NewBomb);
Bombs.Add(NewBomb);
NewBomb.Strength := x;
NewBomb.ExplosionStamp := GetTickCount + BombTimer; //BombTimer: Cardinal, Millisekunden
Sonst noch irgendwo probleme?
Du kannst natürlcih auch mit
TTimer arbeiten.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1