Note
Este README ha sido creado para mostrarse correctamente en GitHub. Para la explicación del código paso a paso, abrir el README compatible con Jupyter Notebook
Autor: José Gallardo Caballero
Profesor a cargo de la práctica: Pedro Latorre Carmona
José Gallardo |
Pedro Latorre |
- Importante
- Hunt the Wumpus - Adaptación
- Proyecto y Propósito
- Instalación de Requisitos
- Ejecución del Juego
- Estructura del Código
- Explicación del Código Paso a Paso
Este proyecto es una adaptación del clásico juego "Hunt the Wumpus". El objetivo era crear un algoritmo MinMax que jugase por el usuario, pero también tiene una versión de modo texto y gráfico que el usuario puede jugar, y además el modo A* para encontrar la mejor ruta al Wumpus con un algoritmo distinto.
Para instalar los requisitos necesarios para ejecutar el juego, ejecute el siguiente comando:
pip install -r requirements.txt
Para ejecutar el juego, utilice el siguiente comando:
cd src
python main.py
Si quiere hacerlo más profesional, puede elegir entre diferentes modos de juego:
text
: Modo de textopygame
: Modo gráfico con Pygameastar
: Modo con inteligencia artificial utilizando el algoritmo A*minmax
: Modo con inteligencia artificial utilizando el algoritmo MinMax
Ejemplo de ejecución en modo A* con un tablero personalizado:
cd src
python main.py -newtablero 1 -tablero tableros/tablero_6x6.txt -gamemode astar
Ejemplo de ejecución en modo usuario con un tablero aleatorio de tamaño 6x6:
cd src
python main.py -newtablero 0 -board 6 -gamemode pygame
El proyecto está organizado de la siguiente manera:
src/
: Contiene el código fuente del juego.game/
: Contiene la lógica del juego.board.py
: Implementa el tablero del juego.utils.py
: Contiene funciones utilitarias.ai/
: Contiene los algoritmos de inteligencia artificial.astar.py
: Implementa el algoritmo A*.minmax.py
: Implementa el algoritmo MinMax.
ui/
: Contiene las interfaces de usuario.text_mode.py
: Implementa la interfaz de usuario en modo texto.pygame_mode.py
: Implementa la interfaz de usuario en modo gráfico con Pygame.
main.py
: Archivo principal para ejecutar el juego.
requirements.txt
: Lista de dependencias necesarias para ejecutar el juego.tableros/
: Contiene tableros personalizados para el juego.
Para ver la explicación del código, abrir el README compatible con Jupyter Notebook