UNIVERSIDAD DE NAVOJOA INGENIERÍA EN SISTEMAS COMPUTACIONALES
Proyecto Final
Trabajo presentado en cumplimiento parcial de la clase de: Inteligencia Artificial, Teoría de Juegos.
NOMBRE DEL ALUMNO: Daniel López García, Daniel Ricardo Carrada Peña.
NOMBRE DEL MAESTRO: Ing. Fernando López Orozco
20 de Mayo de 2014
Navojoa, Sonora.
Laberinto que permita la interacción con el usuario. El proyecto que se presentará a continuación, fue presentado para la materia de Teoría de Juegos y consta de un mapa, un personaje a guiar, un destino o meta y obstáculos. Este programa está basado en la resolución de un laberinto recursivo a base de caracteres encontrado en la página www.javaya.com.ar , donde un JLabel con valor 0 indica camino libre, 1 indica pared y 9 el recorrido.
Posterior mente se implementó un arreglo bidimensional de elementos JLabel con proporción de 1:1, cada uno de ellos con una imagen asignada. El ícono de pasto en color verde representa el camino libre. Los bloques indican pared, zona por la que no se puede pasar o atravesar. El ícono de Mario es el personaje a guiar hacia la meta. Y el ícono de bandera indica la meta. Seguimos basándonos en JLabels, sólo que en lugar de texto utilizamos imágenes.
Botones inferiores
En la parte inferior izquierda de la interfaz se han colocado 6 elementos JButton (botones). El botón “Crear!” manda a llamar una función, la cual se encarga de armar un nuevo escenario en base a valores aleatorios. Las flechas que se tienen del lado derecho sirven para poder cambiar la posición de Mario en nuestro mapa. El botón “Estoy perdido” manda a llamar una función, que tiene como parámetro la posición actual de Mario. Esta función
(Estado del mapa antes de indicar que se está perdido)
(Estado del mapa después de indicársele que se está perdido.) Al momento en el que se llega a la meta, en el título de la ventana aparece un mensaje que indica que el juego ha terminado, y los botones de movimiento pierden sus funciones.
Laberinto que se resuelva de manera automática. Este proyecto fue entregado para la materia de Inteligencia Artificial. Este contiene algunas diferencias muy notorias en diferencia con el anterior. La primera es que no es interactivo. La segunda, es la cantidad de botones con los que se cuentan. Ahora sólo se tienen 3.
Utilizando recursividad e Inteligencia Artificial, Mario recorre la ruta que lo lleva hacia la meta. Teniendo en cuenta que Mario se encuentra inicialmente en la esquina superior izquierda, y la meta en la esquina inferior derecha, el algoritmo de búsqueda que se sigue es el siguiente: “Derecha, abajo, arriba, izquierda”.
Cuando el laberinto es sencillo para el programa, podemos obtener resultados similares a este:
Bien se puede notar que su lógica de “prueba y error” no es tan mala. Sin embargo, cuando está cerrado el camino de forma que resulte imposible resolver el juego obtenemos una inundación de recorrido como se muestra a continuación.
Actualmente el programa se encuentra con oportunidad de mejoras. Falta afinar algunos detalles.