Reptes
Repte 9 — Les files alternes ★★ Intermedi
El fons marí d'en Karel és un rectangle buit. La seva missió consisteix en omplir de
perles totes les files senars comptant des de baix (la primera fila, la tercera, etc.) i deixar buides les altres.
En Karel comença a la cantonada inferior esquerra mirant cap a l'Est. El resultat final ha de ser un patró de franges horitzontals: files amb perles alternant amb files buides. No importa on acabi en Karel.
Escriu un programa que funcioni per a qualsevol rectangle, sigui quina sigui l'amplada i l'alçada. El teu codi no pot dependre del nombre de caselles.
En Karel comença a la cantonada inferior esquerra mirant cap a l'Est. El resultat final ha de ser un patró de franges horitzontals: files amb perles alternant amb files buides. No importa on acabi en Karel.
Escriu un programa que funcioni per a qualsevol rectangle, sigui quina sigui l'amplada i l'alçada. El teu codi no pot dependre del nombre de caselles.
💡 Pista — el recorregut en serpentí
Escriu la funció
omple_fila(), on en Karel deixa una perla a cada casella, fins al final de la fila.
💡 Pista — saltar una fila
Després d'omplir una fila, en Karel ha de pujar dues files: una per saltar la fila buida i una altra per arribar a la que toca omplir.
Però compte: potser ja és al sostre. Abans de cada pas cap amunt, comprova amb
Però compte: potser ja és al sostre. Abans de cada pas cap amunt, comprova amb
front_is_blocked() si pot pujar. Si no pot, ja ha acabat: surt amb break.
💡 Pista — el gir entre files
Si acaba d'omplir una fila cap a l'Est,
Si l'ha omplerta cap a l'Oest, és el mateix amb
turn_left() el fa mirar al Nord; després de pujar,
un altre turn_left() el deixa mirant a l'Oest.Si l'ha omplerta cap a l'Oest, és el mateix amb
turn_right().