PING PONG scratch
Vamos a construir un juego de Ping Pong clásico para dos jugadores. Seguiremos el código de las capturas para programar las paletas, la pelota, los puntos y las pantallas de inicio y fin.
¡Empecemos!
Paso 1: Prepara tu escenario y objetos (Sprites)
Primero, necesitamos crear todos los "personajes" y el fondo de nuestro juego.
El Escenario (Fondo):
Haz clic en el "Escenario" (Stage) a la derecha.
Ve a la pestaña "Fondos" (Backdrops).
Rellena todo el fondo de color negro.
Usando la herramienta de línea, dibuja una línea verde delgada en la parte de arriba. Esta será la zona de punto para el Jugador 1.
Dibuja una línea morada (o púrpura) delgada en la parte de abajo. Esta será la zona de punto para el Jugador 2.
Nota: ¡Los colores son importantes, asegúrate de que coincidan con el código que pondremos después!
Los Objetos (Sprites):
Borra el gato de Scratch.
Crea 5 objetos (Sprites) nuevos. Puedes dibujarlos tú mismo:
J1Paleta: Un pequeño rectángulo rojo (la paleta de abajo).J2Paleta: Un pequeño rectángulo azul (la paleta de arriba).Pelotita: Un círculo blanco (la pelota).Espera: Este sprite lo usaremos para la cuenta regresiva.FinDelJuego: Este sprite mostrará quién ganó.
Paso 2: Crea las Variables
Las variables guardarán información importante, como los puntos.
Ve a la sección de Variables (naranja).
Haz clic en "Crear una variable".
Crea estas 3 variables (asegúrate de que sean "Para todos los objetos"):
PuntosJ1PuntosJ2VelocidadPelota
Paso 3: Programar las Paletas (Jugadores)
Ahora daremos movimiento a las paletas.
1. Objeto: J1Paleta (Paleta Roja)
Haz clic en el sprite J1Paleta y añade este código. Controlará la paleta de abajo con las teclas 'a' y 'd'.
al presionar
ir a x: (0) y: (-163)
fijar estilo de rotación a [no rotar v]
por siempre
si ¿tecla [a] presionada? entonces
cambiar x en (-10)
fin
si ¿tecla [d] presionada? entonces
cambiar x en (10)
fin
fin
2. Objeto: J2Paleta (Paleta Azul)
Haz clic en el sprite J2Paleta y añade este código. Controlará la paleta de arriba con las flechas.
al presionar
ir a x: (0) y: (165)
fijar estilo de rotación a [no rotar]
por siempre
si ¿tecla [flecha derecha] presionada? entonces
cambiar x en (10)
fin
si ¿tecla [flecha izquierda] presionada? entonces
cambiar x en (-10)
fin
fin
Paso 4: Programar la Pelota (Pelotita)
Este es el sprite más importante. Tendrá varios bloques de código. Haz clic en Pelotita y añade todos estos bloques:
Bloque 1: Movimiento y Rebote
Este código maneja el movimiento principal, el rebote en las paletas y el aumento de velocidad.
al presionar
fijar [PuntosJ1] a (0)
fijar [PuntosJ2] a (0)
fijar [VelocidadPelota] a (10)
ir a x: (0) y: (0)
apuntar en dirección (elegir número al azar entre (30) y (-75))
por siempre
mover (VelocidadPelota) pasos
si toca un borde, rebotar
si <¿tocando [J1Paleta ]?> o <¿tocando [J2Paleta ]?>?> entonces
iniciar sonido [Pew ]
girar ↻ (elegir número al azar entre (175) y (185)) grados
fijar [VelocidadPelota ] a ([VelocidadPelota] + (0.2))
fin
fin
Bloque 2: Puntos y Reinicio
Este código revisa si la pelota toca las zonas de gol (las líneas verde y morada que dibujaste en el fondo).
al presionar
por siempre
si ¿tocando el color [#00ff00]?> entonces (Usa el gotero para elegir el color VERDE de tu fondo)
esconder
enviar [ESPERA3seg ]
esperar (3) segundos
ir a x: (0) y: (0)
apuntar en dirección (elegir número al azar entre (-75) y (-30))
mostrar
cambiar [PuntosJ1 ] por (1)
fin
si ¿tocando el color [#ff00ff]?> entonces (Usa el gotero para elegir el color MORADO de tu fondo)
esconder
enviar [ESPERA3seg ]
esperar (3) segundos
ir a x: (0) y: (0)
apuntar en dirección (elegir número al azar entre (120) y (165))
mostrar
cambiar [PuntosJ2] por (1)
fin
fin
Bloque 3: Animación de la pelota (Opcional)
Si tu pelota tiene varios disfraces, este código la hará girar.
al presionar
por siempre
esperar (0.2) segundos
siguiente disfraz
fin
Paso 5: Programar la Cuenta Regresiva (Espera)
Este sprite mostrará "3, 2, 1" después de cada punto.
Disfraces: Haz clic en el sprite
Esperay ve a la pestaña "Disfraces".Crea 3 disfraces:
disfraz1: Escribe un "3" grande en el centro.disfraz2: Escribe un "2" grande en el centro.disfraz3: Escribe un "1" grande en el centro.
Código: Añade estos bloques al sprite
Espera.
al recibir [ESPERA3seg ]
mostrar
cambiar disfraz a [disfraz1 ]
esperar (1) segundos
cambiar disfraz a [disfraz2 ]
esperar (1) segundos
cambiar disfraz a [disfraz3 ]
esperar (1) segundos
esconder
al recibir [FinJuego ]
esconder
al presionar
esconder
Paso 6: Programar el Fin del Juego (FinDelJuego)
Este sprite revisará la puntuación y declarará un ganador cuando uno llegue a 5 puntos.
Disfraces: Haz clic en el sprite
FinDelJuegoy ve a la pestaña "Disfraces".Crea 2 disfraces:
J1Gana: Escribe "¡Jugador 1 Gana!" en el centro.J2Gana: Escribe "¡Jugador 2 Gana!" en el centro.
Código: Añade este código al sprite
FinDelJuego.
al presionar
esconder
por siempre
si <[PuntosJ1] = (5)> entonces
cambiar disfraz a [J1Gana ]
mostrar
enviar [FinJuego ]
detener [todos ]
fin
si <[PuntosJ2] = (5)> entonces
cambiar disfraz a [J2Gana ]
mostrar
enviar [FinJuego ]
detener [todos ]
fin
fin
¡Has terminado! Presiona la bandera verde para probar tu juego. Puedes cambiar la velocidad, los colores o la puntuación para ganar.