FANDOM


Toivottavasti tunnet jo IF-lauseen, koska tämä on vähän sama. Select-rakenne vastaa sarjaa ElseIf-lausekkeita. Esitystapa on vain hieman erilainen, ehkäpä mukavampi.

Select-rakenteella voidaan tarkastaa useita ehtoja. Se vertaa sille annettuun arvoon muita esiteltyjä arvoja. Komento on ihanteellinen, kun katsotaan minkälaisia arvoja muuttujassa on. Rakenne menee näin:


1) SELECT muuttuja 2) CASE arvo 3) komento 4) [CASE arvo] 5) [komento] 6) [DEFAULT] 7) [komento] 8) END SELECT

Hakasulkeella olevat kohdat ovat valinnaisia. Kuulostaako hämmentävältä? Otetaan esimerkki: TARKASTELE muuttujaa

   ONKO 1
       TEE JOTAIN...
   ONKO 2
       TEE JOTAIN

LOPETA TARKASTELU Oikeastaan se tekee siis saman, kuin sarja IF- tai ELSEIF-käskyjä. CoolBasicin kielellä tämä olisi: SELECT muuttuja

   CASE 1
       PRINT "yksi"
   CASE 2
       PRINT "kaksi"

END SELECT Jos mikään ehdoista ei täsmää, voit haluta ottaa senkin huomioon. DEFAULT-käsky vastaa IF-rakenteen ELSE-käskyä. SELECT muuttuja

   CASE 1
       PRINT "yksi"
   CASE 2
       PRINT "kaksi"
   DEFAULT
       PRINT "joku muu"

END SELECT Voit myös yhdistellä ehtoja samoin kuin IF-rakenteessa OR-avainsanan avulla: SELECT muuttuja

   CASE 1
       PRINT "yksi"
   CASE 2, 3
       PRINT "kaksi tai kolme"
   DEFAULT
       PRINT "joku muu"

END SELECT

Käyttö Muokkaa

SELECT vertailuarvo

   CASE lista
       'komentoja...

END SELECT

Esimerkki Muokkaa

'A TEXT ADVENTURE '========================================

beginning: ClearText ClearKeys CloseInput

AddText "What would you like to do?" AddText "" AddText "1. Go out" AddText "2. Go to fishing" AddText "3. Eat an apple" AddText ""

Repeat

   c=Input("?")
   
   DrawScreen
   

Until KeyHit(cbkeyreturn)

Select c

   Case 1
       GoTo outside
   Case 2
       GoTo fishing
   Case 3
       GoTo eat
   Default
       AddText "Invalid choise"
       DrawScreen
       Wait 2000
       GoTo beginning

End Select

'---------------------------------------

outside: ClearText ClearKeys CloseInput

AddText "OK, you're on your yard. What to do now?" AddText "" AddText "1. Go back inside" AddText "2. Go to fishing" AddText ""

Repeat

   c=Input("?")
   
   DrawScreen
   

Until KeyHit(cbkeyreturn)

Select c

   Case 1
       GoTo beginning
   Case 2
       GoTo fishing
   Default
       AddText "Invalid choice"
       DrawScreen
       Wait 2000
       GoTo outside

End Select

'---------------------------------------

fishing: ClearText ClearKeys CloseInput

AddText "You noticed you are quite a good angler." AddText "You finished this game, congrats!"

DrawScreen Wait 10000 End

'---------------------------------------

eat: ClearText ClearKeys CloseInput

AddText "Yamm.. no need of Doctor for a while."

DrawScreen Wait 3000

GoTo beginning

Komentolista
Peruskomennot Matematiikka Merkkijonot (Teksti) Teksti Tiedostot Muisti Laitteet ja syötteet Järjestelmä äänet ja musiikki Animaatiot Kuvat piirtokomennot Objektit kamera Kartat Efektit