INTRODUCCIÓN
En esta actividad se aprenderá a programar con Scratch 3.0, una herramienta gratuita que permite crear videojuegos, animaciones e historias mediante bloques de colores.
Se realizarán diez retos progresivos y resueltos. En cada uno se explicará qué se quiere conseguir, qué bloques se necesitan, dónde encontrarlos y cómo conectarlos.
El objetivo será copiar los programas, ejecutarlos, comprender su funcionamiento y experimentar modificando sus instrucciones.
¿Cómo se trabajará?
- Se leerá el objetivo del reto.
- Se localizarán los bloques por su categoría y color.
- Se reproducirá la cadena de programación.
- Se ejecutará para comprobar el resultado.
- Se modificarán algunos valores para experimentar.
1. COLORES DE LOS BLOQUES DE SCRATCH
| Categoría | Color | Función |
|---|---|---|
| Movimiento | 🔵 Azul | Desplazar personajes y cambiar coordenadas. |
| Apariencia | 🟣 Morado | Cambiar disfraces, fondos y mensajes. |
| Sonido | 🩷 Rosa | Reproducir sonidos y efectos. |
| Eventos | 🟡 Amarillo | Iniciar acciones y enviar mensajes. |
| Control | 🟠 Naranja | Repetir instrucciones y establecer condiciones. |
| Sensores | 🔵 Azul claro | Detectar teclas y contactos. |
| Operadores | 🟢 Verde | Comparar valores y realizar operaciones. |
| Variables | 🟠 Naranja oscuro | Guardar puntuaciones, vidas y otros datos. |
2. PREPARACIÓN DEL VIDEOJUEGO

Se abrirá el editor de Scratch y se prepararán los siguientes elementos.
| Elemento | Nombre | Función |
|---|---|---|
| Protagonista | Gato | Personaje controlado por el jugador. |
| Coleccionable | Estrella | Objeto que proporcionará puntos. |
| Peligro | Bola | Obstáculo que quitará vidas. |
| Objetivo | Meta | Permitirá terminar una fase. |
| Fondos | Bosque, Noche, Victoria, Derrota | Escenarios del videojuego. |
Se utilizarán estos nombres para que coincidan con los ejemplos de programación.
Las instrucciones escritas debajo de un bloque de control, con mayor sangría, se colocarán dentro de él. La palabra fin indicará el cierre de un bloque, pero no existe como bloque independiente en Scratch.
3. LOS DIEZ RETOS DE PROGRAMACIÓN

