Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: QB: Munakello

Latska [10.05.2004 22:49:20]

#

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

END

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta