Tässäpä tälläinen, sekunnistakin pienemmät luvut menee aika hyvin. Ei täysin samanlainen kuin sleep, ei voi hypätä yli painamalla jotain näppäintä. Voi pistää, jos tahtoo. Kommentit ovat tervetulleita... ;-)
DECLARE SUB setlps () DECLARE SUB viive (aika!) DIM SHARED lps AS SINGLE 'loops per second CLS 'setlps aina alkuun... ;-) setlps PRINT "Testataan: seuraava viesti tulee 3 sek. päästä" viive 3 CLS PRINT "Pommi asetettu..." FOR j = 1 TO 1000 viive .01 LOCATE 2, 1 PRINT 10 - j * .01 NEXT j CLS COLOR 4 PRINT "PUM!" SUB setlps aika = TIMER FOR i = 1 TO 999999: NEXT i aika = TIMER - aika 'kuinka paljon äskeiseen kului aikaa... lps = INT(999999 / aika) 'loops per second, kuinka paljon yhteen 'sekuntiin mahtuu for..next-silmukoita... 'siinäpä se, alkuasettelut on tehty... END SUB SUB viive (aika) FOR i = 0 TO aika * lps: NEXT i END SUB
Ja tuon tein, kun joku (muistikatkos, en muista, kuka...) kysyi jotain tuollaista, eli sekunnista pienempää viivettä...
Hehe.. mielenkiintoinen tapa.. mutta miksi et tehnyt tuota suoraan TIMER:illa?
Timeria rämpätessä käy niin, että sillä ei ihan kaikkein pienimpiin päästä (esim. 0.02) ilman, että aikaa kuluisi enemmän kuin tuo 0.02. Mielestäni tuo toimii vähän paremmin...
Mielenkiintoista.... tuo viive suoritti 100kpl 0.01 sekunnin viiveitä n. 1 sekunnissa, mutta timer-systeemi, jonka testiksi väsäsin, pääsi vastaavasta 5.5 sekunnissa... ;-)
Tuo on kyllä totta.
Vaikuttaisi muuten siltä, että liian nopealla koneella "loops per second" saa ylisuuria arvoja.
Itse kun kokeilin nopealla koneella niin 3 sekuntia venyi ihmeen pitkäksi.. en edes jaksanut jäädä odottelemaan :)
Mielenkiintoinen tapa, silti.. :)
Hyvä
Mielenkiintoinen tapa, mutta saman voisi hoitaa näin:
SOUND 0,1
Ei ehkä ihan niin pieniin odottamisiin päästä, mutta varsin helppo tapa tehdä odotus, jota ei voi skipata. Tapa tehdä odotus, jonka voi skipata:
odotus = 1 DO SOUND 0, 1 odotus = odotus + 1 LOOP UNTIL INKEY$ = CHR$(13) OR odotus = 5
Skippaaminen ei toimi tuolloin ihan täydellisesti, mutta riittävän hyvin omasta mielestäni.
Chaosworm ->tuo toimii mutta ei jos haluaa käyttää ääniä(SOUNDilla). Mä tein ittekki tuommoosen johonki mun kirijastoon.
Aihe on jo aika vanha, joten et voi enää vastata siihen.