Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
master P

Anmeldungsdatum: 18.12.2005 Beiträge: 7 Wohnort: Hamburg
|
Verfasst am: 18.12.2005, 21:24 Titel: Zähler mit halber oder weniger sekunde |
|
|
Hi Leute!
Ich programmiere mit QB 1.1 und hab folgendes Problem:
Ich brauche im Spiel einen Zähler, der weniger als 1 Sekunde zählt, aber
nicht so schnell zählt wie z.b. eine Schleife!
mfg, master p |
|
Nach oben |
|
 |
Devilkevin aka Kerstin

Anmeldungsdatum: 11.11.2004 Beiträge: 2532 Wohnort: nähe Mannheim
|
Verfasst am: 18.12.2005, 22:15 Titel: |
|
|
Also Millisekundengenau?
Da kann ich dir FreeBASIC ans Herz legen, da ist die SLEEP Funktion mit Millisekunden. Is also sehr gut für sowas geignet.
Deine QB Programme funzen bestimmte ohne viel Änderungen auch mit freeBasic. _________________ www.piratenpartei.de |
|
Nach oben |
|
 |
master P

Anmeldungsdatum: 18.12.2005 Beiträge: 7 Wohnort: Hamburg
|
Verfasst am: 18.12.2005, 22:21 Titel: |
|
|
Is freeB denn sehr anders als QB???  |
|
Nach oben |
|
 |
Kai Bareis

Anmeldungsdatum: 10.09.2004 Beiträge: 545 Wohnort: Baden Würtemberg
|
Verfasst am: 18.12.2005, 22:21 Titel: |
|
|
Dafür gibt es in Qbasic den Timer
Code: | temptimer=timer
while timer < temptimer + .5
wend |
_________________ MfG Kai Bareis
Es ist noch kein Meister vom Himmel gefallen! Warum einfach wens auch umständlich geht! |
|
Nach oben |
|
 |
master P

Anmeldungsdatum: 18.12.2005 Beiträge: 7 Wohnort: Hamburg
|
Verfasst am: 18.12.2005, 22:23 Titel: |
|
|
achso!
Wo kriegt man denn FB her??? |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 18.12.2005, 22:34 Titel: |
|
|
schau mal in diverse signaturen (z.B. von volta) oder geh auf freeBasic.de und hole dir das "einsteiger-komplettpaket" das enthält die IDE, beispiel programme und vieles mehr  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Devilkevin aka Kerstin

Anmeldungsdatum: 11.11.2004 Beiträge: 2532 Wohnort: nähe Mannheim
|
Verfasst am: 18.12.2005, 22:36 Titel: |
|
|
Jojo hat Folgendes geschrieben: | schau mal in diverse signaturen (z.B. von volta) oder geh auf freeBasic.de und hole dir das "einsteiger-komplettpaket" das enthält die IDE, beispiel programme und vieles mehr  |
Jep, falls du es noch nich gemekrt hast: Wir sind ein QB und FB Forum  _________________ www.piratenpartei.de |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
master P

Anmeldungsdatum: 18.12.2005 Beiträge: 7 Wohnort: Hamburg
|
Verfasst am: 19.12.2005, 20:51 Titel: |
|
|
Jo, vielen dank für die vielen tips!
mfg, master p  |
|
Nach oben |
|
 |
coolMCcool
Anmeldungsdatum: 23.02.2005 Beiträge: 12 Wohnort: Berlin
|
Verfasst am: 07.01.2006, 15:09 Titel: |
|
|
an den millisekunden-problem forsche ich auch schon einige zeit herum, aber bedenke, dass du als allerkleinste warteschleife mit den oben genannten kleinen programmen nur bis zu 56 millisekunden laufen lassen kannst. denn alles was kleiner 56ms ist, macht die timer-funktion nicht mehr mit....
viel spaß  |
|
Nach oben |
|
 |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 07.01.2006, 19:24 Titel: |
|
|
Hallo
Zum Thema Zeitmessung unter 56ms ist dieser Thread ganz interessant.
Gruss
Skilltronic _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
 |
