certmundo.
es‑mx

6 min de lectura

¿Cómo usar condiciones para tomar decisiones en Scratch?

Las condiciones le permiten a tu programa tomar decisiones: hacer una cosa si algo es verdad, y otra cosa si no lo es.

¿Alguna vez has jugado un videojuego donde el personaje muere al tocar un enemigo? Eso es una condición. El juego pregunta: "¿el jugador tocó al enemigo?" Si la respuesta es sí, resta una vida. Si no, el juego sigue normal.

En Scratch, esa lógica se llama condicional, y la usas con bloques muy sencillos.

El bloque "si... entonces"

El bloque más importante para tomar decisiones es el bloque "si... entonces". Lo encuentras en la categoría Control (color naranja).

Así funciona:

  • Tú defines una condición (algo que puede ser verdadero o falso).
  • Si la condición es verdadera, Scratch ejecuta los bloques que pusiste adentro.
  • Si es falsa, los ignora y sigue adelante.

Piénsalo como el empleado de la entrada en Liverpool: si traes credencial, puedes pasar. Si no, te piden que esperes.

La historia de Diego y su primer mini-juego

Diego tiene 13 años y vive en Monterrey. Quería hacer un juego donde su personaje recoge monedas. Pero no sabía cómo hacer que el juego detectara el contacto.

Su maestra le mostró el bloque "si... entonces" combinado con "¿tocando [objeto]?". Diego lo probó así:

al presionar bandera verde
por siempre
  si <¿tocando [Moneda]?> entonces
    cambiar [puntos] por (1)
    reproducir sonido [Coin]
  end
end

El resultado fue inmediato. Cada vez que su personaje tocaba la moneda, el marcador subía. Diego gritó de emoción.

Ese bloque tan simple fue la base de su juego completo.

El bloque "si... entonces... si no"

A veces necesitas dos caminos: uno si la condición es verdadera, y otro si es falsa. Para eso usas el bloque "si... entonces... si no".

Imagina una tienda en línea como Mercado Libre. Si el producto tiene stock, muestra el botón de compra. Si no tiene stock, muestra "Agotado". Eso es exactamente un "si... entonces... si no".

En Scratch se ve así:

si <(stock) > (0)> entonces
  decir [¡Puedes comprar!]
si no
  decir [Producto agotado]
end

Dos caminos claros. Scratch elige uno según la situación.

La historia de Sofía y el juego del semáforo

Sofía tiene 11 años y vive en la Ciudad de México. Su proyecto escolar era crear una animación educativa sobre los semáforos.

Quería que el sprite del carro se detuviera con la luz roja y avanzara con la luz verde. Usó variables y condiciones para lograrlo.

Su código era así:

al presionar bandera verde
por siempre
  si <(color_semaforo) = [verde]> entonces
    mover (5) pasos
  si no
    mover (0) pasos
  end
end

Después agregó otro sprite para el semáforo, que cambiaba de color cada 3 segundos con un bucle. El carro respondía automáticamente.

Su maestra quedó impresionada. Sofía había combinado lo que aprendió sobre bucles con las condiciones nuevas. Eso es exactamente lo que tú también puedes hacer.

Condiciones con el teclado

Otra forma muy común de usar condiciones es detectar teclas. Scratch tiene el bloque "¿tecla [espacio] presionada?" dentro de Sensores.

Combinado con "si... entonces", puedes crear controles de movimiento básicos:

al presionar bandera verde
por siempre
  si <¿tecla [flecha derecha] presionada?> entonces
    mover (10) pasos
  end
  si <¿tecla [flecha izquierda] presionada?> entonces
    mover (-10) pasos
  end
end

Este patrón es la base de casi todos los juegos de plataforma. Cuando presionas una tecla, el personaje se mueve. Cuando sueltas, se detiene.

Fácil, ¿verdad?

Condiciones con variables y números

Recuerdas las variables de lecciones anteriores. Puedes usarlas dentro de condiciones para comparar valores.

Por ejemplo, si quieres que el juego termine cuando el jugador llegue a 10 puntos:

si <(puntos) = (10)> entonces
  decir [¡Ganaste! por (2) segundos]
  detener [todo]
end

O si quieres dar una alerta cuando le quedan pocas vidas:

si <(vidas) < (2)> entonces
  decir [¡Cuidado, pocas vidas! por (2) segundos]
end

Estas comparaciones usan operadores que encuentras en la categoría Operadores (color verde): igual, mayor que, menor que.

La historia de Ramón y el quiz de geografía

Ramón es estudiante de secundaria en Guadalajara. Para su clase de geografía, quiso hacer un mini-quiz en Scratch. La pregunta era: ¿cuál es la capital de México?

