Maze Game es un juego de laberinto en el que los jugadores deben encontrar la salida 🏁 mientras evitan trampas
Este script maneja la generación y manipulación del laberinto, la colocación de trampas y la lógica de movimiento del jugador controlado por la IA 🤖.
- Generación del laberinto 🏗️: Usa el algoritmo de Prim para crear caminos aleatorios y asegurarse de que el laberinto sea resoluble.
- Colocación de trampas
⚠️ : Se generan trampas en ubicaciones aleatorias dentro del laberinto. - Movimiento del jugador IA 🤖: Implementa el algoritmo A* para encontrar la salida de manera eficiente.
- Verificación de solubilidad ✅: Usa DFS para garantizar que el laberinto tenga una solución.
- Trampas normales
⚠️ : Afectan a los jugadores cuando las pisan. - Swap Traps 🔄: Intercambian la posición del jugador con otra ubicación al activarse.
- Knockback Traps 💥: Empujan al jugador hacia atrás cuando las pisa.
Define la clase Player, que representa a los jugadores dentro del laberinto. Cada jugador tiene habilidades especiales con un número limitado de usos.
- Nombre 🏷️
- Posición dentro del laberinto 🗺
- Habilidades especiales disponibles ✨
- Cantidad de usos restantes para cada habilidad
- Teleport 🛋️: Permite al jugador teletransportarse a una ubicación aleatoria.
- Teleport hacia la salida 🎯: Acerca al jugador a la salida usando el algoritmo A*.
- Swap Positions 🔄: Intercambia la posición con otro jugador.
- Stun Other Player ⚡: Aturde a otro jugador, haciéndolo perder un turno.
- Place Random Trap
⚠️ : Coloca una trampa en una ubicación aleatoria del laberinto.
Cada una de estas habilidades puede usarse un máximo de tres veces.
Controla la lógica principal del juego, incluyendo la gestión de turnos y la verificación de condiciones de victoria.
- Gestor de turnos ⏳: Alterna entre los jugadores, permitiendo que cada uno realice una acción por turno.
- Condición de victoria 🏆: El juego finaliza cuando un jugador alcanza la salida del laberinto.
Define el comportamiento de la inteligencia artificial del juego.
- Algoritmo A* 🔍: La IA encuentra el camino más corto hasta la salida.
- Estrategia de movimiento 🏃: Evita trampas y busca la ruta óptima según su heurística.
- Al iniciar la partida, se genera un laberinto aleatorio 🏗️.
- Se elige el modo de juego:
- Jugador vs IA 🤖
- Jugador vs Jugador 🎭🎭
- Los jugadores deben encontrar la salida 🏁 mientras evitan trampas
⚠️ . - Pueden moverse con las teclas:
- W ⬆️ - Arriba
- S ⬇️ - Abajo
- A ⬅️ - Izquierda
- D ➡️ - Derecha
- La IA 🤖 usa el algoritmo A* para moverse de forma eficiente.
- Se pueden utilizar habilidades especiales para influir en la partida.
- C# (para modificar o mejorar los scripts y ejecutarlo en la consola de cualquier editor de código).
- .NET SDK 6.0 o superior 🛠️
- Spectre.Console 🔧: Para mejorar la interfaz visual en la consola. Instalar con:
dotnet add package Spectre.Console
Este proyecto está en desarrollo y se planea agregar:
- ✨ Más tipos de trampas y efectos de habilidades.
- 🤖 Mejoras en la IA para una experiencia de juego más desafiante.
- 🎮 Nuevos modos de juego y niveles de dificultad.
💪 ¡Prepárate para desafiar tu mente y escapar del laberinto! 🏁