#1 09.12.2008 20:21:37

kleiner zwerg
Newbie
Registriert: 09.12.2008
Beiträge: 2

timer programmieren...

hey freunde smile

ich bin neu hier und befinde mich auch gerade auf ein neues thema ... ich muss mit delphi in der schule arbeiten
und ich muss ein kleines spiel programmieren ... so weit so gut , nur ich hab mein erstes problem: ich will einen timer einbauen der die zeit anzeigt wie lange der spieler gebraucht hat bis zum sieg ...
der timer sollte beim beginnen des spiels anfangen und dann beim sieg aufhören und die zeit anhalten  "hehe"

ich weiß nich genau wie das geht ...
könnt ihr es mir vllt sagen ????

danke

Offline

 

#2 09.12.2008 22:15:29

Gnietschow
ProMember
Ort: Berlin
Registriert: 20.06.2007
Beiträge: 237

Re: timer programmieren...

Hiho willkommen hier.

Ich denke mal die Funktion die du dafür brauchst heißt GetTickCount die dir einen integer zurückgibt. Dieser zählt Millisekunden, d.h. beim Start des Spiels GetTickCount-Wert speichern und am Ende diesen Wert vom momentanen GetTickCount-Wert abziehen, schon hast du die vergangene Zeit in ms.


Es gibt 10 Gruppen von Menschen - die die das Binärsystem verstehen und die anderen.  :-)
Vegetarier essen meinem Essen das Essen weg ;)
-------------------------------------------------------------------------------------------------------------------
Der Community-Hub für Videospiele: gameloop.io

Offline

 

#3 10.12.2008 11:57:53

kleiner zwerg
Newbie
Registriert: 09.12.2008
Beiträge: 2

Re: timer programmieren...

ich glaube schon xD
kann mir jem. vllt den qulltext schicken big_smile

Offline

 

#4 10.12.2008 16:18:31

JorEl
ExtremeMember
Registriert: 29.01.2005
Beiträge: 894

Re: timer programmieren...

Der code steht doch ohnehin schon fast vollständig in Gnietschow posting.

GetTickCount liefert einen DWord Wert zurück der die Anzahl der ticks seit dem Systemstart angibt. "Theoretisch" gibt es einen tick pro Millisekunde.
D.h. das ganze sieht etwa so aus:

Code:

var
  dwOldTick : DWord;

...

function MyTime() : Single;
var
  dwActTick : DWord;
begin
  dwActTick := GetTickCount();
  result := (dwActTick - dwOldTick) / 1000.0;  
  dwOldTick := dwActTick;
end;

Diese Funktion liefert die vergangene Zeit seit dem letzten Aufruf in Sekunden zurück. Damit lässt sich auch das realisieren was du zu tun hast.

JorEl


Jesus hat gesagt - selig sind die, die da Leid erfahren, denn sie sollen getröstet werden... Ford Prefect hat gesagt - es ist unheimlich wichtig, dass wir miteinander reden und einen trinken.

Offline

 

Brett Fußzeile

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson