Combinant condicions
Comprovem més d'una cosa alhora
De vegades necessitem que en Karel comprovi dues coses alhora, abans de fer una cosa.
Tenim aquestes possibilitats, per combinar:
and: es compleix només si totes dues condicions es compleixen alhora.or: es compleix si almenys una de les condicions és certa.not: serveix per comprovar el contrari.
Exemple 1
Volem que en Karel avanci només sobre una catifa de perles. S'ha d'aturar quan les perles s'acabin.
Si fem servir while pearl_here(): move(), en Karel avançarà molt bé, però... i si la catifa arriba JUSTAMENT on hi ha una roca? En Karel xocarà!
Per evitar-ho, li demanem de comprovi dues coses alhora: "Mentre tinguis una perla sota teu i també el teu davant estigui lliure, llavors ja pots avançar". D'aquesta manera, en Karel no xocarà mai.
Exemple 2
En aquest altre exemple, en Karel està caminant per un passadís.
Li direm: "En cas que trepitgis una perla o bé si tens davant un obstacle, has de fer una tombarella, o sigui, que has de girar sobre tu mateix."
Exercici
Un cop la iteració acabi (ja sigui perquè ha trobat la perla sota seu, o perquè té una roca davant), fes servir un
if per agafar la perla (només si n'hi ha una, és clar!).
Pista: A la iteració while apareixen les instruccions pearl_here(), front_is_clear(). Però hauràs de pensar també si et convé fer servir and, or, not