VIDEOJUEGOS S4A: CAZADEMONIOS

Objetivos

 

  • Utilizar el joystick para hacer un videojuego.
  • Profundizar en las interacciones entre objetos.
  • Conocer algunos bloques de “Apariencia” nuevos.
  •  

    Material requerido

     

    Imagen de Arduino UNO

    Arduino Uno o compatible y con el firmware para S4A cargado.


    conexiones
     Una Protoboard mas  cables.
    componente Un Joystick.
    Img_3_5 Una resistencia de 330 Ohmios.
    Img_3_4 Una Protoboard.

     

    CREANDO LOS OBJETOS, LOS DISFRACES Y LOS SONIDOS

     

    Vamos a utilizar el montaje de la sesión 19 para hacer un videojuego en el que usaremos el joystick para apuntar y disparar los demonios que aparezcan en el escenario. Contaremos cuántos demonios vamos cazando y los mostraremos al terminar la partida. Y es que aunque os parezca mentira, hace no mucho tiempo, había muchos videojuegos que no eran mucho más que esto.

    Vamos a empezar creando los objetos que vamos a necesitar e incorporando sus disfraces y sonidos.

    Lo primero que vamos a hacer es dibujar un disfraz para el objeto principal que contendrá la programación para el movimiento del joystick. Como será nuestra mira, le haremos un disfraz acorde.

    También importaremos un sonido para que suene cada vez que disparemos. Yo he importado uno llamado “Laser1” de los que vienen por defecto.

    apariencia objeto mira scratch

  • Recordad que si habéis hecho muy grande o muy pequeño el disfraz, podéis ajustarle el tamaño con los botones de encima del escenario.
  • Crearemos un nuevo objeto Demonio, y le haremos dos disfraces. Uno para el demonio (yo lo he importado de los que vienen por defecto en S4A) y dibujaremos o importaremos un disfraz que simula una explosión para cuando les disparemos.

    Le pondremos también un sonido que usaremos cada vez que aparezca uno.

    apariencia demonio scratch

    Ahora crearemos dos fondos para el escenario. Uno será el escenario que usaremos normalmente. Yo he elegido un desierto.

    El otro fondo será el mismo pero escribiremos en él “Demonios Cazados”, para utilizarlo para poner el resultado con el número de demonios que hayamos cazado cuando termine el juego.

    apariencia escenario cazademonios

     

    PROGRAMACIÓN DE LA MIRA

     

    Vamos a empezar programando el objeto “Mira”. Incorporamos la parte de la programación del movimiento del joystick, a la que quitaremos la parte final en la que sellábamos el disfraz del objeto. Además vamos a utilizar el bloque de “Apariencia” “enviar al frente” en las condiciones iniciales.

    Este bloque lo que hace es que este objeto siempre se vea por encima de los demás si están en la misma posición. Lo utilizaremos para que la mira siempre se vea cuando estemos apuntando a los demonios a los que daremos caza.

    mover joystick scratch

    Creamos una función nueva en la que haremos que si la mira está tocando un demonio y pulsamos el joystick, envíe una señal a los demás objetos. Utilizaremos un bloque de tipo “Sensores” “¿tocando …?” , en el que seleccionaremos el objeto “Demonio”.

    boton joystick scratch

  • Incorporamos el bloque para que suene el láser cada vez que disparemos, tanto como si damos con el disparo en un demonio como si no.
  • Añadimos un contador que sume uno con cada demonio al que alcancemos, de la misma forma que hemos hecho ya otras veces.
  • Le ponemos un bloque de espera, para que no detecte varias pulsaciones seguidas del joystick.
  • scratch cuenta impactos

    También necesitamos una función para contar el tiempo que va pasando y poder poner un límite de tiempo al juego. Ya conocemos la estructura y los bloques de otras sesiones.

    cuenta atrás scratch

  • Incluimos el bloque “enviar a todos Final” para avisar a los demás objetos de que ha terminado el juego.
  • Antes de detener los programas esperamos 5 segundos para que nos dé tiempo a mostrar el número de demonios cazados.
  • Para terminar incluiremos dos nuevos bloques de “Apariencia”:

  • Usaremos el bloque “esconder” cuando se termine el juego para que no se vea la mirilla cuando haya terminado.
  • Para que la siguiente vez que lo ejecutemos se muestre de nuevo la mira, utilizaremos el bloque “mostrar” cuando se inicie el programa.
  • bloques mira scratch

     

    PROGRAMACIÓN DEL OBJETO DEMONIO Y DEL ESCENARIO

     

    En este objeto lo que queremos programar es que vayan apareciendo demonios en una posición y tamaño aleatorios a medida que les vayamos disparando. Empezaremos haciendo que al comenzar a ejecutarse el programa aparezca un demonio en el escenario.

    posicion objeto escenario

    Hemos usado un nuevo bloque de “Apariencia” “fijar tamaño a …”, que sirve para que el disfraz del objeto que se muestre en el escenario sea un porcentaje mayor o menor que el disfraz original.  Le damos un valor aleatorio entre el 30% y el 100%, para que vaya variando.

    También le damos una posición aleatoria en el escenario (que no sea demasiado cerca de los bordes), le ponemos el disfraz “Demonio” y le incorporamos el sonido.

    En otra función hacemos que si llega un la señal “disparo”, que significa que hemos dado a un demonio, cambie al disfraz de “Explosión” durante medio segundo y aparezca un nuevo demonio en otra posición y con otro tamaño.

    recibir señal scratch

    En la última función hacemos que si llega la señal “Final” de que se ha acabado el tiempo, el demonio se posicione en el centro del escenario y muestre el número de demonios que hemos cazado. Trataremos de que no se monte con el texto que hemos puesto en el fondo “Resultado” del escenario.

    bloques demonio scratch

    Para acabar vamos a programar el escenario por primera vez. Simplemente haremos que al ejecutar el programa tenga el fondo “Desierto”, y al terminarse el tiempo el fondo “Resultado”.

    cambiar fondo escenario

    Podéis descargaros el programa completo desde aquí: Cazademonios.

    final juego cazademonios

    Os recomiendo trastear un poco con este programa y tratar de hacerle algunos cambios, como por ejemplo, hacer que se muevan los demonios, que aparezcan varios a la vez o que si no les disparamos en un tiempo concreto sean ellos los que acaben con nosotros. Así iremos mejorando nuestra capacidad de crear nuevos algoritmos y plasmarlos en nuestros programas.

     

    RESUMEN DE LA SESIÓN

     

    En esta sesión hemos aprendido varias cosas importantes:

  • A usar el joystick en nuestros videojuegos.
  • También se pueden incluir programas en el escenario.
  • Hemos conocido algunos bloques nuevos.
  • Seguimos mejorando nuestra capacidad para crear algoritmos.

    Deja una respuesta