Yhdessä pelissäni on tämän kaltainen IF-lause:
IF UCASE$(INKEY$) <> "K" AND juttu1 >= 2 AND juttu1 <= 100 AND juttu2 >= 0 AND juttu2 <= 50 AND juttu3 >= 1 AND juttu3 <= 1000 AND juttu4 >= 1 AND juttu4 <= 100 AND juttu5 >= 1 AND juttu5 <= 2 THEN EXIT DO
Tuolla tarkastan onko kaikki jutut oikean suuruisia, mutta tuon mittainen If-lause on aika kömpelön näköinen, joten tietääkö kukaan järkevämpää tapaa tuon hoitamiseen. Kieli on QB (jonka kaikki varmaankin jo hoksasivat).
Ei nyt kovin äkkiä tule mieleen parempaa tapaa tarkistaa viiden eri muuttujan arvoa, mutta sisennykset voisivat helpottaa edes lukemista:
IF UCASE$(INKEY$) <> "K" THEN IF juttu1 >= 2 AND juttu1 <= 1000 THEN IF juttu2 >= 0 AND juttu2 <= 50 THEN IF juttu3 >=1 AND juttu3 <= 1000 THEN IF juttu4 >= 1 AND juttu4 <= 100 THEN IF juttu5 >= 1 AND juttu5 <= 2 then EXIT DO END IF END IF END IF END IF END IF END IF
Vaikuttaa ainakin järkevämmältä, ei vielä 5 peräkkäistä niin kauhealta näytä, mutta jos/kun niitä tulee vielä lisää (esim. 10, 15 tai 20)
Ei tuollaista lausetta pelkällään oikein tiiviimmäksi saa. Pari merkkiä lähtee pois, kun vertailuoperaattoreista poistetaan =-merkki ja raja on yhtä pienempi tai suurempi.
Kenties se kohta pelistä pitäisi toteuttaa kokonaan toisella tavalla, jos sen haluaa kauniimmaksi. Mitä tuo kyseinen ehto tekee pelissäsi?
Peli pyytää asettamaan joitain asetuksia (matopeliin) ja tarkastaa, onko kaikki arvot sopivia. (esim. pituus ei ole negatiivinen, nopeus ei ole liian suuri tms.)
Aihe on jo aika vanha, joten et voi enää vastata siihen.