Top Banner
Ajedrez Grupo: Miguel Corchero Lázaro Juan José Domínguez Berrueta Pablo Fernández Mantecón Javier Hertfelder Piñeiro Eduardo Moreno Martínez de Lecea Álvaro Torroba Lombera
18

Ajedrez Grupo: Miguel Corchero Lázaro Juan José Domínguez Berrueta Pablo Fernández Mantecón Javier Hertfelder Piñeiro Eduardo Moreno Martínez de Lecea.

Jan 27, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Ajedrez Grupo: Miguel Corchero Lázaro Juan José Domínguez Berrueta Pablo Fernández Mantecón Javier Hertfelder Piñeiro Eduardo Moreno Martínez de Lecea.

Ajedrez

Grupo:Miguel Corchero Lázaro

Juan José Domínguez BerruetaPablo Fernández Mantecón

Javier Hertfelder PiñeiroEduardo Moreno Martínez de Lecea

Álvaro Torroba Lombera

Page 2: Ajedrez Grupo: Miguel Corchero Lázaro Juan José Domínguez Berrueta Pablo Fernández Mantecón Javier Hertfelder Piñeiro Eduardo Moreno Martínez de Lecea.

Índice

1.- Demostración de la aplicación

1.1.- Representación FIDE

1.2.- Situaciones concretas posibles

2.- Aspectos tecnológicos

2.1.- Pruebas

2.2.- Patrones utilizados

3.- Posibles futuras entregas

Page 3: Ajedrez Grupo: Miguel Corchero Lázaro Juan José Domínguez Berrueta Pablo Fernández Mantecón Javier Hertfelder Piñeiro Eduardo Moreno Martínez de Lecea.

Representación FIDE

• A continuación se muestran algunos de los posibles movimientos en representación FIDE:– e4 (peón a e4)– Dxf3 (dama come a f3)– 0-0 (enroque corto)– C3e2 (caballo de fila 3, a e2)– Etc…

Page 4: Ajedrez Grupo: Miguel Corchero Lázaro Juan José Domínguez Berrueta Pablo Fernández Mantecón Javier Hertfelder Piñeiro Eduardo Moreno Martínez de Lecea.

Demostración de la aplicación

• Situación de enroque: Esta situación se corresponde con el movimiento del rey “intercambiándose” con una de las dos torres.

Page 5: Ajedrez Grupo: Miguel Corchero Lázaro Juan José Domínguez Berrueta Pablo Fernández Mantecón Javier Hertfelder Piñeiro Eduardo Moreno Martínez de Lecea.

Demostración de la aplicación

• Situación de comer con 2 peones:

Page 6: Ajedrez Grupo: Miguel Corchero Lázaro Juan José Domínguez Berrueta Pablo Fernández Mantecón Javier Hertfelder Piñeiro Eduardo Moreno Martínez de Lecea.

Demostración de la aplicación

• Situación de comer con 2 caballos

Page 7: Ajedrez Grupo: Miguel Corchero Lázaro Juan José Domínguez Berrueta Pablo Fernández Mantecón Javier Hertfelder Piñeiro Eduardo Moreno Martínez de Lecea.

Demostración aplicación

• Situación de coronación

Page 8: Ajedrez Grupo: Miguel Corchero Lázaro Juan José Domínguez Berrueta Pablo Fernández Mantecón Javier Hertfelder Piñeiro Eduardo Moreno Martínez de Lecea.

Demostración aplicación

• Situación de rey en jaque

Page 9: Ajedrez Grupo: Miguel Corchero Lázaro Juan José Domínguez Berrueta Pablo Fernández Mantecón Javier Hertfelder Piñeiro Eduardo Moreno Martínez de Lecea.

Guardar una partida

• Posibilidad de guardar una partida con las siguientes oportunidades:– Continuar la partida posteriormente.– Practicar una situación concreta.– Asegurar el estado de la partida.

Page 10: Ajedrez Grupo: Miguel Corchero Lázaro Juan José Domínguez Berrueta Pablo Fernández Mantecón Javier Hertfelder Piñeiro Eduardo Moreno Martínez de Lecea.

