Labecoin Game AI es un juego de laberinto en C++ donde un agente inteligente recorre un tablero recogiendo monedas usando algoritmos de búsqueda local: Escalada Simple, Máxima Pendiente y Escalada Estocástica. Desarrollado como proyecto final de la asignatura IASI.
Labecoin es un juego de tablero donde un agente automático debe recorrer un laberinto y recoger el máximo número de monedas posible.
El proyecto implementa y compara tres algoritmos de búsqueda local clásicos de Inteligencia Artificial, cada uno con una estrategia distinta para explorar el espacio de soluciones:
| Algoritmo | Estrategia | Descripción |
|---|---|---|
| Escalada Simple | EscaladaSimple |
Elige el primer vecino que mejore la solución actual |
| Máxima Pendiente | MaximaPendiente |
Evalúa todos los vecinos y elige el mejor de ellos |
| Escalada Estocástica | ESEstocastico |
Selecciona aleatoriamente entre los vecinos mejores |
Las funciones de evaluación usadas son:
FuncionDistancia— minimiza la distancia recorrida.FuncionRentabilidad— maximiza la relación monedas recogidas / distancia recorrida.
Labecoin-Game-AI/
├── src/ # Código fuente principal
│ ├── IASI.cpp # Punto de entrada del programa
│ ├── Tablero.cpp / .h # Lógica del tablero y laberinto
│ ├── Coordenada.cpp / .h # Representación de posiciones en el mapa
│ ├── Moneda.cpp / .h # Clase de monedas del tablero
│ ├── vectorMonedas.cpp / .h # Contenedor de monedas
│ ├── Fichero.cpp / .h # Lectura de mapas desde ficheros .txt
│ ├── EscaladaSimple.cpp / .h # Algoritmo de Escalada Simple
│ ├── MaximaPendiente.cpp / .h # Algoritmo de Máxima Pendiente
│ ├── ESEstocastico.cpp / .h # Algoritmo de Escalada Estocástica
│ ├── FuncionDistancia.cpp / .h # Función heurística de distancia
│ └── FuncionRentabilidad.cpp / .h # Función heurística de rentabilidad
├── Debug/ # Binarios compilados (Eclipse CDT)
├── LABECOIN1.txt # Mapa nivel 1
├── LABECOIN2.txt # Mapa nivel 2
├── ... # (hasta LABECOIN10.txt)
├── Documentacion.pdf # Documentación técnica del proyecto
├── EnunciadoProyecto_IASI2223.pdf # Enunciado oficial del proyecto
└── README.md # Documentación del proyecto# Requisitos:
# - Compilador MinGW (paquete básico + toolchain)
# - PATH de MinGW configurado en variables de entorno
# - Eclipse CDT con build y run config en modo MinGW- Abrir el proyecto en Eclipse CDT.
- Configurar el Run Configuration seleccionando el
.exeen/Debug. - Compilar con
Build Projecty ejecutar.
git clone https://github.com/sorgazb/Labecoin-Game-AI.git
cd Labecoin-Game-AI/src
g++ -o labecoin *.cpp
./labecoinLos ficheros de mapa
LABECOIN1.txt–LABECOIN10.txtdeben estar en el mismo directorio que el ejecutable.
Cada nivel se define en un fichero .txt con la siguiente codificación de celdas:
| Símbolo | Significado |
|---|---|
P |
Posición inicial del agente |
M |
Moneda recogible |
X |
Pared (celda bloqueada) |
. |
Celda libre |
Haz fork del repositorio.
Crea una rama de trabajo:
git checkout -b feature/mi-nueva-funcionalidadRealiza tus cambios y haz commit.
Abre un Pull Request describiendo tus mejoras.

Inteligencia Artificial y Sistemas Inteligentes (IASI) · Grado en Ingeniería Informática en Computadores · Universidad de Extremadura
Sergio Orgaz Bravo




