ajedrez grupo: miguel corchero lázaro juan josé domínguez berrueta pablo fernández mantecón...

Post on 27-Jan-2015

12 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Í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

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…

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.

Demostración de la aplicación

• Situación de comer con 2 peones:

Demostración de la aplicación

• Situación de comer con 2 caballos

Demostración aplicación

• Situación de coronación

Demostración aplicación

• Situación de rey en jaque

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.

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.

Rendirse

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

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).

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.

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.

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.

Patrones utilizados

• Factory method (Tablero Factory)

• Observer (Vistas)

• Façade (Login)

• Proxy (Fide)

• Singleton (Log)

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.

• 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

top related