Utilizamos cookies para mejorar tu experiencia en UchaTech

Tutorial de Scratch: SNAKE

Descripción

En este tutorial aprenderemos a hacer en Scratch un juego similar al de "Snake", pero con temática de eficiencia energética.
Como la mayoría ya sabreís, este juego consiste en ir comiendo objetos (normalmente unas manzanas), para hacer crecer a nuestra serpiente y acumular puntos. El juego termina cuando la boca de la serpiente toca el cuerpo de esta.
En este tutorial, sustituiremos las manzanas por bombillas.

Diseño

Partiremos por la parte visual. Comenzaremos diseñando la cabeza de nuestra serpiente. Para esto, nos dirigimos a la esquina inferior derecha, en el icono de Añadir objeto > Diseñar:

En este tutorial haremos un diseño simple y sencillo, siendo la cabeza de la serpiente un círculo con dos ojos y una boca.

A continuación diseñaremos lo que será la cola de nuestra serpiente.
Creamos otro nuevo objeto y dibujamos un circulo con un tamaño algo menor que la cabeza de la serpiente.

Ahora añadimos el objeto que se va a comer la serpiente, en este caso una bombilla. En este tutorial hemos descargado una foto de internet, sin fondo. Para subir una imagen de nuestro ordenador volvemos a la esquina inferior derecha en el icono de Añadir objeto > Subir objeto:

Ya tenemos el diseño del juego casi terminado, falta añadir los fondos, en este caso dos, uno para el transcurso del juego y otro para cuando hagamos GAME OVER.
Nos dirigimos otra vez a la parte inferior derecha y seleccionamos el icono Elige un fondo > Diseñar:

Nuestros fondos serán sencillos, el primero un fondo blanco y el segundo, para el GAME OVER, un fondo negro con ese mismo texto escrito.

Y así, habremos terminado con la parte del diseño.

Lógica del programa

Importante:

Para este juego, es necesario instalar la extensión "Lápiz", que podemos descargar en la esquina inferior izquierda de la pantalla.

Nustro objetivo es que al pulsar la bandera verde, el juego comience. Al comenzar este, la serpiente debe de de empezar a moverse automáticamente, debe de ir dibujándose su cuerpo y los objetos han de aparecer de forma aleatoria.
Para empezar, haremos que nuestra serpiente empiece siempre en el centro de la pantalla, y con la herramienta lápiz conseguiremos que vaya trazando su propio cuerpo a medida que se va moviendo.

Con estos bloques, conseguiremos que siempre que pulsemos la bandera, el lápiz se levante (por tanto dejará de dibujar), se borre lo dibujado en la anterior partida y la serpiente se mueva al centro del escenario. Debemos de ponerle el mismo color que la serpiente al lapiz, cambiarle el tamaño y bajar el lápiz para que así empiece a dibujar.
Haremos que la serpiente se mueva por siempre cuando se pulse la bandera.

Ahora necesitamos que la serpiente se mueva a la derecha e izquierda pulsando las flechas del teclado. En el apartado Eventos encontramos un bloque de "al presionar tecla", seleccionamos la flecha derecha y en el apartado Movimientos seleccionamos el bloque "girar 15 grados".

Para que el movimiento no sea tan brusco, añadimos el "repetir 15", y giramos 6 grados (15*6=90), y hacemos el mismo procedimiento para girar a la izquierda.
Con esto, ya habremos conseguido que nuestra serpiente se mueva, ahora tendremos que establecer una condición para que la cola de nuestra serpiente se vaya plegando.
Para continuar, crearemos una variable llamada "longitud", y dos listas que recojan los puntos por los que pasa nuestra serpiente. Una de las listas será "serpienteX" y otra "serpienteY".

Eliminamos todos los datos de ambas listas cada vez que comencemos el juego, y enviaremos un mensaje "START". Modificamos los bloques para que la serpiente comience a moverse cuando reciba este mensaje, y no cuando se clicke la bandera.
Añadimos dos bloques para que vayan guardando los valores de la posición de nuestra serpiente.

Programaremos la cola de nuestra serpiente para que recorra el mismo recorrido que la cabeza de esta, como mostramos a continuación.

A continuación programaremos nuestra bombilla, para que aparezca en un sitio aleatorio, al comienzo tras un intervalo de tiempo y luego cada vez que nos comamos una.

Ahora nos quedaría hacer que el juego terminase al tocar un borde o cuando la boca de la serpiente tocase su cuerpo. Esto lo haremos programando la cabeza.

IMPORTANTE: programa cada objeto para que se oculte cuando reciba GAME OVER.
Y así, nuestro juego estaría completo.
A continuación te dejamos nuestro juego para que lo pruebes.
Esperamos que te haya servido de ayuda este tutorial, recuerda que puedes ponerte a prueba con nuestro examen.
¡Hasta otra!