Páginas

martes, 18 de octubre de 2022

Creación de un juego en Scratch

 Vamos a crear un juego de bolas que caen por la parte superior del escenario y no debemos dejar que desaparezcan por la parte inferior del escenario. Para ello debemos darles con una barra que podemos desplazar a la izquierda o a la derecha.


Tenemos que crear dos objetos: la barra deslizante y las bolas o tacos que caen desde el cielo.

Primero creamos la barra deslizante, para ellos seleccionamos entre los objetos que nos muestra el selector.


Seleccionamos el botón azul e introducimos el siguiente código:

Lo primero es poner el bloque "al presionar bandera verde". Movemos la barra a las coordenadas 0, -160 que corresponde a la parte inferior del escenario, y mostramos el objeto.

Creamos dos nuevos eventos que son "al presionar la flecha derecha" y "al presionar la flecha izquierda". En ambos apuntamos en dirección 90º o -90º según sea izquierda o derecha y movemos el objeto 10 pasos.

"Al recibir el mensaje 1", escondemos la barra.


Ahora creamos el objeto bola pulsando en el icono de nuevo objeto:


Podemos editar el tamaño de la bola y otras propiedades en la pestaña Disfraces:


Ahora introducimos el código correspondiente en la bola

Para la bola introducimos el siguiente código:

1º) Ponemos el bloque "Al hacer clic en bandera verde", para que empiece el programa a ejecutarse.
2º) Inicializamos la variable puntos con el valor 0.
3º) Cambiamos el fondo a blue sky2
4º) Escondemos el objeto bola
5º) Abrimos el bloque "por siempre"
6º) Dentro de ese bloque ponemos el bloque de esperar 1 segundo
7º) Creamos un clon de la bola, con el bloque "Crear un clon de mi mismo"
8º) Cambiamos el disfraz de la bola a otro color
9º) Se cierra el bloque de repetir "por siempre"

Abrimos una nueva sección del programa:

1º) Comenzamos con el bloque "al comenzar como clon"
2º) Mostramos la bola con el bloque "mostrar"
3º) Colocamos la bola en una posición aleatoria X entre -200 y 200 y una posición Y de 140, que corresponde a un lugar de la parte superior del escenario.
4º) Abrimos un bloque "por siempre"
5º) Restamos a la posición y 2 unidades para que la bola vaya descendiendo por el escenario hasta llegar al fondo, usamos el bloque "suma a y -2".

Ahora tenemos que controlar dos posibles casos: 

a) Que la bola sea interceptada por la barra, en este caso sumamos 1 punto y hacemos desaparecer la bola.
b) Que la bola llega hasta el fondo sin ser interceptada, en ese caso termina el juego y mostramos la pantalla de Game Over.


Para el caso a) abrimos otra sección con los siguientes bloques:

1º) Comenzamos con el bloque "al comenzar como clon"
2º) Abrimos un bloque "por siempre"
3º) Abrimos un bloque de decisión con "si tocando bloque entonces"
4º) En caso de que la barra intercepte a la bola producimos un sonido con "iniciar sonido pop"
5ª) Cambiamos el disfraz de la bola
6º) Sumamos un punto al marcador de aciertos
7º) Eliminamos ese clon
8º) Se cierra el bloque de decisión
9º) Abrimos el bloque repetir 2 veces
10º) Dentro de este bloque sumamos a Y dos unidades con el bloque "sumar a y 2"
11º) Se cierra el bloque "repetir 2"
12º) Se cierra el bloque "por siempre"

Para el caso b) abrimos otra sección con los siguientes bloques:

1º) Iniciamos esta sección con el bloque "al comenzar como clon"
2º) Abrimos un bloque "por siempre"
3º) En el caso de que la bola toque el borde inferior sin ser interceptada ponemos el bloque condicional  "si tocando borde entonces".
4º) Dentro de este bloque cambiamos el fondo a Fin de juego con el bloque "cambiar fondo a fondo1".
5º) Enviamos el mensaje de fin de juego con el bloque "enviar mensaje1".
6º) Por últimos detenemos el juego con el bloque "detener todos".

Para los fondo elegimos "blue sky2" y le ponemos el texto "GAME OVER"

Seleccionamos también el fondo "Neon tunnel", que se va a mostrar durante el desarrollo del juego:



En este fondo ponemos el siguiente código:



1 comentario:

  1. Aprendí mucho de tu blog y sobre todo gracias por explicar de una manera tan hermosa. Gracias por tu comentario.

    ResponderEliminar