Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

z.b. sleep weniger als 1 sekunde machen

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Mcphil



Anmeldungsdatum: 15.06.2005
Beiträge: 2

BeitragVerfasst am: 16.06.2005, 20:55    Titel: z.b. sleep weniger als 1 sekunde machen Antworten mit Zitat

Hi Leute!

Ich programmiere gerade an einem Spiel, und hätte gerne, dass das sleep weniger als 1 sekunde andauert! Wie geht denn das??? mit den Augen rollen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 16.06.2005, 21:24    Titel: Antworten mit Zitat

Soweit ich weiß geht sleep nur ab einer sek. Ich kenne noch 2 weitere Varianten, die du verwenden kannst:

Code:

start=TIMER
DO: LOOP UNTIL TIMER > start + wartezeit 'wartezeit= Zeit zum warten in sek.

'oder

For i%= 1 to wartezeit 'wartezeit = Zeit zum warten in 1/70 sek. *
   wait &H3DA,8   'ACHTUNG: richtig eintippen. Ich hab mal &H[color=red]E[/color]DA,8   eingetippt und konnte neustarten(reset) -->prog war weg.
   wait &H3DA,8,8
Next i%

* kann je nach Bldwiederholfrequenz abweichen. Mit wait &H3da,8(,cool wartet man, bis der Zeilenschreiber im Bildschirm an Position 1 ist. Für eine sek. bei einer Bildschirmwiederholfrequenz von 70 muss wartezeit=70 sein. Damit kann man sehr kurze wartezeiten machen. Mit TIMER(1.Beispiel) gehts nur bis 52msec(oder in dem bereich).

Ich hoffe, ich konnte dir helfen.

Mfg
Michael

P.S.: 600 Thema in diesem Unterforum Hammer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 17.06.2005, 21:09    Titel: Antworten mit Zitat

Achtung, beides entHÄlt noch schönheits-fehler!

zu 1) schreib lieber
start=TIMER
DO: LOOP UNTIL TIMER > start + wartezeit or TIMER < start
für Programme, die vor mitternacht die delay starten und nach mitternacht aufhören!!!

zu 2) Achtung! Geht nur auf 70Hz, wenn VGA-Vollbildmodus! Im Fenster geht's nicht!
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 19.06.2005, 20:11    Titel: Antworten mit Zitat

Oder du verwendest freeBASIC, da ist SLEEP 1 = 1 ms. lächeln

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Triton



Anmeldungsdatum: 10.09.2004
Beiträge: 155
Wohnort: Berlin

BeitragVerfasst am: 20.06.2005, 15:28    Titel: Antworten mit Zitat

- lass den computer 1 sekunde eine Schleife durchlaufen
- Angenommen, er schafft in dieser sekunde 1000 durchläufe - dann musst du in zukunft für eine halbe Sekunde Wartezeit 500 durchläufe einer Schleife machen.

Da die meisten Computer weit mehr als 1000 durchläufe schaffen, kann man damit auch theorietisch viel kleinere Delays als 1 ms erzeugen.
_________________
Coding: silizium-net.de | Portfolio: Triton.ch.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 20.06.2005, 15:31    Titel: Antworten mit Zitat

Das Problem dabei ist nur, dass im DOS-Fenster (vor allem unter Windows XP)
zum Teil extreme Geschwindigkeitsschwankungen auftreten.

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz