Saltar la navegación

5.2. Si juegas, entonces...

Rétor

Una vez que sabemos programar las instrucciones necesarias para que todos los elementos de nuestro juego se muevan como queremos, pasaremos a conocer los bloques que nos permitirán controlar esos movimientos con unos bloques muy especiales a los que llamaremos bucles y condicionales.

También te presentaré otros bloques que encajan en los condicionales, son los sensores y operadores.

¡No te lo pierdas, es muy importante!

1. Controla tu videojuego

En los videojuegos hay  bloques de la categoría control que nos ayudarán a controlar los movimientos de personajes y objetos. 

En las siguientes  pestañas puedes ver cómo utilizarlos:

Bucles

Estructuras de programación de tipo bucle, color naranja.Un bucle es una estructura de la categoría de control que ejecuta una serie de instrucciones en orden normal, de arriba a abajo, pero al terminar vuelve a la parte superior para iniciar de nuevo la lectura.

En la imagen de la izquierda tienes tres tipos de bucles:

El bucle por siempre ejecuta los bloques incluidos dentro una y otra vez.

El bucle repetir... ejecuta las instrucciones que están dentro en el orden en que aparecen y vuelve al principio repitiéndolas el número de veces que indiquemos. Luego pasa al resto del programa.

Con el bucle repetir hasta que... se repetirán las instrucciones indicadas hasta que se cumpla la condición que pongamos.

En los videojuegos es muy normal que algunos personajes se muevan constantemente por la pantalla de lado a lado, por lo que es una situación ideal para usar  bucles. 

Condicionales

Nos enfrentamos a diario a condiciones. Seguro que has escuchado muchas veces frases de este tipo: 

"Si me ayudas a hacer las tareas de casa, vamos al cine" 

A la hora de programar, la estructura de esta frase se repite mucho. Este esquema resume cómo funciona:

Esquema de condicional con tres cuadros que se relacionan con una ficha de izquierda a derecha. En el primero pone sí, en el segundo pone condición y en el tercero consecuencia

En la frase anterior, la palabra "Si" anuncia que hay una condición, "me ayudas a hacer las tareas de casa" es la condición y "vamos al cine" es la consecuencia.

Los condicionales son estructuras  de la categoría  de control

Bloque de Si entonces y de Si entonces, Si no entoncesAl igual que los bucles, se colocan alrededor de otros bloques y ejecutan un control sobre ellos.

En la imagen de la izquierda ves los dos bloques condicionales que te van a ser útiles:

Bloque si...entonces: Si sucede lo que pongamos en la ventana entonces se ejecutarán las instrucciones que pongamos dentro.

Bloque si...entonces: Si sucede lo que pongamos en la ventana entonces se ejecutarán las instrucciones                                           que pongamos dentro.

            Si no...entonces: Si no sucede, se ejecutarán otras instrucciones diferentes, que indicaremos                                                      dentro.

Es importante que tengas en cuenta que para que funcione bien una estructura de condicional tiene que estar dentro de un bucle por siempre para que siempre se cumpla la condición y se produzca la consecuencia.

Sensores

Los sensores son los bloques de color azul claro que encajan en los condicionales. Permiten que nuestros objetos  interactúen con el usuario mediante los siguientes eventos:

  • Cuando toca el puntero del ratón o un borde:

Bloques de sensores: tocando puntero del ratón y tocando borde

  • Cuando toca un color:

Bloques de sensores: tocando color

  • Cuando tocamos una tecla del ordenador:

Bloques de sensores: Presionando tecla...

  • Mediante preguntas y respuestas:

Bloques de sensores: preguntas

  • Sensores que encajan el los operadores para dar información del volumen del sonido, posición de los objetos, etc:

Bloques de sensores de forma redonda y que encajan en los operadores


Aquí tienes algunos ejemplos

La imagen muestra tres ejemplos de programas con sensores

Operadores

Conjunto de bloques de la categoría operadoresLos operadores son los bloques de color verde que nos sirven para guardar información numérica. 

Los que más vamos a utilizar junto con los condicionales son los que ves a la izquierda.

Contienen dos cajas ovaladas que relacionan un sensor con una magnitud:

  • > Mayor que.
  • < Menor que.
  • = Igual a.

