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 IFVaikuttaa 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.