 En este vídeo vamos a aprender una tercera instrucción de las de repetir, es decir, una tercera instrucción de las de tipo bucle. Hemos aprendido antes que entre las instrucciones de control teníamos la de repetir un número de veces ciertas instrucciones que colocamos aquí dentro. En este caso repetimos 10 veces las instrucciones que colocamos aquí dentro y una vez que se repitan 10 veces seguimos agutando la instrucción que podamos poner aquí debajo. En el último vídeo hemos aprendido a utilizar la instrucción por siempre, que también es una instrucción de las de tipo bucle, es decir, se pone a ejecutar las instrucciones que le comuniquemos aquí dentro, pero en este caso por siempre, o sea, infinitamente, nunca deja de ejecutar las instrucciones que colocamos aquí dentro, por lo tanto no nos permite colocar aquí ninguna otra instrucción, porque nunca va a terminar de ejecutar las que le pongamos aquí dentro, es un bucle infinito, decimos. Vamos a aprender a utilizar un tercer tipo de bucle, el bucle repetir hasta que. En este caso no decimos cuantas veces queremos que se ejecuten las instrucciones que colocamos dentro, tampoco decimos que se ejecute infinitas veces. Lo que decimos es que repita la ejecución de estas instrucciones una y otra vez en un bucle hasta que sea cierto lo que digamos aquí. Aquí vamos a poder especificar una u otra condición que cuando se haga verdadera, cuando sea cierta, hará que dejemos de repetir esto, que dejemos de repetir las instrucciones que coloquemos aquí, de ahí el nombre, repetir hasta que sea cierto lo que coloquemos aquí. Vamos a ver un programa que hace uso de este nuevo tipo de bucle. Echa el vistazo a este programa y trata de predecir qué es lo que hace. Date un tiempo, si quieres pulsar a tecla pause y cuando lo hayas pensado vuelves. Bien, este programa comienza con el sombrero al presionar la bandera verde, luego un par de instrucciones típicas de inicialización para que el gato que es aquí en pertenece a este programa apunte inicialmente en la dirección 90 grados o si hace la derecha y se vaya a la posición menos 174.2. Después de inicializarse queremos que ejecute unos cuantas veces este bucle. ¿Cuantas? No lo decimos. Queremos que ejecute este bucle, es decir las instrucciones que coloquemos aquí, en este caso mover 10 pasos, hasta que el gato esté tocando el borde. Fijaos que esto está redactado en forma de pregunta, ¿está tocando el borde? Porque queremos que se repita hasta que esté tocando el borde del gato. En esta posición inicial el gato no está tocando el borde. Luego, después de inicializarse la posición y la dirección del gato, como no está tocando el borde se va a mover 10 pasos. Después de moverse 10 pasos vuelve a evaluar si está tocando el borde. Si no lo está tocando vuelve a moverse 10 pasos a la derecha y así, hasta que esté tocando el borde. Vamos a ver la ejecución de este programa. ¿Qué es lo que ha ocurrido? Se ha ido moviendo en cada una de las vueltas de este bucle 10 pasos hasta que ha llegado a tocar el borde. Y en ese momento ya no sigue ejecutando estas instrucciones y termina porque no hemos colocado aquí ninguna otra instrucción. Por eso se ha parado. Volvemos a ejecutarlo, lo ponemos en cualquier sitio, le damos a donde la verde, se inicializa la suposición, se mueve 10 veces, 10 veces, 10 veces, hasta que toca el borde. A este romboide le denominamos un sensor. Tenemos aquí una paleta de sensor y si vemos que tenemos el sensor tocando, es este que hemos utilizado aquí, o tocando el color, o color tocando otro color. Vamos a ver algunas de las posibilidades. Este sensor tocando borde, ya vemos lo que hace, pero vemos que aquí tenemos este menú en el que podemos cambiar por tocando puntero del ratón. ¿Qué es lo que hará ahora el programa? Hace lo mismo. Repite ese movimiento 10 pasos hasta que el gato esté tocando el puntero del ratón. Vamos a ver el programa. Podemos comprobar que si le ponemos el puntero del ratón delante al gato y llega a tocarlo, entonces separará allá a donde esté el puntero del ratón. Vamos a verlo. Ahí se ha parado. Otra vez. Ahí se ha parado. ¿Qué ocurrirá ahora si volvemos a ejecutarlo, pero no le ponemos el puntero del ratón delante? Repetir hasta que esté tocando el puntero del ratón. Como no le vamos a poner el puntero delante, va a repetir y nunca va a tocar el puntero del ratón, por lo tanto se va a quedar ahí moviendo 10 pasos, moviendo 10 pasos, moviendo 10 pasos hasta que toque el puntero del ratón. Vamos a verlo. Fijaos, sigue ejecutándose el programa. No sé si podéis ver que tiene una ureola amarilla aquí. Esto quiere decir que el programa se sigue ejecutando. Está aquí dando vueltas, moviéndose 10 pasos para que podamos siempre ver dónde está el gato. No nos muestra un poquito del disfraz, pero sigue aquí moviendo el gato. Fijaos lo que pasa si paso el ratón por encima del disfraz. Ahora vemos que esta ureola ha desaparecido porque ha llegado a ocurrir que ya está tocando el gato, el puntero del ratón y entonces termina la ejecución de este bucle. Hemos visto que tenemos otros sensores, como por ejemplo tocando el color. Aquí en lugar de ponerle esta condición podemos quitarla y poner otra con esta. Si tuviéramos por aquí algún otro objeto que tuviera este color podríamos hacer que el gato se mueva hasta que toque a ese otro objeto que tenga este color. Tenemos más posibilidades como por ejemplo que cierto color de los míos esté tocando a otro color. En ese caso podríamos especificar que por ejemplo una parte de nuestro gato, aquella que tenga color negro esté tocando otro objeto que tenga color azul. Para eso pinchamos aquí y podemos especificar que el ojo o cualquier otra parte que sea de color negro tenemos que acertar, pinchamos ahí, nos vamos a poner color de la nariz, el color de la nariz esté tocando otro color. Si tuviéramos aquí un objeto de color azul, aquí estaríamos haciendo que el gato se mueva hasta que la nariz, el color de la nariz esté tocando a otro objeto que hubiéramos puesto aquí de este color. Tenemos más posibilidades por ejemplo esta otra. Trata de predecir qué es lo que va a hacer este programa tal cual lo he dejado ahora. Puedes pulsar la tecla de pausa del vídeo, botón de pausa y volver. Bien, lo que va a hacer efectivamente es moverse hasta que moverse 10 pasos y otra vez 10 pasos ejecutando este bucle hasta que la tecla espacio, la barra despaciada del teclado esté presionada. Vamos a ver cómo se comporta este programa. Ahorro de la tecla espacio y separa. Otra vez. Se queda aquí ejecutando esto hasta que le demos a la tecla despacio y en ese momento deja de ejecutarse esta instrucción y ejecuta lo que hay aquí debajo. Como no hay nada pues termina. Voy a probar otra vez. Tecla despacio, despacio, despacio. En cuanto le damos a la tecla despacio, tecla despacio separa.