CoolBasic/If ... Then
Tämä komento tarkastaa, onko annettu ehto totta. Kaikki muut paitsi arvo 0 tulkitaan todeksi. Mikäli ehto on totta, suoritetaan THEN-avainsanan jälkeen esitetyt komennot. Muussa tapauksessa hypätään IF-rakenteen yli tai seuraavaan kohtaan (ELSEIF, ELSE). Jos kirjoitat suoritettavat komennot THEN-sanan jälkeen yhdelle riville, erota ne toisistaan kaksoispisteellä.
If-lause voidaan suomentaa suoraan JOS-lauseeksi. Eli JOS {jotain} NIIN {tee jotain}
Tässä on yksinkertainen IF-lause:
IF 1+1=2 THEN PRINT "Oikein"
Mutta entä jos meidän pitäisi tulostaa vastaus, myös silloin, kun lasku on väärin? Se menisi seuraavasti:
IF 1+1=2 THEN PRINT "Oikein" ELSE PRINT "Väärin"
Voimme myös suorittaa useita tehtäviä erottamalla ne toisistaan kaksoispisteellä:
IF 1+1=2 THEN PRINT "Oikein": PRINT "Hyvä!" ELSE PRINT "Väärin"
Jos ehto on totta (1+1=2), tulostetaan kaksi viestiä. Tosin tämä on aika sekavan näköinen rivi. Se voidaan jakaa myös osiin:
IF 1+1=2 THEN PRINT "Oikein" PRINT "Hyvä!" ELSE PRINT "Väärin" PRINT "Yritä uudestaan" ENDIF
Huomaa, että tällä tavalla esitettynä loppuun pitää pistää EndIf, joka kertoo CoolBasicille, että rakenne loppuu tuossa kohtaa. Se toimii myös kohtana, johon CoolBasic hyppää, jos ehto on epätosi ja ELSE-lohko puuttuu:
IF 1+1=2 THEN PRINT "Oikein" PRINT "Hyvä!" ENDIF PRINT "Tämä ei kuulu ehtoon, ja näkyy, vaikka ehto onkin epätosi."
If-lauseeseen voidaan liittää myös toisia ehtoja, jos ensimmäinen ehto olikin epätosi. Tämä tapahtuu ElseIf-lausekkeella.
Tulet törmäämään IF-rakenteeseen kaikkialla, mihin katsot. Sinun ei tarvitse sisäistää koko asiaa kerralla, vaan opit kaiken varmasti ajan myötä.
Käyttö
[muokkaa | muokkaa wikitekstiä]If {ehdot} Then {komennot1} Else {komennot2}
tai:
If {ehdot} Then {komennot1} Else {komennot2} EndIf
Esimerkki
[muokkaa | muokkaa wikitekstiä]Tässä esimerkissä voit liikuttaa valkoista neliötä nuolinäppäimillä:
AddText "Use arrows to move..." x=200:y=150 Repeat 'update controls If LeftKey() Then x=x-1 If RightKey() Then x=x+1 If UpKey() Then y=y-1 If DownKey() Then y=y+1 'draw "player" Box x,y,10,10 DrawScreen Until EscapeKey()