🟡 Capítulo 2: Colisiones (cuando los objetos se tocan)
Ahora empieza lo interesante de verdad en los videojuegos:
👉 detectar cuando Tobi toca algo.
🎮 ¿Qué es una colisión?
Una colisión ocurre cuando dos objetos del juego se tocan.
- Tobi toca un enemigo → pierde vida
- Tobi toca una moneda → gana puntos
- Tobi toca una pared → se detiene
👉 Sin colisiones, un juego no tiene reglas.
🧠 Idea clave
En programación pensamos así:
“Si Tobi toca algo… pasa algo”
💻 Código del juego (PictoBlox real)
Cada sprite tiene su propio código en PictoBlox:
🟦 Sprite: TOBI (Jugador)
import time
tobi = Sprite("Tobi")
vidas = 3
while True:
if tobi.iskeypressed("w"):
tobi.move(10)
if tobi.istouching("Penguin"):
vidas = vidas - 1
tobi.say("¡Golpe!", 0.5)
time.sleep(0.5)
tobi = Sprite("Tobi")
vidas = 3
while True:
if tobi.iskeypressed("w"):
tobi.move(10)
if tobi.istouching("Penguin"):
vidas = vidas - 1
tobi.say("¡Golpe!", 0.5)
time.sleep(0.5)
🟥 Sprite: PENGUIN (Enemigo)
enemy = Sprite("Penguin")
while True:
enemy.move(2)
while True:
enemy.move(2)
⚡ ¿Qué has aprendido?
- ✔ Cada sprite tiene su propio código
- ✔ Detectar colisiones
- ✔ Crear reglas de juego
👉 Esto ya es la base de un videojuego real.
🚀 Reto Abutuber
Crea un juego donde:
- Tobi se mueve con W
- Hay un enemigo que se mueve solo
- Si lo toca → pierde vida
- Si llega a 0 vidas → GAME OVER
👀 Ver código completo
import time
# SPRITE TOBI
tobi = Sprite("Tobi")
vidas = 3
while True:
if tobi.iskeypressed("w"):
tobi.move(10)
if tobi.istouching("Penguin"):
vidas = vidas - 1
tobi.say("¡Golpe!", 0.5)
time.sleep(0.5)
if vidas <= 0:
tobi.say("GAME OVER", 2)
break
# SPRITE ENEMY
enemy = Sprite("Penguin")
while True:
enemy.move(2)
# SPRITE TOBI
tobi = Sprite("Tobi")
vidas = 3
while True:
if tobi.iskeypressed("w"):
tobi.move(10)
if tobi.istouching("Penguin"):
vidas = vidas - 1
tobi.say("¡Golpe!", 0.5)
time.sleep(0.5)
if vidas <= 0:
tobi.say("GAME OVER", 2)
break
# SPRITE ENEMY
enemy = Sprite("Penguin")
while True:
enemy.move(2)
💡 Consejo Abutuber: Cada sprite tiene su propio código, pero todos forman un único videojuego.