En el programa de nuestro videojuego nos servirán para interactuar con el volumen del sonido, con la posición x o y del ratón o con el cronómetro.

¿Qué operador utilizarías cuando hay dos condiciones? Piensa en estos ejemplos:

  •  "Si haces las tareas de casa y los deberes, vamos al cine". 
  • "Si haces las tareas de casa o los deberes, vamos al cine". 

Se muestran dos bloques de operadores booleanosEn este caso utilizamos los operadores que tienes a la izquierda, llamados operadores booleanos.

Los operadores booleanos son aquellos en los que nos dicen si se cumple una condición compuesta, es decir, podemos poner dos condiciones en una. 

Como has podido observar observar en el ejemplo, para que se cumpla el resultado de la condición deben de darse dos situaciones previas.

Aquí tienes un ejemplo con condicionales, sensores y operadores:

Ejemplo de programa con operadores

Vídeo

El siguiente vídeo te ayudará a comprender mejor la programación con bucles y condicionales:

    Lectura facilitada

    Los bloques de la categoría control 

    controlan los movimientos 

    de personajes y objetos. 

    Los bloques de control 

    se usan así:

    Bucles

    Estructuras de programación de tipo bucle, color naranja.

    Un bucle es una estructura 

    de la categoría de control.

    El bucle sigue instrucciones. 

    Cuando el bucle termina las instrucciones

    empieza la lectura otra vez.

    Tienes tres tipos de bucles:

    -Por siempre

      Repite los bloques de dentro

      una y otra vez.

    -El bucle Repetir... 

      Repite los bloques de dentro

      las veces que pongas.

    -El bucle Repetir hasta que... s

      Repite los bloques de dentro

      hasta que se cumpla 

      la condición. 

    Puedes usar los bucles 

    para que los personajes se muevan

    sin parar.

    Condicionales

    En tu vida usas las condiciones. 

    -Un ejemplo de condición es: 

      Si me ayudas a hacer las tareas de casa, vamos al cine. 

    Las condiciones tienen dos partes: 

    -La condición

      es lo que tienes que hacer. 

    -La consecuencia

      es lo que pasa después. 

    Esquema de condicional con tres cuadros que se relacionan con una ficha de izquierda a derecha. En el primero pone sí, en el segundo pone condición y en el tercero consecuencia

    Los condicionales en Scratch

    están en la categoría de control. 

    Bloque de Si entonces y de Si entonces, Si no entonces

    Los condicionales se colocan 

    alrededor de otros bloques

    para controlar esos bloques. 

    Los dos bloques condicionales 

    más útiles son: 

    -Bloque Si...entonces

     hace lo que pongas dentro

     cuando se cumple la condición.

    -Bloque Si...entonces

     Si no...entonces

      hace lo que pongas dentro

      cuando sucede la condición.

    Cuando no se cumple la condición

    se hacen otras cosas. 

    Las condiciones están 

    en un bucle. 

    Sensores

    Los sensores son los bloques 

    de color azul claro. 

    Los sensores encajan 

    en los condicionales. 

    Los sensores hacen

    interacción entre las personas

    y los objetos. 

    Esta interacción se hace

    con estos eventos: 

    • Tocar el puntero del ratón

      o un borde. 

    Bloques de sensores: tocando puntero del ratón y tocando borde

    • Tocar un color.

    Bloques de sensores: tocando color

    • Tocar una tecla del ordenador.

    Bloques de sensores: Presionando tecla...

    • Con preguntas y respuestas.

    Bloques de sensores: preguntas

    • Otros sensores.

    Bloques de sensores de forma redonda y que encajan en los operadores

    Estos son ejemplos de programas.

    La imagen muestra tres ejemplos de programas con sensores

    Operadores

    Conjunto de bloques de la categoría operadores

    Los operadores son los bloques 

    de color verde. 

    Estos bloques guardan información. 

    Esa información es numérica. 

    Los operadores más usados son:

      > Mayor que.

     < Menor que.

      = Igual a.

    Usa los operadores en el videojuego para: 

    -El volumen.

    -La posición.

    -El cronómetro. 

    Se muestran dos bloques de operadores booleanos

    Los operadores booleanos

    se usan para condiciones compuestas. 

    Las condiciones compuestas tienen dos condiciones 

    Este es un ejemplo de operador boobleano:

    Ejemplo de programa con operadores

    Vídeo

    El vídeo explica las bucles y 

    condicionales. 

      2. Juega con los bloques

      RétorLos bucles se utilizan mucho en la programación y pueden ahorrarte muchos pasos.

      Es importante que practiques con los ejercicios que tienes a continuación para que tengas muy claro cómo utilizarlos.

      2.1. ¿Repites?

      Programa con evento hacer clic en bandera verde y cuatro bloque de movimiento mover 50 pasosImagina que tienes  que desplazarte 200 pasos a la derecha con el bloque mover 50 pasos. Una opción es el programa que tienes a la izquierda, pero ¿hay otra forma más sencilla de programarlo?

      ¿Te ayudaría la estructura repetir para hacerlo más rápido? Si no lo recuerdas míralo, solo necesitarás un bloque.

      2.2. ¿Repites o repites por siempre?

      Coloca un objeto en el escenario que necesite girarse una vez que llega al borde.

      Haz un programa sencillo para que esté girando siempre cuando llegue al borde. ¿Qué bloques utilizas?

      ¿Has incluido un bloque para que gire de izquierda a derecha o de derecha  a izquierda y el personaje no se ponga "patas arriba"?

      2.3. ¿Hasta cuándo repites?

      ¿Qué bloque tendrías que utilizar si quieres que tu objeto o personaje repita una acción hasta que suceda algo?

      ¿Qué condición le pondrías? ¿Con qué bloque lo harías?

      Realiza un programa sencillo con este tipo de bloques y comprueba si cuando se cumple la condición se produce la consecuencia programada.

      3. ¿Con qué condición?

      RétorTe habrás dado cuenta de la importancia de los condicionales en la programación.

      A continuación tienes ejercicios sencillos para elaborar programas en los que tienes que utilizar condicionales y , en algunas ocasiones, sensores y operadores.

      Puedes hacer los siguientes ejercicios en pareja o pequeño grupo si presentan mucha dificultad para ti.

      3.1. Elige bien

      Recuerda el esquema que hemos utilizado para los condicionales eligiendo las opciones correctas en cada caso:

      compartes tus juguetes, tendrás más amigos y amigas. 

      Si , nos quedaremos en casa.

      Si consigues el reto, .

      Habilitar JavaScript

      3.2. Rebota sin parar

      ¿Qué bloque o estructura utilizarías si quieres que un personaje rebote y cambie de dirección cada vez que llegue al borde?

      ¿Sabrías hacerlo sin utilizar un bloque de condicional?

      Realiza un programa sencillo para ello y comprueba si funciona.

      3.3. ¿Qué consecuencia tiene?

      Elabora los siguientes  programas para un personaje para que se cumplan estas instrucciones:

      • Si toca a otro personaje cambie de disfraz.
      • Si toca un determinado color cambie el fondo.
      • Si la tecla espacio está presionada se escuche un sonido.
      • Si se cumplen dos condiciones emita un mensaje.

      3.4. ¿Más o menos?

      Elabora los siguientes  programas para un personaje para que se cumplan estas instrucciones:

      • Si la posición x del ratón es menor de 50 cambie de disfraz.
      • Si el volumen es mayor de 50 suene un sonido de alarma.

      4. Disfraces que sorprenden

      RétorAhora que sabes utilizar los bucles y condicionales estás preparado o preparada para darle vida a tus personajes y objetos Estas estructuras te ayudarán a programar cambios de apariencia que sumarán emoción y dinamismo a tu videojuego.

      Habrás observado  que los cambios más usuales son los siguientes:

      • Cambio de color, forma o tamaño. 
      • Cambio de posición o expresión.
      • Cambio de vestimenta.
      • Emitir un mensaje.
      • Efectos especiales.

      Recuerda que puedes elegir la opción que decidas. Pero puedes probar a seguir haciendo la siguiente y quizás descubras algo nuevo que creías que no sabías.

      OPCIÓN A: Recuerda lo que sabes

      Recuerda lo que sabes sobre bucles y condicionales completando los huecos que faltan.

      Un  es una estructura de la categoría de  que ejecuta una serie de instrucciones en orden normal, de arriba a abajo, pero al terminar a la parte superior para iniciar de nuevo la lectura.

      En la frase "Si me ayudas a hacer las tareas de casa, vamos al cine" , la palabra "Si" anuncia que hay una , "me ayudas a hacer las tareas de casa" es la   y "vamos al cine" es la  .

      Habilitar JavaScript

      OPCIÓN B: Cambio continuamente de disfraz

      Haz un programa para que un personaje siga las siguientes instrucciones al hacer clic en la bandera verde:

      • Se desplace 10 pasos.
      • Gire 15 grados hacia la izquierda.
      • Rebote si toca un borde.
      • Cambie continuamente de disfraz.

      Recuerda que la programación funcionará mejor si elaboras un programa para el movimiento y otro para el cambio de disfraz.

      Lumen dice ¿Necesitas ayuda con el código?

      ¿No ha funcionado tu programa? Si es así tienes aquí un ejemplo:

      Ejemplo de programación. En el bloque de la izquierda  se dan instrucciones para el movimiento y en el de la derecha para el cambio continuo de disfraz

      OPCIÓN C: Moverme me hace cambiar

      Ya sabes que en los videojuegos es muy importante la interacción de los jugadores.

      Te propongo que realices un programa en el que un personaje u objeto que cambie de disfraz cuando los usuarios utilicen las teclas arriba, abajo, izquierda y derecha para desplazar a los personajes u objetos a esas posiciones.

      Lumen dice ¿Necesitas ayuda con el código?

      ¿No ha funcionado del todo bien tu programa? 

      Necesitarás para cada cambio de disfraz los siguientes tipos de bloques:

      • Bloque de evento Al pulsar tecla...
      • Bloque de movimiento.
      • Bloque de cambio de disfraz.

      OPCIÓN D: Colisiones impactantes

      En los videojuegos los personajes se van encontrando y colisionando con otros personajes y objetos. Si pasa esto, normalmente sufren cambios de apariencia: cambio de color, tamaño, posición, emiten un mensaje...

      Comprueba que sabes hacerlo realizando estos programas: 

      1. Si el personaje está tocando a un segundo personaje; entonces cambie de apariencia emitiendo un mensaje.
      2. Si el personaje está tocando un color; entonces modifique su tamaño.
      3. Si el personaje está tocando un borde; entonces cambie de disfraz.

      5. Pantallas mágicas

      RétorEl escenario de Scratch es la pantalla del juego. Programando los fondos podemos conseguir que sea una pantalla atractiva o incluso mágica.

      Habías seleccionado en qué momentos podías cambiar de fondo para dar más emoción, realismo o dinamismo.

      Con lo que sabes de bucles, condicionales, sensores y operadores, te invito a realizar algunos ejercicios para conseguirlo. Se trata de diferentes opciones para elegir aquella en la que te sientas más cómodo o cómoda, aunque todas son interesantes.

      OPCIÓN A: Verdadero o falso

      Indica si la siguiente afirmación es verdadera o falsa.

      Pregunta 1

      Para cambiar continuamente de fondo tengo que utilizar el bloque de control por siempre,  el bloque de movimiento siguiente fondo y el bloque de control esperar.

      OPCIÓN B: ¡Cuidado con chocar!

      Habrás observado que a veces en los videojuegos, cuando dos personajes u objetos colisionan o se produce un encuentro importante, hay un cambio de fondo para dar más emoción o para trasladarnos a un espacio diferente.

      ¿Qué tipo de bloques crees que necesitas Para causar este efecto?

      Selecciona los que necesites y elabora un programa para un personaje u objeto que cumpla lo siguiente: al tocar a otro personaje o tocar un color, se cambie el fondo.

      Lumen dice ¿Necesitas ayuda con el código?

      Si necesitas alguna pista para realizar el programa, aquí tienes un ejemplo:

      Se muestra un programa para que se cambie de fondo cuando se toque un personaje.

      OPCIÓN C. Un buen final

      Otro buen momento para cambiar de fondo puede ser cuando se termina la partida o pasamos un nivel.

      Te invito a que hagas un programa para cambiar de fondo cuando se termine la partida.

      Lumen dice ¿Necesita alguna pista?

      Te recuerdo los tipos de bloques que necesitas:

      • Condicional para indicar cuándo se cambiaría de fondo.
      • Operador o sensor para encajarlo en el condicional (posición en la pantalla, tocar un borde o color...)
      • Bloque de apariencia.
      • Bloque de control.

      OPCIÓN D: Como si hicieras magia

      ¿Cómo harías para que la pantalla cambie continuamente como si estuviera en movimiento ?

      Elabora un programa para que si se recibe un mensaje, hay un encuentro importante con un personaje u otro suceso, el paisaje adquiera movimiento.

      Lumen dice ¿Necesitas ayuda?

      Te cuento un truco para que te resulte más fácil hacer este ejercicio: 

      Prepara varios fondos muy parecidos en los que cambie sólo algún detalle: un árbol, mobiliario..... Al cambiar continuamente de fondo dará la sensación de movimiento.

      6. Sonidos increíbles

      RétorYa conoces las posibilidades que tiene el sonido en Scratch. 

      En el apartado 4.4. estudiaste cuándo introducir música de inicio,  efectos sonoros increíbles, música envolvente, etc.

      Con los bucles, condicionales, sensores y operadores puedes conseguir todos estos efectos. Te propongo que practiques con algunos ejercicios. Realiza las opciones que quieras.

      ¡Ánimo. Será fácil y divertido!

      OPCIÓN A: Un poco de orden

      Ordena las siguientes instrucciones para que siempre que el personaje Dragón toque al personaje Gobo, se escuche un sonido sonido durante 2 segundos y a continuación se escuche el mensaje ¡Perdiste!

      • Bucle Por siempre
      • Condicional Si Dragon toca a Gobo, entonces...
      • Tocar sonido... durante 2 segundos
      • Decir ¡Perdiste!

      Comprobar

      ¡Correcto!

      No es correcto... Respuesta correcta:

      OPCIÓN B: ¡Que la música no pare!

      En muchos videojuegos se escucha siempre una música de fondo o al menos en parte de él. ¿Cómo podrías programarlo?

      Piensa en las instrucciones, son bastante sencillas: Tiene que iniciarse una música desde el principio del juego, que se escuchará siempre hasta que finalice.

      No olvides que,  al mismo tiempo tienen que ejecutarse las demás instrucciones.

      Lumen dice ¿Necesitas ayuda con el código?

      Si tu programa tiene algún fallo y no sabes cómo solucionarlo, aquí tienes un ejemplo de programa:

      Ejemplo de programa para poner música de fondo

      OPCIÓN C: Colisiones sonoras

      En las colisiones o cuando nos encontramos con un personaje podemos introducir un sonido.                                    

      Elige cualquiera de los sonidos que tienes preparados, ya sea de la galería, de tu dispositivo, grabación, texto a voz...

      Piensa que tipo de bloques necesitas para que se escuche un sonido cuando un personaje colisione con otro personaje u objeto,

      Puedes ayudarte haciendo un diagrama de flujo.

      Si necesitas ayuda para hacer un diagrama de flujo, haz clic aquí para acceder a la guía del alumnado de Aprender a aprender en su apartado Creo un diagrama.

      Por último Haz clic en el programa y comprueba si lo has hecho bien.

      Lumen dice ¿Necesitas ayuda con el código?

      ¿Has tenido dificultades para hacer la programación?. Si es así consulta esta imagen:

      Programa para emitir un sonido en las colisiones.

      OPCIÓN D: Game over

      Cuando termina la partida, pasas de nivel, pierdes vidas... es importante que el jugador se sorprenda con algún tipo de sonido.

      Realiza un programa para que cuando se cumpla una condición haya alguna de estas consecuencias:

      • Sonido que cause un efecto especial.
      • Aumento de volumen u otro efecto de sonido.
      • Emitir un mensaje.

      Motus dice ¿Te has equivocado en algo?

      Cuando queremos aprender algo, lo normal es equivocarse al principio. Fallar forma parte de aprender. ¿Recuerdas cuando montaste en bici por primera vez? ¿o cuando intentabas nadar en el agua? Seguro que al principio no fue fácil, pero cada vez que fallabas, lo intentabas de nuevo. Con cada fallo aprendemos del error y lo mejoramos para la vez siguiente.

      Para aprender de tus errores sigue estos consejos:

      1. Me doy cuenta de en qué parte he fallado.
      2. Busco la forma de mejorar ese error.
      3. Lo intento de nuevo.
      4. Entiendo que el error es importante para aprender.