1 / 18

Ajedrez

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. Índice. 1.- Demostración de la aplicación 1.1.- Representación FIDE 1.2.- Situaciones concretas posibles

dawn
Download Presentation

Ajedrez

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 Álvaro Torroba Lombera

  2. Í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

  3. 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…

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

  5. Demostración de la aplicación • Situación de comer con 2 peones:

  6. Demostración de la aplicación • Situación de comer con 2 caballos

  7. Demostración aplicación • Situación de coronación

  8. Demostración aplicación • Situación de rey en jaque

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

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

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

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

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

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

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

  16. Patrones utilizados • Factory method (Tablero Factory) • Observer (Vistas) • Façade (Login) • Proxy (Fide) • Singleton (Log)

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

  18. Posibles futuras entregas • 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.

More Related