Thema: Delphi Timer / Bomberman

Einzelnen Beitrag anzeigen

Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Timer / Bomberman

  Alt 3. Mär 2007, 19:16
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 Delphi-Referenz durchsuchenTTimer 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
  Mit Zitat antworten Zitat