🟡 Capítulo 3: Enemigo que persigue (IA básica real)
Hasta ahora el enemigo solo se movía sin pensar.
Pero en un videojuego real:
👉 los enemigos reaccionan al jugador.
🎮 ¿Qué vamos a hacer?
Vamos a crear un enemigo que:
- Detecta dónde está Tobi
- Se mueve hacia él
- Intenta alcanzarlo
👉 Esto es Inteligencia Artificial básica (IA).
🧠 Idea clave
Un enemigo inteligente hace esto:
“Si Tobi está a la derecha → voy a la derecha”
“Si Tobi está a la izquierda → voy a la izquierda”
👉 Así de simple… pero muy potente.
💻 Paso 1: Movimiento del jugador (Tobi)
Este código va en el sprite Tobi:
while True:
if tobi.iskeypressed("w"):
tobi.move(10)
👉 Tobi sigue moviéndose como antes.
💻 Paso 2: Enemigo que persigue
Este código va en el sprite Enemy:
tobi = Sprite("Tobi")
while True:
if enemy.x < tobi.x:
enemy.move(2)
if enemy.x > tobi.x:
enemy.move(-2)
🧠 Explicación paso a paso
- enemy.x → posición del enemigo
- tobi.x → posición del jugador
- if enemy.x < tobi.x → Tobi está a la derecha
- move(2) → el enemigo se acerca
- move(-2) → se mueve hacia la izquierda
👉 El enemigo está “siguiendo” a Tobi.
🎮 ¿Qué has creado?
- Un enemigo que reacciona
- Un sistema de persecución
- Un juego mucho más difícil
👉 Esto ya es IA básica de videojuegos.
⚡ Mejora opcional (más realista)
Puedes hacer el enemigo más lento o más rápido:
- move(1) → enemigo lento
- move(5) → enemigo rápido
👉 Esto cambia completamente la dificultad.
🚀 Reto Abutuber: Enemigo cazador
Crea un juego donde:
- Tobi se mueve
- El enemigo lo persigue
- El enemigo intenta alcanzarlo
Extra: Ajusta la velocidad para hacerlo más difícil.
👉 Si no te sale, aquí tienes el código completo:
👀 Ver código completo
tobi = Sprite("Tobi")
while True:
if tobi.iskeypressed("w"):
tobi.move(10)
# SPRITE ENEMY
enemy = Sprite("Enemy")
tobi = Sprite("Tobi")
while True:
if enemy.x < tobi.x:
enemy.move(2)
if enemy.x > tobi.x:
enemy.move(-2)
💡 Consejo Abutuber: Un enemigo que persigue convierte cualquier juego en un reto real. Esto es la base de la IA en videojuegos.