{"id":19940791,"url":"https://github.com/sorgazb/labecoin-game-ai","last_synced_at":"2026-06-15T09:31:31.389Z","repository":{"id":209288123,"uuid":"717921580","full_name":"sorgazb/Labecoin-Game-AI","owner":"sorgazb","description":"Inteligent self-learning game in develop","archived":false,"fork":false,"pushed_at":"2024-04-18T10:20:04.000Z","size":2942,"stargazers_count":2,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-01T13:14:16.966Z","etag":null,"topics":["ai","allegro5","artificial-intelligence","binary-tree","cpp","data-structures","fstream","ia","makefile","pointers","self-learning","simple-hill-climbing","steepest-ascent","stochastic-hill-climb","tree-structure"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sorgazb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-11-13T01:19:04.000Z","updated_at":"2024-06-03T19:59:30.000Z","dependencies_parsed_at":"2024-02-09T13:47:55.619Z","dependency_job_id":"08c5351d-5857-482a-9ca1-56a2171c95ef","html_url":"https://github.com/sorgazb/Labecoin-Game-AI","commit_stats":null,"previous_names":["vvaldesc/labecoin-game-ai","sorgazb/labecoin-game-ai"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sorgazb/Labecoin-Game-AI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sorgazb%2FLabecoin-Game-AI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sorgazb%2FLabecoin-Game-AI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sorgazb%2FLabecoin-Game-AI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sorgazb%2FLabecoin-Game-AI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sorgazb","download_url":"https://codeload.github.com/sorgazb/Labecoin-Game-AI/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sorgazb%2FLabecoin-Game-AI/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34357281,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-15T02:00:07.085Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","allegro5","artificial-intelligence","binary-tree","cpp","data-structures","fstream","ia","makefile","pointers","self-learning","simple-hill-climbing","steepest-ascent","stochastic-hill-climb","tree-structure"],"created_at":"2024-11-13T00:06:58.122Z","updated_at":"2026-06-15T09:31:31.354Z","avatar_url":"https://github.com/sorgazb.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Labecoin Game AI\n\n![C++](https://img.shields.io/badge/C++-Inteligencia%20Artificial-00599c?style=for-the-badge\u0026logo=cplusplus)\u0026nbsp;![IA](https://img.shields.io/badge/Algoritmos-B%C3%BAsqueda%20Local-orange?style=for-the-badge)\u0026nbsp;![Eclipse](https://img.shields.io/badge/IDE-Eclipse%20CDT-2C2255?style=for-the-badge\u0026logo=eclipseide)\u0026nbsp;![Mapas](https://img.shields.io/badge/Mapas-10%20Niveles-green?style=for-the-badge)\u0026nbsp;![POO](https://img.shields.io/badge/Programaci%C3%B3n-Orientada%20a%20Objetos-blueviolet?style=for-the-badge)\n\n\u003e **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.\n\n---\n\n## 📋 Descripción del Proyecto\n\n**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.  \nEl 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:\n\n| Algoritmo | Estrategia | Descripción |\n|---|---|---|\n| **Escalada Simple** | `EscaladaSimple` | Elige el primer vecino que mejore la solución actual |\n| **Máxima Pendiente** | `MaximaPendiente` | Evalúa todos los vecinos y elige el mejor de ellos |\n| **Escalada Estocástica** | `ESEstocastico` | Selecciona aleatoriamente entre los vecinos mejores |\n\nLas funciones de evaluación usadas son:\n- **`FuncionDistancia`** — minimiza la distancia recorrida.\n- **`FuncionRentabilidad`** — maximiza la relación monedas recogidas / distancia recorrida.\n\n---\n\n## 🏗️ Estructura del Proyecto\n\n```txt\nLabecoin-Game-AI/\n├── src/                           # Código fuente principal\n│   ├── IASI.cpp                   # Punto de entrada del programa\n│   ├── Tablero.cpp / .h           # Lógica del tablero y laberinto\n│   ├── Coordenada.cpp / .h        # Representación de posiciones en el mapa\n│   ├── Moneda.cpp / .h            # Clase de monedas del tablero\n│   ├── vectorMonedas.cpp / .h     # Contenedor de monedas\n│   ├── Fichero.cpp / .h           # Lectura de mapas desde ficheros .txt\n│   ├── EscaladaSimple.cpp / .h    # Algoritmo de Escalada Simple\n│   ├── MaximaPendiente.cpp / .h   # Algoritmo de Máxima Pendiente\n│   ├── ESEstocastico.cpp / .h     # Algoritmo de Escalada Estocástica\n│   ├── FuncionDistancia.cpp / .h  # Función heurística de distancia\n│   └── FuncionRentabilidad.cpp / .h # Función heurística de rentabilidad\n├── Debug/                         # Binarios compilados (Eclipse CDT)\n├── LABECOIN1.txt                  # Mapa nivel 1\n├── LABECOIN2.txt                  # Mapa nivel 2\n├── ...                            # (hasta LABECOIN10.txt)\n├── Documentacion.pdf              # Documentación técnica del proyecto\n├── EnunciadoProyecto_IASI2223.pdf # Enunciado oficial del proyecto\n└── README.md                      # Documentación del proyecto\n```\n\n---\n\n## ⚙️ Requisitos y Compilación\n\n### Windows (MinGW + Eclipse CDT)\n\n```bash\n# Requisitos:\n# - Compilador MinGW (paquete básico + toolchain)\n# - PATH de MinGW configurado en variables de entorno\n# - Eclipse CDT con build y run config en modo MinGW\n```\n\n1. Abrir el proyecto en **Eclipse CDT**.\n2. Configurar el **Run Configuration** seleccionando el `.exe` en `/Debug`.\n3. Compilar con `Build Project` y ejecutar.\n\n### Linux / GNU (g++)\n\n```bash\ngit clone https://github.com/sorgazb/Labecoin-Game-AI.git\ncd Labecoin-Game-AI/src\ng++ -o labecoin *.cpp\n./labecoin\n```\n\n\u003e Los ficheros de mapa `LABECOIN1.txt` – `LABECOIN10.txt` deben estar en el mismo directorio que el ejecutable.\n\n---\n\n## 🗺️ Formato de los Mapas\n\nCada nivel se define en un fichero `.txt` con la siguiente codificación de celdas:\n\n| Símbolo | Significado |\n|---|---|\n| `P` | Posición inicial del agente |\n| `M` | Moneda recogible |\n| `X` | Pared (celda bloqueada) |\n| `.` | Celda libre |\n\n---\n\n## 🖥️ Ejemplos de Ejecución\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/vvaldesc/Labecoin-Game-AI/assets/124901115/2e95911a-be96-4466-9de5-17e3f8b552d2\" alt=\"Ejemplo 1\" width=\"600\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/vvaldesc/Labecoin-Game-AI/assets/124901115/b0626153-1fa3-43d8-bb7b-0f26a5a7e331\" alt=\"Ejemplo 2\" width=\"600\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/vvaldesc/Labecoin-Game-AI/assets/124901115/71ab8e04-5159-4724-a0dd-35ced8fc6ffb\" alt=\"Ejemplo 3\" width=\"600\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/vvaldesc/Labecoin-Game-AI/assets/124901115/5d9b2df1-d022-433f-bd10-da39b20dc101\" alt=\"Ejemplo 4\" width=\"600\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/vvaldesc/Labecoin-Game-AI/assets/124901115/dffddae3-c491-41ac-bbc2-8fae5e7aab9f\" alt=\"Ejemplo 5\" width=\"600\"/\u003e\n\u003c/p\u003e\n\n---\n\n## 📚 Documentación\n\n- 📄 [Enunciado oficial del proyecto](./EnunciadoProyecto_IASI2223.pdf)\n- 📄 [Documentación técnica](./Documentacion.pdf)\n\n---\n\n## 🤝 Contribución\n\nHaz fork del repositorio.\n\nCrea una rama de trabajo:\n\n```bash\ngit checkout -b feature/mi-nueva-funcionalidad\n```\n\nRealiza tus cambios y haz commit.\n\nAbre un Pull Request describiendo tus mejoras.\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/c/cc/UNEX.png\" alt=\"Universidad de Extremadura\" height=\"80\"/\u003e\n  \u003cbr/\u003e\u003cbr/\u003e\n  \u003cstrong\u003eInteligencia Artificial y Sistemas Inteligentes (IASI)\u003c/strong\u003e \u0026nbsp;\u0026middot;\u0026nbsp; Grado en Ingeniería Informática en Computadores \u0026nbsp;\u0026middot;\u0026nbsp; Universidad de Extremadura\n  \u003cbr/\u003e\n  Sergio Orgaz Bravo\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsorgazb%2Flabecoin-game-ai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsorgazb%2Flabecoin-game-ai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsorgazb%2Flabecoin-game-ai/lists"}