1.8 - Invitado: Un primer ejemplo-Xnergic TCM

 https://www.youtube.com/watch?v=LheLDLyBFWE&list=PL5tA44GpyFntFHtHd6Zxb2xQZpxwOfeu3&index=9


un tutorial completo y paso a paso para crear un videojuego de Arkanoid / Breakout en Scratch, basado en la explicación de Iván, un niño de 8 años que desarrolló su propio proyecto. Aprenderás a programar la bola, la pala, los bloques, los niveles, las vidas y los mensajes entre objetos.


🧱 Tutorial: Crea tu propio Arkanoid en Scratch

🎯 Objetivo del tutorial

Construir un juego de arcade clásico donde controlas una pala para rebotar una bola y romper bloques, con 5 niveles, puntuación, vidas y cambio de escenarios.


🖌️ Paso 1: Preparar los personajes (sprites) y disfraces

Necesitarás dibujar o importar los siguientes elementos:

  • Una bola (puedes dibujarla redonda).

  • Una pala (rectángulo alargado horizontal).

  • Bloques (cuadrados o rectángulos) – necesitarás al menos 20 bloques distribuidos en varios colores (cada color representará una fila o un nivel).

  • Fondos de escenario para cada nivel (puedes dibujar o importar imágenes).

💡 Consejo de Iván: Dibuja las figuras tú mismo, así las personalizas a tu gusto.


🟠 Paso 2: Programar la bola

La bola será el elemento principal. Su código debe:

  1. Posicionarse al inicio:

    • Al presionar la bandera, enviar la bola a la posición x: 0, y: 0 (centro de la pantalla).

  2. Moverse continuamente:

    • Usar un bucle por siempre para mover la bola en una dirección.

    • Puedes usar apuntar en dirección y mover 5 pasos, o usar variables de velocidad (vx, vy) para un control más fino.

  3. Rebotar en los bordes:

    • Si toca el borde izquierdo o derecho, rebotar horizontalmente (cambiar dirección o invertir vx).

    • Si toca el borde superior, rebotar verticalmente.

    • Si toca el borde inferior (zona roja), perder una vida (ver Paso 6).

  4. Detectar colisión con la pala:

    • Si la bola toca la pala, rebotar hacia arriba. Puedes calcular el ángulo según la posición de impacto para dar efecto.


🏓 Paso 3: Programar la pala

La pala es muy sencilla:

  • Control con teclas:

    • Al presionar flecha derecha → cambiar x en 50 pasos (o una cantidad fija).

    • Al presionar flecha izquierda → cambiar x en -50 pasos.

No olvides limitar el movimiento para que no se salga de la pantalla (por ejemplo, que no sobrepase los bordes izquierdo y derecho).


🟥🟦🟩 Paso 4: Programar los bloques

Cada bloque debe comportarse así:

  • Mostrarse al inicio (o según el nivel activo).

  • Detectar colisión con la bola:

    • Si el bloque está tocando la bola, entonces:

      • Sumar 1 punto a la variable puntuación.

      • Esconder el bloque (desaparecer).

      • (Opcional) Reproducir un sonido de "pop".

  • Cada color de bloque puede tener el mismo código, pero puedes diferenciarlos visualmente. En el código, usa el bloque si tocando bola y dentro de él las acciones.

Iván agrupa bloques del mismo color para que compartan el mismo código y sea más fácil de mantener.


❤️ Paso 5: Sistema de vidas (línea roja)

Dibuja una línea roja en la parte inferior de la pantalla (puede ser un sprite o un color en el escenario).

  • Si la bola toca esa línea roja, significa que ha caído.

  • Entonces:

    • Restar 1 vida (variable vidas).

    • Volver a colocar la bola en el centro con la dirección inicial.

    • Si las vidas llegan a 0, terminar el juego (mostrar "Game Over").

🧠 Iván comenta: Es importante que la línea sea de un color diferente al de los bloques para evitar confusiones.


