...
si orientado-al-sur entonces inicio
gira-izquierda;
gira-izquierda;
gira-izquierda;
fin ;
...
La condición es una función de la situación actual de Karel, a medida que se ejecuta el programa. Si Karel está actualmente orientado hacia el Sur, el valor de la función orientado-al-sur será verdadero, y el conjunto de sentencias entre el par inicio/fin, se ejecutará. De otra manera, el valor orientado-al-sur será falso y el bloque de sentencias se saltará. Karel comprende cualquier función booleana que comprueba su situación actual. Aquí hay un listado:
frente-libre | junto-a-zumbador | orientado-al-este |
frente-bloqueado | no-junto-a-zumbador | orientado-al-oeste |
izquierda-libre | algun-zumbador-en-la-mochila | no-orientado-al-norte |
izquierda-bloqueada | ningun-zumbador-en-la-mochila | no-orientado-al-sur |
derecha-libre | orientado-al-norte | no-orientado-al-este |
derecha-bloqueada | orientado-al-sur | no-orientado-al-oeste |
"libre" significa que no hay ningún muro, mientras que "bloqueado" significa que hay un muro en esa dirección. Karel puede detectar si hay o no algún zumbador en la esquina en la que se encuentra actualmente, así como detectar si tiene algún zumbador en la mochila o no. También tiene una brújula para detectar hacia qué dirección está orientado.
Ejemplo 3 : Escribe un programa de Karel que haga que Karel esté orientado al Norte, desde cualquier dirección inicial, y a continuación se apague. Debería terminar en la misma intersección en la que empezó.
¿Alguna sugerencia?
Edita el programa “karel_2.kp” pulsando en la pestaña "Programa" y abriendo el fichero “karel_2.kp ” , si no está abierto todavía. Guarda el programa con el nombre “karel_3.kp”.
Luego inserta el ejemplo visto arriba para el caso en que Karel está orientado hacia el Sur. Pero, ¿qué ocurre cuando no está orientado hacia el Sur?. ¡Podría estar también orientado hacia el Norte o el Este !. Entonces necesitas dos sentencias si adicionales, en las cuales se especifique que es lo que debe hacer Karel en esas situaciones.
Compila el programa como antes, pulsa la pestaña "Ejecutar", y luego pulsa el botón "Inicializar". A continuación deberías pulsar en "Adelante" o "Correr" para ejecutar el programa. Usa el mundo “NuevoMundo.km” para probar tu programa.
Modifica el mundo inicial de Karel para probar cualquiera de las 4 direcciones de inicio, y para cada una de ellas vuelve a ejecutar el programa.
En esta sección hemos visto como usar las sentencias de control para adaptar Karel a cada situación.