 En este vídeo vamos a aprender a utilizar otro tipo de instrucción en las que repiten un programa, un número de veces. En particular vamos a utilizar la instrucción por siempre. Mientras que la instrucción repetir un número de veces, como hemos aprendido en el anterior vídeo, repite las instrucciones que hemos colocado aquí tantas veces como seleccionamos en este parámetro. La instrucción por siempre, fijaos que tiene una forma muy parecida, lo que hace es repetir indefinidamente, por siempre o infinitas veces, las instrucciones que colocamos aquí dentro. En particular vamos a hacer un programa para que el gato, al igual que antes, se mueva 10 pasos y luego cambie de apariencia. Nos vemos en las instrucciones de movimiento, le decimos que por siempre se mueva 10 pasos y cambie al siguiente disfraz. ¿Qué ocurrirá si ejecutamos este trozo de código? Vamos a comprobarlo. Se moverá 10 pasos, el gato está aquí, pues se moverá si está apuntando hacia la derecha, 90 grados, se moverá hacia la derecha, cambie al disfraz y así siempre. Esta instrucción es un bucle después de ejecutar estas dos instrucciones, primero esta y luego esta. Volverá a ejecutar esta instrucción y luego esta y así por siempre. Vamos a guardarlo. El gato no para de ejecutar este bucle que es, le denominamos, infinito. Lo paramos, lo vuelvo a dar para que se pare. Y vamos a hacer unas leves modificaciones para que el programa haga lo siguiente. Ahora vamos a hacer que el gato, cuando llegue al borde, en lugar de seguir indefinidamente, intentando moverse 10 pasos y cambiar el disfraz, si detecta que llega al borde, rebote y cambie de dirección. Para eso utilizamos esta nueva instrucción, rebotar si toca el borde. En cada una de las veces que se ejecutan este bucle estas instrucciones, si después de moverse 10 pasos y cambiar el disfraz, detecta que ha tocado el borde, esta instrucción hace que rebote. Rebote es que cambia la dirección 180 grados. Si el gato se está moviendo en esta dirección y detecta que toca el borde, rebota y entonces se mueve en esta otra dirección. Y como el bucle está siempre ejecutándose, en la próxima vuelta se moverá 10 pasos en la dirección contraria a la que llevaba cuando chocó. Vamos a ver lo que hace. Justamente lo que queríamos. También cuando llega a este otro borde, rebota también de su dirección. Si va con menos 90 grados, a 90 grados lo podemos ver aquí, como va alternando entre una dirección y otra. Paramos el programa pinchando otra vez aquí y vamos a completarlo con un sombrero de bandera verde para que pueda ejecutarse este programa cuando pinchemos sobre la bandera verde y con unas instrucciones de inicialización, para que el gato comience tal que por aquí y orientado en la dirección 90 grados, o sea hacia la derecha. Como hacíamos eso, poniendo aquí las instrucciones de inicialización, apuntar 90 grados y ir a la posición que ocupa ahora, que es esta, en los 150, 5, 23. Así cada vez que ejecutamos el programa siempre empezará en esta posición, apuntando en esta dirección y luego se quedará ya aquí indefinidamente ejecutando estas tres instrucciones por siempre. Este bucle de tres instrucciones por siempre. Vamos a ver el comportamiento del programa justamente lo que queremos. Si paramos el programa y movimos el gato, como tenemos nuestras instrucciones de inicialización, cuando pulsemos la bandera verde se ejecutará primero en la inicialización, que nos llevará el gato a la posición inicial y apuntando hacia la derecha y luego ya por siempre se queda dando vueltas. Una última cosa, nos fijamos en la forma de esta instrucción, este bucle por siempre y lo comparamos con el bucle anterior que habíamos visto. Mientras que la instrucción repetir aquí abajo permite que se sitúen otras instrucciones, vemos que tiene esta muesca que permite que encajen, sin embargo esta otra, el bucle por siempre, no permite que aquí coloquemos ninguna instrucción. Es lógico porque aquí estamos diciendo que por siempre se quede dando vueltas, ejecutando estas instrucciones, luego jamás llegará a salir de este bucle, es un bucle le denominamos infinito, por eso no tiene aquí la muesca en la que poder encajar ninguna otra instrucción, a diferencia de este otro bucle, después del cual sí que podemos hacer que tras haberse ejecutado diez veces lo que pongamos aquí dentro, se termine esta instrucción y se pase a ejecutar la que tiene de abajo.