coolMCcool
Anmeldungsdatum: 23.02.2005 Beiträge: 12 Wohnort: Berlin
|
Verfasst am: 10.01.2006, 11:54 Titel: |
|
|
hallo noch einmal. habe noch etwas herumgegrübelt und komme an einem problem einfach nicht weiter. viellicht könnt ihr meinen grauen zellen auf die sprünge helfen. nachfolgend lest ihr einen code, der folgendes bewirken soll:
1. mit hilfe einer do - loop schleife soll ein wert hochgezählt werden in 5 sekunden (extra eine so große auflösung genommen, damit es rel. exakt wird)
2. mit hilfe des ermittelten (gezählten) wertes dieselben 5 sekunden mit einer for next schleife "nachahmen"
Code: |
s!=timer '= Anfangstimer
z!=0 '= der Zähler in der DO-LOOP Schleife
DO WHILE t! < s! + 5 'tue(zähle z! hoch) solange t! < s! + 5 (sek)
t! = timer
z! = z! + 1
loop
for a = 0 to z!: next a 'sollte diese schleife dann nicht eine ca. genauso
lange warteschzeit bilden?
|
...oder wird das in der do-loop schleife gezählte z! in einer for next schleife schneller gezählt? jedenfalls dauert die do-loop schleife bei mir wirklich ca. 5 sek. und die for next schleife nicht mal einen bruchteil einer sekunde... [/code] |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 10.01.2006, 16:00 Titel: |
|
|
geht nicht. Dadurch, das beim der Do-loop-schleife wesentlich mehr gemacht wird als bei der FOR-Schleife läuft die langsamer und bekommt so auch einen niedrigeren zählerwert als du für die for-schleife bräuchtest. Folglich läuft deine forschleife schneller als fünf sekunden ab..
du solltest z übrigens nicht als single sondern besser als long deklarieren.. _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 10.01.2006, 18:43 Titel: |
|
|
Wenn du deinen Lösungsansatz weiter verfolgen willst, ein Tipp:
Versuch's umgekehrt, miss nicht wie viele Durchlaufe du für 5 Sek. brauchst, sondern wie lange eine Schlaufe dauert.
Hier der Code:
Code: |
'Berechnung/Messung
z! = 0 '= der Zähler in der DO-LOOP Schleife
s! = TIMER '= Anfangstimer
FOR a = 0 TO 10000
FOR b = 0 TO 100
NEXT b
NEXT a
t! = TIMER - s!
z! = 10000 / t!
'Berechnung/Messung ENDE
'Kontroll Messung
s! = TIMER
'Bremsschlaufe
FOR a = 0 TO z!
FOR b = 0 TO 100
NEXT b
NEXT a
'Bremsschlaufe ENDE
PRINT TIMER - s!
'Kontroll Messung ENDE
|
Es gibt recht Genau 1 Sekunde. _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
 |
coolMCcool
Anmeldungsdatum: 23.02.2005 Beiträge: 12 Wohnort: Berlin
|
Verfasst am: 10.01.2006, 21:35 Titel: |
|
|
genial einfach - einfach genial! vielen dank  |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 11.01.2006, 19:38 Titel: |
|
|
Eine Warnung bin ich dir noch schuldig:
Um Mitternacht wird der Messteil abschmieren, weil Time dann "plötzlich" auf 0 Springt!
Für diesen Fall sollte man z.B. einen Neustart der Messung vorsehen. _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
 |
Gilez
Anmeldungsdatum: 16.05.2005 Beiträge: 6 Wohnort: Rheine
|
Verfasst am: 13.01.2006, 18:33 Titel: |
|
|
Ich benutze für alle nicht mit sleep möglichen Wartedauern immer den SOUND Befehl und stelle eine Tonhöhe ein, die der Rechner nicht machen kann bzw. wir nicht hören können
Syntax:
SOUND Tonhöhe, Tonlänge (in Achtzehntelsekunden)
print "eine halbe Sekunde noch"
SOUND 30000, 9 ' 9 entspricht eine halbe Sekunde
print "okay jetzt ist sie rum." |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 13.01.2006, 18:55 Titel: |
|
|
man kann auch SOUND 0,zeit machen.. is besser als 30000Hz sonst meckert irgendwann die Katze  _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 13.01.2006, 19:48 Titel: |
|
|
also der befehl nimmt die frequenzen bis 32565 Hz glaub ich, bis wohin der lautsprecher mitmacht weiß ich nich  _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
|