RETO 1. Crear y guardar un programa
Objetivo: aprender a ejecutar instrucciones mediante un evento.
Objeto que se programará: Gato.
Cadena de programación
⚑ al hacer clic en la bandera verde
decir [¡Hola! Estoy programando] durante (2) segundos
| Bloque | Categoría | Función |
|---|---|---|
al hacer clic en la bandera verde | 🟡 Eventos | Iniciará el programa. |
decir [...] durante (...) segundos | 🟣 Apariencia | Mostrará un mensaje. |
Resultado esperado: al pulsar la bandera verde, el Gato mostrará un mensaje.
Se guardará el proyecto desde el menú Archivo → Guardar en tu ordenador, o en una cuenta autorizada.
RETO 2. Diseñar el mundo del videojuego
Objetivo: utilizar coordenadas, posiciones y apariencia.
Objeto que se programará: Gato.
Cadena de programación
al recibir [Iniciar]
mostrar
ir a x: (0) y: (-100)
fijar tamaño a (70) %
apuntar en dirección (90)
| Bloque | Categoría | Función |
|---|---|---|
al recibir [Iniciar] | 🟡 Eventos | Activará la cadena cuando se reciba el mensaje. |
mostrar | 🟣 Apariencia | Hará visible al personaje. |
ir a x: (...) y: (...) | 🔵 Movimiento | Establecerá su posición. |
fijar tamaño a (...) % | 🟣 Apariencia | Cambiará el tamaño. |
apuntar en dirección (...) | 🔵 Movimiento | Establecerá su orientación. |
Se creará un mensaje llamado Iniciar y se añadirá temporalmente en el Escenario:
al hacer clic en la bandera verde
enviar [Iniciar]
Ambas instrucciones se encontrarán en 🟡 Eventos.
Resultado esperado: al comenzar el programa, el Gato aparecerá en la posición establecida.
RETO 3. Dar vida a la historia
Objetivo: programar mensajes, animaciones y pausas.
Objeto que se programará: Gato.
Cadena de programación
al recibir [Iniciar]
decir [¡Bienvenido a la aventura!] durante (2) segundos
cambiar disfraz a [disfraz1]
esperar (0.3) segundos
siguiente disfraz
decir [Recoge 5 estrellas y llega a la meta] durante (3) segundos
| Bloque | Categoría | Función |
|---|---|---|
al recibir [Iniciar] | 🟡 Eventos | Activará la presentación. |
decir [...] durante (...) segundos | 🟣 Apariencia | Mostrará mensajes. |
cambiar disfraz a [...] | 🟣 Apariencia | Cambiará el aspecto. |
esperar (...) segundos | 🟠 Control | Introducirá una pausa. |
siguiente disfraz | 🟣 Apariencia | Mostrará otro disfraz. |
Resultado esperado: el Gato presentará el juego mediante mensajes y una pequeña animación.
RETO 4. Controlar al protagonista
Objetivo: utilizar el teclado, los sensores, los operadores y los bucles.
Objeto que se programará: Gato.
Se creará la variable Estado para todos los objetos y se establecerá su valor en jugando al comenzar.
Cadena de programación
al hacer clic en la bandera verde
por siempre
si <(Estado) = [jugando]> entonces
si <<¿tecla [flecha derecha] presionada?> y <(posición x) < (220)>> entonces
cambiar x por (5)
fin
si <<¿tecla [flecha izquierda] presionada?> y <(posición x) > (-220)>> entonces
cambiar x por (-5)
fin
si <<¿tecla [flecha arriba] presionada?> y <(posición y) < (160)>> entonces
cambiar y por (5)
fin
si <<¿tecla [flecha abajo] presionada?> y <(posición y) > (-160)>> entonces
cambiar y por (-5)
fin
fin
| Bloque | Categoría | Función |
|---|---|---|
al hacer clic en la bandera verde | 🟡 Eventos | Iniciará las instrucciones. |
por siempre | 🟠 Control | Repetirá el programa continuamente. |
si ... entonces | 🟠 Control | Comprobará una condición. |
¿tecla [...] presionada? | 🔵 Sensores | Detectará las teclas. |
y, <, >, = | 🟢 Operadores | Combinarán y compararán condiciones. |
posición x, posición y | 🔵 Movimiento | Consultarán las coordenadas. |
cambiar x por, cambiar y por | 🔵 Movimiento | Desplazarán el personaje. |
Estado | 🟠 Variables | Indicará si se está jugando. |
Resultado esperado: el personaje responderá a las cuatro flechas y no saldrá de los límites programados.
RETO 5. Recoger objetos
Objetivo: detectar contactos y modificar la posición de los objetos.
Objeto que se programará: Estrella.
Cadena A. Preparación
al recibir [Iniciar]
mostrar
ir a x: (número al azar entre (-190) y (190))
y: (número al azar entre (-140) y (140))
Cadena B. Recogida
al hacer clic en la bandera verde
por siempre
si <(Estado) = [jugando]> entonces
si <¿tocando [Gato]?> entonces
esconder
esperar (0.2) segundos
ir a x: (número al azar entre (-190) y (190))
y: (número al azar entre (-140) y (140))
mostrar
esperar hasta que <no <¿tocando [Gato]?>>
fin
fin
| Bloque | Categoría | Función |
|---|---|---|
al recibir, al hacer clic | 🟡 Eventos | Activarán las cadenas. |
mostrar, esconder | 🟣 Apariencia | Cambiarán la visibilidad. |
ir a x: ... y: ... | 🔵 Movimiento | Modificará la posición. |
número al azar entre | 🟢 Operadores | Generará coordenadas aleatorias. |
¿tocando [Gato]? | 🔵 Sensores | Detectará el contacto. |
por siempre, si, esperar hasta que | 🟠 Control | Gestionarán el comportamiento. |
no | 🟢 Operadores | Invertirá una condición. |
Resultado esperado: al tocar la estrella, esta desaparecerá y aparecerá en otra posición.
RETO 6. Programar la puntuación
Objetivo: utilizar variables como contadores.
Se creará la variable Puntos para todos los objetos.
Cadena A. Escenario
Se sustituirá la cadena temporal de inicio por:
al hacer clic en la bandera verde
fijar [Puntos] a (0)
fijar [Estado] a [jugando]
enviar [Iniciar]
Cadena B. Estrella
Se sustituirá la cadena de recogida anterior por:
al hacer clic en la bandera verde
por siempre
si <(Estado) = [jugando]> entonces
si <¿tocando [Gato]?> entonces
cambiar [Puntos] por (1)
esconder
esperar (0.2) segundos
ir a x: (número al azar entre (-190) y (190))
y: (número al azar entre (-140) y (140))
mostrar
esperar hasta que <no <¿tocando [Gato]?>>
fin
fin
| Bloque | Categoría | Función |
|---|---|---|
fijar [Puntos] a (0) | 🟠 Variables | Reiniciará el marcador. |
cambiar [Puntos] por (1) | 🟠 Variables | Sumará un punto. |
¿tocando [Gato]? | 🔵 Sensores | Detectará la recogida. |
si ... entonces | 🟠 Control | Comprobará la condición. |
enviar [Iniciar] | 🟡 Eventos | Preparará los objetos. |
Se activará la casilla de visualización de la variable Puntos.
Resultado esperado: la puntuación comenzará en cero y aumentará al recoger estrellas.
RETO 7. Incorporar peligros
Objetivo: programar obstáculos móviles y penalizaciones.
Objeto que se programará: Bola.
Se creará la variable Vidas para todos los objetos y se inicializará en 3 desde el Escenario.
Cadena A. Preparación
al recibir [Iniciar]
mostrar
ir a x: (-170) y: (70)
apuntar en dirección (90)
fijar estilo de rotación a [en todas direcciones]
Cadena B. Movimiento y colisión
al hacer clic en la bandera verde
por siempre
si <(Estado) = [jugando]> entonces
mover (5) pasos
si toca un borde, rebotar
si <¿tocando [Gato]?> entonces
cambiar [Vidas] por (-1)
esperar hasta que <no <¿tocando [Gato]?>>
fin
fin
| Bloque | Categoría | Función |
|---|---|---|
mover (5) pasos | 🔵 Movimiento | Desplazará el obstáculo. |
si toca un borde, rebotar | 🔵 Movimiento | Cambiará la dirección al llegar al borde. |
apuntar en dirección | 🔵 Movimiento | Establecerá su orientación. |
¿tocando [Gato]? | 🔵 Sensores | Detectará la colisión. |
cambiar [Vidas] por (-1) | 🟠 Variables | Restará una vida. |
por siempre, si, esperar hasta que | 🟠 Control | Controlarán el comportamiento. |
Resultado esperado: la Bola se moverá automáticamente y el protagonista perderá una vida al tocarla.
RETO 8. Programar victoria y derrota
Objetivo: utilizar condiciones y mensajes para finalizar la partida.
Se crearán los mensajes Ganar y Perder, además de la variable Fase.
Cadena A. Escenario
Se actualizará la cadena de inicio:
al hacer clic en la bandera verde
fijar [Puntos] a (0)
fijar [Vidas] a (3)
fijar [Fase] a (1)
fijar [Estado] a [jugando]
cambiar fondo a [Bosque]
enviar [Iniciar]
Cadena B. Meta
al recibir [Iniciar]
mostrar
ir a x: (190) y: (120)
Cadena C. Victoria
En Meta:
al hacer clic en la bandera verde
por siempre
si <(Estado) = [jugando]> entonces
si <<(Puntos) >= (5)> y <¿tocando [Gato]?>> entonces
fijar [Estado] a [finalizando]
enviar [Ganar]
fin
fin
Cadena D. Derrota
En el Escenario:
al hacer clic en la bandera verde
por siempre
si <(Estado) = [jugando]> entonces
si <(Vidas) <= (0)> entonces
fijar [Estado] a [finalizando]
enviar [Perder]
fin
fin
Cadena E. Resultados
En el Escenario:
al recibir [Ganar]
fijar [Estado] a [ganado]
cambiar fondo a [Victoria]
al recibir [Perder]
fijar [Estado] a [perdido]
cambiar fondo a [Derrota]
En Gato, Estrella, Bola y Meta se añadirán también estas dos cadenas:
al recibir [Ganar]
esconder
al recibir [Perder]
esconder
| Bloque | Categoría | Función |
|---|---|---|
si ... entonces | 🟠 Control | Comprobará las condiciones. |
>=, <=, y | 🟢 Operadores | Compararán y combinarán condiciones. |
Puntos, Vidas, Estado | 🟠 Variables | Guardarán información del juego. |
¿tocando [Gato]? | 🔵 Sensores | Detectará la llegada a la Meta. |
enviar [Ganar], enviar [Perder] | 🟡 Eventos | Comunicarán el resultado. |
al recibir [...] | 🟡 Eventos | Activará las instrucciones finales. |
cambiar fondo a [...], esconder | 🟣 Apariencia | Mostrarán el final de la partida. |
Resultado esperado: se ganará al reunir cinco puntos y llegar a la Meta. Se perderá al agotar las vidas.
RETO 9. Crear una segunda fase
Objetivo: utilizar variables y condiciones para aumentar la dificultad.
Cadena A. Meta
Se sustituirá la condición de victoria anterior por:
al hacer clic en la bandera verde
por siempre
si <(Estado) = [jugando]> entonces
si <<(Puntos) >= (5)> y <¿tocando [Gato]?>> entonces
fijar [Estado] a [transición]
si <(Fase) = (1)> entonces
enviar [Fase2]
si no
enviar [Ganar]
fin
fin
fin
Cadena B. Escenario
al recibir [Fase2]
fijar [Estado] a [preparando]
fijar [Fase] a (2)
fijar [Puntos] a (0)
cambiar fondo a [Noche]
enviar [Iniciar] y esperar
fijar [Estado] a [jugando]
Cadena C. Bola
Se sustituirá la cadena de movimiento anterior por:
al hacer clic en la bandera verde
por siempre
si <(Estado) = [jugando]> entonces
si <(Fase) = (1)> entonces
mover (5) pasos
si no
mover (9) pasos
fin
si toca un borde, rebotar
si <¿tocando [Gato]?> entonces
cambiar [Vidas] por (-1)
esperar hasta que <no <¿tocando [Gato]?>>
fin
fin
| Bloque | Categoría | Función |
|---|---|---|
si ... entonces, si ... si no | 🟠 Control | Permitirán elegir entre comportamientos. |
Fase, Puntos, Estado | 🟠 Variables | Controlarán el estado de la partida. |
enviar [Fase2] | 🟡 Eventos | Iniciará la segunda fase. |
enviar [...] y esperar | 🟡 Eventos | Esperará a que termine la preparación. |
cambiar fondo a [Noche] | 🟣 Apariencia | Mostrará otro escenario. |
mover (...) pasos | 🔵 Movimiento | Permitirá cambiar la velocidad. |
Resultado esperado: se accederá a una segunda fase con otro escenario y un peligro más rápido.
RETO 10. Completar y reiniciar el videojuego
Objetivo: integrar todas las funciones y preparar un juego completo.
Cadena A. Inicio
En el Escenario se sustituirá la cadena de inicio anterior por:
al hacer clic en la bandera verde
enviar [Reiniciar]
Cadena B. Reinicio
En el Escenario:
al recibir [Reiniciar]
fijar [Estado] a [preparando]
fijar [Puntos] a (0)
fijar [Vidas] a (3)
fijar [Fase] a (1)
cambiar fondo a [Bosque]
enviar [Iniciar] y esperar
fijar [Estado] a [jugando]
Cadena C. Tecla de reinicio
En el Escenario:
al presionar tecla [r]
enviar [Reiniciar]
Cadena D. Sonidos
En Estrella, después de sumar un punto:
iniciar sonido [Pop]
En Bola, después de restar una vida:
iniciar sonido [Boing]
Se seleccionarán previamente esos sonidos u otros equivalentes en la biblioteca.
| Bloque | Categoría | Función |
|---|---|---|
al presionar tecla [r] | 🟡 Eventos | Detectará la tecla de reinicio. |
enviar [Reiniciar] | 🟡 Eventos | Activará el reinicio. |
al recibir [Reiniciar] | 🟡 Eventos | Ejecutará la preparación. |
fijar [...] a [...] | 🟠 Variables | Restaurará los valores iniciales. |
cambiar fondo a [...] | 🟣 Apariencia | Recuperará el escenario inicial. |
iniciar sonido [...] | 🩷 Sonido | Reproducirá un efecto. |
Comprobaciones finales
Se añadirá una pantalla o mensaje con las instrucciones de juego y se realizarán tres pruebas.
| Prueba | Comprobación |
|---|---|
| 1. Funcionamiento básico | Movimiento, recogida de objetos y puntuación. |
| 2. Reglas | Colisiones, vidas, victoria, derrota y segunda fase. |
| 3. Reinicio | Recuperación del escenario, personajes, variables y fase inicial. |
Resultado esperado: se dispondrá de un videojuego con movimiento, puntuación, peligros, dos fases, victoria, derrota, sonidos y reinicio.
4. RESUMEN DE APRENDIZAJE
| Reto | Aprendizaje principal | Categorías |
|---|---|---|
| 1 | Crear y ejecutar programas | 🟡 Eventos · 🟣 Apariencia |
| 2 | Posiciones y personajes | 🔵 Movimiento · 🟣 Apariencia |
| 3 | Mensajes y animaciones | 🟣 Apariencia · 🟠 Control |
| 4 | Control con el teclado | 🔵 Movimiento · 🔵 Sensores · 🟢 Operadores |
| 5 | Recogida de objetos | 🔵 Sensores · 🟠 Control |
| 6 | Variables y puntuación | 🟠 Variables |
| 7 | Peligros y penalizaciones | 🔵 Movimiento · 🔵 Sensores · 🟠 Variables |
| 8 | Condiciones de victoria y derrota | 🟢 Operadores · 🟠 Control · 🟡 Eventos |
| 9 | Segunda fase y dificultad | 🟠 Variables · 🟡 Eventos |
| 10 | Reinicio y sonidos | 🟡 Eventos · 🩷 Sonido · 🟠 Variables |
5. ENTREGA Y REFLEXIÓN
Una vez realizados los diez retos, se guardará el proyecto en formato .sb3.
Nombre del archivo: Apellido_Nombre_Scratcheando.sb3
Se responderá brevemente:
- ¿Qué bloques han resultado más útiles?
- ¿Qué instrucciones han sido más difíciles de comprender?
- ¿Qué se cambiaría para desarrollar un videojuego diferente?
SCRATCHEANDO POR LA VIDA — Copia, ejecuta, comprende y transforma.
Para pegarlo en Vecindae: selecciona el texto de esta respuesta, cópialo y utiliza el pegado normal (Ctrl + V) en el editor visual de WordPress, no en el editor de código ni con Ctrl + Mayús + V.
Las tablas, títulos, negritas y emojis de colores son los elementos que mejor suelen conservarse. Los fondos coloreados de las cadenas de bloques pueden perderse, dependiendo de cómo WordPress procese el contenido copiado; no se puede garantizar su conservación mediante el pegado directo desde el chat.
PROYECTOS

SAM-CRAFT
UTILIZA LLOS CONTROLES INDICADOS EN EL JUEGO PARA MOVERTE
SAM & FURIOUS
UTILIZA LAS FLECHAS PARA MOVERTE
STAR WARS. LA VENGANZA DE LOS SAMS
UTILIZA LAS FLECHAS PARA MOVERTE Y EL ESPACIO PARA DISPARAR
2001. A SAM ODYSSEY
UTILIZA EL RATÓN PARA MOVERTE
INVADING SAM-TURNO
UTILIZA LAS FLECHAS PARA MOVERTE Y EL ESPACIO PARA DISPARAR
BANCO DE PROYECTOS 2023-24