📊 Paso 6: Variables globales

Crea estas variables para todo el proyecto:

  • puntuación – puntos acumulados al romper bloques.

  • vidas (Iván la llama rojo error) – número de intentos restantes (ej. 8 vidas en total).

  • nivel – número del nivel actual (1 a 5).


📨 Paso 7: Sistema de niveles con mensajes

Para organizar los niveles, usaremos mensajes (eventos) que se envían entre objetos.

  • Al inicio (al presionar bandera), se envía el mensaje "nivel1".

  • Cada objeto (bloques, fondo, etc.) al recibir ese mensaje, actuará en consecuencia:

    • Los bloques del nivel 1 se muestran; los del nivel 2 se esconden.

    • El fondo cambia a la imagen correspondiente.

    • Se actualizan las variables (por ejemplo, puntuación se ajusta según el total de bloques de ese nivel).

Estructura típica de un nivel (desde el código de la bola o del escenario):

text
al presionar bandera
enviar mensaje [nivel1]
fijar [puntuación] a 0
fijar [vidas] a 8
fijar [nivel] a 1
por siempre
   si <(nivel) = 1> entonces
       // Acciones propias del nivel 1 (movimiento, detecciones)
   si <(nivel) = 2> entonces
       // ...
   // etc.

Cuando se completa un nivel (todos los bloques destruidos), se envía el mensaje "cambiar nivel":

text
al recibir [cambiar nivel]
   sumar 1 a [nivel]
   si <(nivel) = 2> entonces
       enviar mensaje [nivel2]
       cambiar fondo a [fondo2]
       // Ajustar puntuación si es necesario
   si <(nivel) = 3> ...

🧩 Paso 8: Código de los bloques (receptor de mensajes)

Cada bloque tendrá un código como este:

text
al recibir [nivel1]
   mostrar
   // (Si es del nivel 1)
al recibir [nivel2]
   esconder  // si no pertenece a este nivel
   // (o mostrar si pertenece)

Iván usa enviar mensaje y recibir para que los bloques sepan cuándo mostrarse y cuándo ocultarse.


🎮 Paso 9: Flujo completo del juego (resumen)

  1. Inicio:

    • Se muestra el nivel 1 (bloques de color, fondo1).

    • Bola en centro, pala en posición inicial.

    • Puntuación a 0, vidas a 8.

  2. Jugabilidad:

    • La bola se mueve y rebota.

    • La pala se controla con flechas.

    • Al romper bloques, suma puntos.

    • Si la bola cae, resta vida y se recoloca.

  3. Cambio de nivel:

    • Cuando se rompen todos los bloques del nivel, se envía un mensaje para pasar al siguiente.

    • Se actualizan los bloques (unos se muestran, otros se esconden).

    • Se cambia el fondo.

    • Se mantienen la puntuación y las vidas.

  4. Fin del juego:

    • Si se completan los 5 niveles → ¡Victoria!

    • Si las vidas llegan a 0 → Game Over.


🧠 Consejos de Iván (y extras)

  • Aleatoriedad: Para que la bola no vaya siempre a la misma zona, puedes darle una dirección aleatoria al inicio o al rebotar con la pala.

  • Mensajes: Úsalos para coordinar todos los objetos (bola, pala, bloques, fondo). Así cada sprite solo responde a su mensaje sin tener que estar comprobando variables todo el tiempo.

  • Prueba y ajusta: Juega varias veces para equilibrar la velocidad de la bola y la cantidad de vidas.


🎬 ¡Ya tienes tu Arkanoid!

Con este tutorial, basado en el proyecto real de un niño de 8 años, puedes crear tu propio juego de romper bloques. ¡Anímate a personalizar fondos, añadir sonidos y crear más niveles

Comentarios

Entradas más populares de este blog

1.4 - Interfaz de usuario-Xnergic TCM

1.7 - Bloques de uso más común-Xnergic TCM

1.5 - Personajes-Xnergic