Hoy programamos con Hopscotch. Tres niveles de dificultad, una hora de código y un proyecto que podrás enseñar con orgullo.
Repasamos los bloques clave de Hopscotch antes de lanzarnos a programar. Léelo con calma: ¡es tu mapa!
El disparador de toda acción. Define cuándo ocurre algo: al tocar, al chocar, al agitar el iPad...
Ejecuta un bloque de acciones sin parar. Imprescindible para movimiento continuo.
Toma decisiones: si X ocurre → haz Y. La base de cualquier lógica de juego.
Cajas que guardan números o texto. Esenciales para puntuaciones, vidas o temporizadores.
Crea copias de un personaje en tiempo real. Perfecto para flores, estrellas, partículas...
Mueve un personaje a coordenadas exactas o al punto donde tocas la pantalla.
WHEN Game Starts → Aquí configuras el estado inicial (tamaño, posición, variables) WHEN Character is tapped → Aquí defines qué pasa al tocar el personaje WHEN Game Starts REPEAT FOREVER → Aquí va todo lo que se repite constantemente (movimiento, comprobaciones)
WHEN sobre el mismo personaje. Cada uno es una "regla" independiente que se ejecuta en paralelo.
La pantalla del iPad tiene X (izquierda-derecha) e Y (arriba-abajo). El centro es aproximadamente X: 512, Y: 384. Los bloques Last Touch X y Last Touch Y te dan la posición del último dedo en pantalla.
Aquí tienes la distribución del tiempo. Cada fase está diseñada para que nadie se quede atrás y los más rápidos siempre tengan dónde avanzar.
El profesor introduce brevemente Hopscotch (si es la primera vez) o recuerda los conceptos de la sesión anterior. Los alumnos crean su proyecto y lo nombran correctamente.
Revisad juntos la pestaña Introducción: los 6 conceptos clave y la estructura básica de un programa. Pregunta dudas ahora, no durante el reto.
Todo el mundo trabaja en la Flor que crece. Es el punto de partida común. Si ya sabes hacerlo, perfecto: añade las mejoras opcionales antes de saltar al siguiente nivel.
La Mariposa y el contador. Introduce variables y condicionales. Quien acabe antes puede enriquecer la escena añadiendo más personajes.
La Abeja inteligente y la polinización. Combina todo lo aprendido: bucles, colisiones, clones y posicionamiento dinámico.
2–3 alumnos voluntarios proyectan su proyecto en pantalla y explican en 30 segundos qué bloque les resultó más difícil. Cierre de sesión.
Objetivo: crear una flor que empiece pequeña y crezca cuando la tocas, con sonido y animación de color. Conceptos: eventos, tamaño, sonido.
Al terminar este nivel tendrás una flor que: (1) aparece pequeña al iniciar, (2) crece cada vez que la tocas, (3) emite un sonido al crecer, y (4) cambia de color de forma cíclica.
When Game Starts. Dentro, coloca el bloque Set Size to 40%. Esto hace que la flor empiece pequeña.When Character is Tapped. Dentro coloca: Change Size by 20. Prueba ya: ¿crece al tocarla?When Tapped, añade también Play Sound → Happy (o el que más te guste). Ya tienes sonido.Change Size, añade Set Color → Random Color. Así cambiará de color cada vez que la toques.When Game Starts + Repeat Forever + dentro Turn 2 degrees. Tu flor girará suavemente en bucle.WHEN Game Starts Set Size 40% Set Color Green WHEN Character is Tapped Change Size by 20 Play Sound Happy Set Color Random Color WHEN Game Starts Repeat Forever Turn 2 degrees
If Size > 300 → Set Size 40.Set Background Color.Text) que diga "¡Tócame!" y desaparezca cuando la flor alcance un tamaño determinado.Repeat Forever que corre en paralelo. Hopscotch permite tener varios "hilos" corriendo a la vez, como si fueran dos empleados haciendo tareas distintas al mismo tiempo.
Objetivo: programar una mariposa que persigue tu dedo y un contador de polinizaciones. Conceptos: Repeat Forever, Set Position, Variables, If / Check Once if.
Una mariposa que sigue tu dedo por la pantalla. Cada vez que toca la flor del nivel anterior, un contador sube. Cuando el contador llega a 5, aparece un mensaje de victoria. Aprenderás a crear y usar tu primera variable.
When Game Starts + Repeat Forever. Dentro añade el bloque Set Position:
Last Touch XLast Touch YSet Position exacto, usaremos Move Toward X / Move Toward Y con velocidad 8. Así irá persiguiendo tu dedo de forma fluida.WHEN Game Starts Repeat Forever Move to X: Last Touch X Y: Last Touch Y — o versión suave: — Set X (Self X) + ((Last Touch X - Self X) / 6) Set Y (Self Y) + ((Last Touch Y - Self Y) / 6)
(Self X) + ((Destino - Self X) / 6) se llama interpolación lineal. Cada fotograma recorre 1/6 de la distancia que le queda: así nunca llega de golpe.
polinizaciones con valor inicial 0.When Game Starts → Repeat Forever → Set Text to "🌸 " + polinizaciones. Así verás el contador en pantalla.When bumps → Flor. Dentro: Change polinizaciones by 1.When Game Starts → Repeat Forever → Check Once if polinizaciones ≥ 5.if: Set Text to "¡PRIMAVERA COMPLETA! 🌸". También puedes añadir Play Sound → Win.When bumps Mariposa → Create a clone.— Mariposa: detección de colisión — WHEN bumps Flor Change polinizaciones by 1 Play Sound Boing — Mariposa: condición de victoria — WHEN Game Starts Repeat Forever Check Once if polinizaciones ≥ 5 Set Text "¡PRIMAVERA COMPLETA! 🌸" Play Sound Win
vidas que empiece en 3. Si pasa 15 segundos sin polinizar, baja una vida.Set Rotation hacia el ángulo de Last Touch.Leave a Trail en la mariposa para que deje un rastro de colores mientras se mueve.Objetivo: construir un jardín interactivo con clones, temporizador y mecánica de juego completa. Conceptos: Clone, Timer, variables avanzadas, lógica de juego.
Un jardín que "florece" con clones generados dinámicamente. Un temporizador regresivo de 30 segundos. Cuando el tiempo llega a 0, el juego termina y muestra la puntuación final. Cada clon se destruye al tocarlo (y da puntos).
When Game Starts → Repeat Forever → Wait 1.5 seconds → Create a Clone at Random X, Random Y.When Clone Created → Set Size 10% → Repeat 20 times → Change Size by 8. El clon "germina" apareciendo y creciendo.When Clone Created → Set Color Random.When Clone is Tapped → Change puntos by 10 → Destroy Self.— Flor Madre: genera clones — WHEN Game Starts Repeat Forever Wait 1.5 seconds Create a Clone at X: Random(50, 950) Y: Random(50, 700) — Clon: comportamiento al aparecer — WHEN Clone Created Set Color Random Color Set Size 10% Repeat 20 times Change Size by 7 Wait 0.05 seconds — Clon: al tocarlo — WHEN Clone is Tapped Change puntos by 10 Play Sound Pop Destroy Self
tiempo con valor inicial 30.When Game Starts → Repeat Forever → Set Text to "⏱️ " + tiempo.When Game Starts → Repeat 30 times → Wait 1 second → Change tiempo by -1.Set Text to "FIN: " + puntos + " puntos 🏆".Set Position X: 512, Y: 384 justo antes del mensaje final.
Set Size 0 → Repeat 10 → Change Size by 15.tiempo < 10 → Set Background Color Red.jugando = 0/1).¿Has completado el Nivel Roble? Estos retos no tienen guía paso a paso: tienes que investigar, experimentar y resolver. Así es como trabajan los programadores de verdad.
Haz que la mariposa (o tu personaje principal) deje un rastro de colores al moverse usando el bloque Leave a Trail. El color del rastro debe cambiar progresivamente usando el ángulo de movimiento como valor.
Crea un personaje "Pétalo" invisible fuera de pantalla. Cada 0.3 segundos, genera un clon en la parte superior. Cada clon cae con Change Y by -5 y rota. Al salir de pantalla (Y < 0), se destruye solo.
Usa el sensor del iPad: When iPad is Shaken. Al agitar, todas las flores presentes deben explotar (cambiar de tamaño rápidamente a 200% y luego a 0%) y destruirse, dando el doble de puntos.
Crea 4 botones invisibles en los bordes de la pantalla. Cada uno reproduce una nota musical diferente al tocarlos. Usa variables para construir una mini secuencia que se repita en bucle.
En lugar de un temporizador fijo, el tiempo empieza en 10 y cada flor que tocas añade +2 segundos. Si el tiempo llega a 0, game over. El desafío: sobrevivir el máximo tiempo posible.
Crea una "Oruga" que persiga activamente a tu personaje usando la misma fórmula de interpolación del Nivel Brote. Si te toca, pierdes 1 vida. Velocidad de persecución: empieza lenta y aumenta con el tiempo.
Suma los puntos de cada bonus completado y los de los niveles: