Rundenzähler

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Mangudai

Betreff: Rundenzähler

BeitragMo, Okt 04, 2004 12:55
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo alle miteinander

also ich schaffs die zeit von begin der runde bis zum ende anzuzeigen mit dem code:

Code: [AUSKLAPPEN]

;Hier wird die Rundenzeit gemessen

If timer2 + 1 < MilliSecs()
rundemilli = rundemilli + w
timer2 = MilliSecs()
EndIf

If rundemilli >= 100 Then
rundemilli = 0
rundesek = rundesek + w
EndIf

If ImagesCollide (auto,a,b,0,ziel,173,217,0)  Then
w = 0
rundesek = 0
rundemilli = 0
EndIf

If Not ImagesCollide (auto,a,b,0,ziel,173,217,0)  Then
w = 1
EndIf

Text 0,50,"rundenzeit:" + rundesek
Text 100,50, "," + rundemilli


aber ich schaffs nicht die komplette rundenzeit anzuzeigen.
wäre nett wenn mir einer von euch einen tip geben könnte wie ich das machen kann.
lg Mangudai

Kabelbinder

Sieger des WM-Contest 2006

BeitragMo, Okt 04, 2004 15:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weiß nicht, ob ich dich richtig verstanden habe, also ich glaube, du möchtest halt die Zeit für jede Runde messen.
Also ich würde am Anfang jeder Runde eine Marke setzen:
Code: [AUSKLAPPEN]
; Wenn das Rennen startet
marke = millisecs()

und wenn dann die Runde Beendet wurde die Zeit nehmen und die marke für die nächste Runde neu setzen:
Code: [AUSKLAPPEN]
rundenzeit =millisecs()-marke
marke = millisecs()

und nach belieben in einem Array abspeichern, damit man nach dem Rennen die Zeit für jede Runde anzeigen kann.
<Wing Avenger Download> ◊◊◊ <Macrophage Download>

Mangudai

BeitragMo, Okt 04, 2004 16:56
Antworten mit Zitat
Benutzer-Profile anzeigen
mein problem ist glaub ich das ich mit imagecollide keinen zeitpunkt messe sondern eine zeitspanne.
d.h. wenn ich ganz simpel schauen will wieviel runden ich schon gefahren bin mit:
Code: [AUSKLAPPEN]

if imagecollide(auto,a,b,0,ziel,0,0,0)  Then
runde = runde + 1
endif


springt mir die variable runde klarerweise weiter bis die kollision zuende ist.

ka wie ich das lösen soll Rolling Eyes
naja erstmal drüber schlafen
lg Mangudai

Jolinah

BeitragMo, Okt 04, 2004 17:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

If imagecollide(auto,a,b,0,ziel,0,0,0) Then

  If neue_runde = true
    runde = runde + 1
    neue_runde = false
  Endif

Else

  neue_runde = true

Endif


Könntest du ja so lösen. Wenn es nicht kollidiert dann wird ne Variable auf true gesetzt. Nur wenn diese auf true ist und es kollidiert geht dann die runde hoch und setzt die Variable auf false. Danach kann es kollidieren so oft es will und die runde wird nicht hochgezählt. Erst wenn es wieder nicht mehr kollidiert wird neue_runde wieder auf true gesetzt.

Nur sollte man dann nicht rückwärts fahren können sonst musst du es anders lösen Wink

Edit: Und wenn du Zeit messen willst halt statt runde = runde + 1 einfach die Zeit differenz messen.

DivineDominion

BeitragMo, Okt 04, 2004 18:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Millisekunden sind 1/1000, nicht 1/100, nimm deswegen außerdem noch den Faktor 1000!
christian.tietze@gmail.com - https://christiantietze.de
macOS
 

Roggi

Betreff: Re:Zeit

BeitragSa, Okt 29, 2005 20:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
habe das so gemacht, funzt auch alles. Doch geht es auch das der sich die beste Rundenzeit ,merkt und am ende anzeigt und mit der aller besten vergleicht, wenn besser in highscore wenn nicht dann nicht.
Hilfe Crying or Very sad

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group