Cargar una partida

• Posibilidad, obvia tras el apartado anterior, de recargar una partida guardada. Para ello solo deberemos introducir la palabra “guardar”, y a continuación se nos pedirá la ruta de almacenamiento.

Page 11: Ajedrez Grupo: Miguel Corchero Lázaro Juan José Domínguez Berrueta Pablo Fernández Mantecón Javier Hertfelder Piñeiro Eduardo Moreno Martínez de Lecea.

Rendirse

• Si uno de los jugadores desea rendirse. Podrá hacerlo introduciendo la palabra “rendirse” durante la partida.

Page 12: Ajedrez Grupo: Miguel Corchero Lázaro Juan José Domínguez Berrueta Pablo Fernández Mantecón Javier Hertfelder Piñeiro Eduardo Moreno Martínez de Lecea.

Ofrecimiento de tablas

• Si uno de los jugadores quisiese ofrecer tablas al rival, podría hacerlo introduciendo “tablas” por teclado.

• De esta forma, el otro jugador recibiría la petición de tablas, pudiendo aceptarlas (terminando la partida), ó rechazarlas (continuando la misma).

Page 13: Ajedrez Grupo: Miguel Corchero Lázaro Juan José Domínguez Berrueta Pablo Fernández Mantecón Javier Hertfelder Piñeiro Eduardo Moreno Martínez de Lecea.

Jugar contra la maquina

• Gracias a la Inteligencia Artificial, y mediante el uso de heurísticas consultadas a expertos en ajedrez, se tiene la posibilidad de jugar contra la máquina.

Page 14: Ajedrez Grupo: Miguel Corchero Lázaro Juan José Domínguez Berrueta Pablo Fernández Mantecón Javier Hertfelder Piñeiro Eduardo Moreno Martínez de Lecea.

Aspectos tecnológicos

• Para realizar esta práctica nos hemos apoyado en dos lenguajes:– Java– Prolog para la inteligencia artificial

• Se han realizado muchas pruebas funcionales para comprobar el correcto funcionamiento del ajedrez.

• Gracias a los patrones impartidos en la asignatura, hemos resuelto problemas que hubiésemos tardado mucho tiempo en resolver.

Page 15: Ajedrez Grupo: Miguel Corchero Lázaro Juan José Domínguez Berrueta Pablo Fernández Mantecón Javier Hertfelder Piñeiro Eduardo Moreno Martínez de Lecea.

Pruebas

• Se han realizado todo tipo de pruebas funcionales y unitarias para comprobar el correcto funcionamiento del ajedrez.

• El framework utilizado para las pruebas ha sido JUnit.

Page 16: Ajedrez Grupo: Miguel Corchero Lázaro Juan José Domínguez Berrueta Pablo Fernández Mantecón Javier Hertfelder Piñeiro Eduardo Moreno Martínez de Lecea.

Patrones utilizados

• Factory method (Tablero Factory)

• Observer (Vistas)

• Façade (Login)

• Proxy (Fide)

• Singleton (Log)

Page 17: Ajedrez Grupo: Miguel Corchero Lázaro Juan José Domínguez Berrueta Pablo Fernández Mantecón Javier Hertfelder Piñeiro Eduardo Moreno Martínez de Lecea.

Posibles futuras entregas

• Integrar la rama de identificación y registro de usuario junto con la rama del juego de ajedrez.

• Implementar el ajedrez en una aplicación distribuida.

• Vistas de una partida.

• En un futuro muy lejano, poder elegir la opción de realizar un movimiento gore.

Page 18: Ajedrez Grupo: Miguel Corchero Lázaro Juan José Domínguez Berrueta Pablo Fernández Mantecón Javier Hertfelder Piñeiro Eduardo Moreno Martínez de Lecea.

• Total integración con inteligencia artificial, dotando al sistema de gran capacidad de razonamiento.

• Aprendizaje automático por parte del sistema, de forma que vaya aprendiendo a medida que juega las partidas.

• Posibilidad, gracias a la IA, de dotar al sistema de varios niveles.

Posibles futuras entregas