Usó el bloque "preguntar [texto] y esperar" de Sensores. La respuesta del usuario se guarda automáticamente en la variable especial "respuesta".

Su código quedó así:

preguntar [¿Cuál es la capital de México?] y esperar
si <(respuesta) = [Ciudad de México]> entonces
  decir [¡Correcto! Muy bien. por (3) segundos]
si no
  decir [Incorrecto. Es la Ciudad de México. por (3) segundos]
end

Ramón probó el quiz con sus compañeros. Todos querían jugar. Lo que empezó como tarea se convirtió en el juego favorito del salón.

La lección: con una sola condición puedes crear algo muy entretenido.

Condiciones dentro de condiciones

A veces necesitas revisar más de una cosa al mismo tiempo. Puedes poner condiciones dentro de condiciones. Esto se llama condiciones anidadas.

Por ejemplo, en un juego de preguntas con niveles de dificultad:

si <(nivel) = (2)> entonces
  si <(respuesta) = [correcta]> entonces
    cambiar [puntos] por (20)
  end
end

Aquí Scratch primero revisa el nivel. Si es nivel 2, entonces revisa la respuesta. Solo si ambas condiciones son verdaderas, suma 20 puntos.

No abuses de las condiciones anidadas. Si pones demasiadas juntas, tu código se vuelve difícil de leer.

Errores comunes al usar condiciones

Aprender de los errores ajenos te ahorra tiempo. Estos son los más frecuentes:

Error 1: Poner el bloque "si" fuera de un bucle. Si pones tu condición fuera de un "por siempre", Scratch solo la revisa una vez al inicio. Después, aunque el jugador toque al enemigo, no pasará nada. Solución: casi siempre pon tus condiciones dentro de un bucle.

Error 2: Confundir "=" con "mayor que" o "menor que". Si quieres detectar que el jugador tiene 3 vidas o menos, usa (vidas) < (4) o (vidas) ≤ (3). Si usas (vidas) = (3), solo reaccionará cuando sean exactamente 3, no antes.

Error 3: Olvidar el bloque "si no" cuando lo necesitas. Si tu juego necesita dos comportamientos distintos (avanzar o detenerse, ganar o perder), usa el bloque completo "si... entonces... si no". El bloque simple "si... entonces" solo actúa cuando la condición es verdadera y después no hace nada.

Error 4: Escribir mal el nombre de una variable. Scratch distingue entre mayúsculas y minúsculas. "Puntos" y "puntos" son variables diferentes. Verifica que el nombre en tu condición sea exactamente igual al nombre que usaste al crearla.

Combinando todo: bucles + condiciones

La combinación más poderosa en Scratch es: un bucle "por siempre" que contiene condiciones.

Esto le da vida a cualquier juego. El bucle revisa constantemente. Las condiciones reaccionan cuando algo cambia.

Aquí un ejemplo completo de un mini-juego de recolección:

al presionar bandera verde
establecer [puntos] a (0)
establecer [vidas] a (3)
por siempre
  si <¿tocando [Moneda]?> entonces
    cambiar [puntos] por (1)
  end
  si <¿tocando [Enemigo]?> entonces
    cambiar [vidas] por (-1)
  end
  si <(vidas) = (0)> entonces
    decir [Game Over] por (2) segundos
    detener [todo]
  end
  si <(puntos) = (10)> entonces
    decir [¡Ganaste! por (2) segundos]
    detener [todo]
  end
end

Con 20 bloques simples tienes un juego funcional. ¿No es increíble?

Lo que aprendiste hoy

Las condiciones son el corazón de cualquier programa inteligente. Sin ellas, tu código solo haría lo mismo siempre, sin importar lo que pase.

Ahora tú ya sabes cómo hacer que Scratch reaccione, decida y responda. Eso es programar de verdad.

Puntos clave

  • El bloque "si... entonces" ejecuta instrucciones solo cuando una condición es verdadera. Si es falsa, las ignora completamente.
  • El bloque "si... entonces... si no" te da dos caminos: uno para cuando la condición es verdadera y otro para cuando es falsa.
  • Casi siempre debes poner tus condiciones dentro de un bucle "por siempre", para que Scratch las revise constantemente mientras corre el juego.
  • Puedes comparar variables con números usando operadores como igual, mayor que o menor que para crear reglas de juego como puntajes o vidas.
  • Combinar bucles con condiciones es la base de casi cualquier videojuego: el bucle repite, y las condiciones deciden qué hacer en cada momento.

Comparte esta lección:

¿Cómo usar condiciones para tomar decisiones en Scratch? | Programación con Scratch: Crea tus primeros juegos y animaciones | Certmundo