AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Timer / Bomberman

Ein Thema von eif · begonnen am 3. Mär 2007 · letzter Beitrag vom 4. Mär 2007
Antwort Antwort
eif

Registriert seit: 3. Mär 2007
8 Beiträge
 
#1

Timer / Bomberman

  Alt 3. Mär 2007, 19:56
hallo... ich soll für schule (info-projekt) ein 2-player bomberman programmieren... meine frage: wie kann ich die bomben zeitverzögert explodieren lassen?`

bin relativer anfänger in delphi.. würde mich über ne ausführliche antwort freuen... danke schon mal... der eif
Gehe nicht, wohin der Weg führen mag sondern dorthin, wo kein Weg ist und hinterlasse eine Spur...
  Mit Zitat antworten Zitat
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, 20: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
eif

Registriert seit: 3. Mär 2007
8 Beiträge
 
#3

Re: Timer / Bomberman

  Alt 4. Mär 2007, 08:57
joa... danke erstmal... werd mal guggn was ich damit anfangen kann.. wie gesagt... bin ein anfänger ... ich probiers einfach mal...

danke... der eif
Gehe nicht, wohin der Weg führen mag sondern dorthin, wo kein Weg ist und hinterlasse eine Spur...
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

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

Re: Timer / Bomberman

  Alt 4. Mär 2007, 13:33
no Problem.

btw: deine Bomben sollten vielleicht noch ein "IsExploded"-Flag (Boolean-Feld) bekommen, denn wenn es Kettenreaktionen etc. gibt, könntest du in deiner for-schleife auf Index-Probleme stoßen.

Sprich:

Delphi-Quellcode:
for i := Bombs.Count-1 downto 0 do
begin
  if Bombs[i].IsExploded then
    Bombs.Delete[i]
  else
  if Bombs[i].ExplosionStamp < GetTickCount then
  begin
    DoExplosion(Bombs[i]);
    Bombs.Delete(i);
  end;
end;
Im "DoExplosion" würdest du dann verbundene Bomben gleich mit explodieren lassen und nur das "IsExploded"-Flag setzen.
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
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz