Q-basic munakello. En osaa käyttää timeriä joten piti inspiroida. Koodi olisi timerillä varmaan lyhyempi. Ei osaa näyttää yli tunnin kestäviä matkaja tai en ainakaan huomannut. Toimii FOR-NEXT lauseilla
s = 0
CLS 'näyttö tyhjäks
1 :
PRINT
PRINT "Aseta aika"
PRINT
PRINT "Minuutit"
INPUT minu
IF minu >= 60 THEN PRINT "Minuutteja on vähemmän kuin 60"
IF minu >= 60 THEN GOTO 1 'jos joku mäntti on laittanu
CLS 'liikaa minuutteja pistetään takas asettaan aika.
2 :
PRINT
PRINT "Tunnit"
INPUT tunti
IF tunti >= 24 THEN PRINT "Tunteja pitää olla vähemmän kuin 24" 'sama juttu kuin edellisessä kommentissa
IF tunti >= 24 THEN GOTO 2
CLS
3 :
PRINT
PRINT "Onko kello varmasti "; tunti; ":"; minu; "(k/e) " 'varmistaa ajan
WHILE q$ = "" 'odottaa, kunnes painetaan kyllä tai ei.
q$ = INKEY$
WEND
IF q$ = "k" THEN GOTO veikap 'lähettiin säätämään herätysaika
IF q$ = "e" THEN GOTO 1 'eipä lähettykään. minuutit uusiks.
veikap:
CLS
PRINT "Monelta tahdot hälytyksen?" 'hälytyksen säätöä
4 :
INPUT "Minuutit"; min
CLS
IF min >= 60 THEN PRINT "Minuutteja pitää olla vähemmän kuin 60": GOTO 4 'takas neloseen jos minuutteja on liikaa
5 :
CLS
INPUT "Tunnit"; hour
CLS
IF hour >= 24 THEN PRINT "Tunteja pitää olla vähemmän kuin 24": GOTO 5
6 :
CLS
PRINT
PRINT "Haluatko, että herätysaika on klo "; hour; ":"; min; "(k/e)" 'varmistetaan hälytys.
WHILE w$ = "" 'ja taas odotusta...
w$ = INKEY$
WEND
IF w$ = "k" THEN GOTO kellok 'nyt voidaan käynnistää kello...
IF w$ = "e" THEN GOTO 4
kellok:
DO UNTIL INKEY$ = CHR$(27) OR tunti = hour AND minu = min 'tehdään kunnes pitää hälyttää tai on painettu esciä.
FOR e = 1 TO 24 - tunti 'tehdään 24 - tuntien määrä kertaa.
FOR r = 1 TO 60 - minu 'suurinpiirtein sama juttu...
FOR t = 1 TO 60 'tehdään kuuskyt kertaa.
FOR y = 1 TO 150000 'tää voi vaihdella. minun koneella noin sekunti
LOCATE 20, 15
PRINT tunti; ":"; minu; ":"; s
IF minu = 60 THEN tunti = tunti + 1: minu = 0
IF tunti = 24 THEN tunti = 0
IF tunti = hour AND minu = min THEN PLAY "t250fgfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgfg": PRINT "Herätys!!": END 'soitetaan hälytys ja lopetetaan
IF s = 60 THEN s = 0
NEXT
CLS
s = s + 1
NEXT
minu = minu + 1
NEXT
NEXT
LOOP
ENDAihe on jo aika vanha, joten et voi enää vastata siihen.