jueves, 20 de septiembre de 2012

Avance de proyecto

Resumen del proyecto
Nuestro proyecto principalmente está encaminado a ser un juego de ajedrez, donde su objetivo principal es que puedas jugarlo de una manera en que un jugador sea manipulado por la computadora, y el otro jugador sea manipulado por un Usuario cualquiera. Pretendemos que la propia computadora tomará las decisiones de hacia dónde va a mover alguna de las piezas móviles para poder ganarle al jugador contrario en este caso el usuario. En teoría no hay ningún cambio en cuanto a lo que se va aplicar nuestro proyecto. Este se busca que se le pueda implementar algo de Inteligencia Artificial.

Avance de la planeación y complicaciones.

¿Qué hemos hecho?
Pues principalmente estábamos desdiciendo en que lenguaje de programación  programar nuestro proyecto, llegamos a la conclusión que será programado en el lenguaje de Java. Esto es porque todos los integrantes del equipo ya tenemos conocimientos previos del mismo y algo de experiencia en cuanto a cómo se maneja este.

Entre otras cosas que hemos hecho es estudiar algunas tipos de herramientas en las que nos podremos apoyar para poder implementar nuestro proyecto. También en estos momentos estamos recopilando la información necesaria más que nada para saber cómo tendremos que aplicar los que la Inteligencia Artificial en nuestro proyecto, esto para que nuestra computadora pueda hacer los movimientos correctos a la hora de jugar con este.

¿Que nos falta?
Nos falta investigar algunas tipos de cuestiones, cómo implementar la interfaces que será puesta debajo de las piezas móviles e incluso como hacer que se muevan las piezas. Aunque esto aún nos falta por investigar no creemos que sea de gran complejidad porque pues todos los integrantes han manejado la implementación de imágenes en Java o algo parecido al mismo. Estos tipos de problemas pensamos resolvernos sin mucha dificultad.
En cuanto a la Planeación de tiempos, pues tenemos ya algunos contemplados en nuestro diagrama de Gantt trataremos de aplicarnos a este en todo el semestre sin tener que agregar nada, pero si en caso de hacer alguna otra cosa lo agregaremos y lo comentaremos en la misma entrada, igual pensamos presentarlo siempre porque siempre se estará actualizando atreves de que vallamos avanzando con el proyecto.

1. Las actividades que pensamos llevar a cabo durante el semestre (a excepción que se agregue alguna otra actividad durante el proyecto).

2. Aquí les presentamos la Matriz de Gantt donde se presentan los tiempos de cada actividad.

En esta imagen se muestran las actividades que nos basaremos y en los tiempos que se realizara cada una, si ven algunas ya tienen el estatus de terminado que son unas que ya se realizaron, otras están en ejecutándose que son las que apenas se están realizando pero aun no son terminadas en su totalidad, por ultimo esta l de Sin empezar están son las actividades que aún no empezamos a realizar ya que necesitamos terminar las anteriores para tener los conocimientos previos para poder realizar las siguientes actividades.

Recursos y Herramientas
Otras de las cosas en las que estamos avanzando es en buscar algunos tutoriales, librerías y Frameworks que podremos aplicar para nuestro proyecto, esto para facilitarnos un poco más lo que es la implementación de este.
Algunas de estas herramientas que ya encontramos para poder aplicarlas y guiarnos para nuestro proyecto son las siguientes:

Chesspresso
Descripción:
Para explicar algo de Chesspresso pues en teoría es una biblioteca de Java que se utilizada para ayudar a los desarrolladores a escribir cualquier tipo de programa de ajedrez. Es de código abierto (LGPL) y contiene el estado de los más avanzados algoritmos para implementar conceptos de ajedrez.

¿Cómo funciona un programa de ajedrez?
Descripción:
También encontramos un tutorial en PDF el cual es de la UCN llamado “¿Cómo funciona un programa de Ajedrez?” este nos explica ampliamente como funciona un programa de ajedrez en Java, está muy completo porque este viene explicando cómo poder hacer una programa de ajedrez desde java pero en la plataforma eclipse, no viene explícitamente como hacerlo pero te guía y te algunas ideas de como poder realizarlo y saber que hay que hacer para que este pueda funcionar. Pensamos que sería de gran ayuda más que nada a la hora de programar porque sería como una guía de saber qué hacer y cómo implementarlo.

Pues hasta ahorita estas dos herramientas somos las que hemos encontrando para poder implementar nuestro proyecto. Estamos buscando aún más para poder enriquecernos de conocimientos para la hora de programar.


Bosquejo de solución.
En cuanto al bosquejo de solución ya tenemos ya un diagrama de UML:

Referencias:
Chesspresso  - http://www.chesspresso.org/
Alexander Narváez, ¿CÓMO FUNCIONA UN PROGRAMA DE AJEDREZ? - http://www.ucn.edu.co/virtualmente/estudiantes/ajedrez-virtual/Ajedrez-contenido/C%C3%B3mo%20funciona%20un%20programa%20de%20Ajedrez.pdf