viernes, 9 de diciembre de 2011

Patrones de diseño

Un patron de diseño que me serviria a mi, seria el de "Observador" que como encontre en wikipedia "Define una dependencia de uno-a-muchos entre objetos, de forma que cuando un objeto cambie de estado se notifique y actualicen automáticamente todos los objetos que dependen de él." Esto me sirve en el momento en que tengo que estar verificando la cantidad de piezas que le faltan al usuario.

Aunque el uso de los patrones de diseño lo pongo en duda, necesitaria analizarlo mas a fondo, ya que como tambien encontre en wikipedia, dicen que son aconsejables si se presentan problemas que ya estan resueltos por medio de estos patrones de diseño, asi que solo los usaria si se presentara un problema complejo de resolver.

Eventos, excepciones y errores

En esta entrada se trabajara con los diferentes tipos de eventos que puede tener el programa junto con sus excepciones y sus errores por medio de una tabla para facilitar la explicacion de cada evento.


Estos son desde mi punto de vista los mas relevantes de cada uno, por suerte no se encontro gran cantidad de errores.
        

Diagrama de Secuencia

En esta entrada se muestra un diagrama básico de secuencia donde el usuario selecciona una imagen para abrirla, después el manejador de archivos se la pasa al des componedor, y este devuelve las piezas del rompecabezas en forma random en el margen del tablero.




Interfaz Gráfica

En esta entrada se abordara el tema de la interfaz de el proyecto, dado que es una aplicación para ipod, la interfaz gráfica no cambia mucho, aquí están las tres imágenes mas relevantes y una breve explicación.

Primera imagen:


Al iniciar el programa, lo primero que se hace es seleccionar la imagen con la que se quiere jugar, se despliega una lista de opciones, el usuario selecciona la que prefiera y después presiona "ok".



Segunda imagen:


Despues de que el usuario selecciona la imagen con la que quiere jugar se le pregunta al usuario de cuantas piezas quiere que sea su rompecabezas; El usuario selecciona una de las opciones predefinidas y presiona "ok"


Tercera imagen:

Por ultimo el usuario puede armar su rompecabezas, desplegando el programa la cantidad de piezas que el usuario decidió, al rededor de la pantalla, siendo el objetivo que el usuario complete la imagen.

jueves, 8 de diciembre de 2011

Retro alimentación

En esta entrada de mi blog escribiré sobre la retro alimentación que he tenido sobre mi proyecto con un compañero de clase con la finalidad de mejorar el programa lo mas posible en todos los aspectos posibles.

Uno de los puntos que me sugirió mi compañero Everardo, es que la forma en que estaba organizando mis clases no se apegaba al paradigma de la programación orientada a objetos, y que al principio al tratar de aplicar la herencia, la estaba forzando y heredaba cosas que no eran convenientes, como el hecho de querer heredar las coordenadas de la pieza  y me sugirió que mejor se creara un método que asignara la coordenada de la pieza a donde fuera necesario.

Herencia

En esta entrada, se tratara el tema de la herencia encontrada en el proyecto para mi clase de Programación Orientada a Objetos (POO).

Desde mi punto de vista fue poca la herencia que se encontró en el software, ya que no fue de gran necesidad implementarla en este programa. Una parte donde se aplica la herencia es en las ventanas donde se introducen datos, se tiene a "Ventana" y esta hereda la forma en general a "VentanaImagen" que es la ventana que se usaria para introducir la dirección del archivo que se usara para el rompecabezas y también hereda a "VentanaPiezas" que es donde el usuario determina la cantidad de piezas que quiere que tenga su rompecabezas.

miércoles, 7 de diciembre de 2011

Clases de proyecto

En esta entrada se abordara la forma en que el proyecto se organizara, dividido por sus clases, sus métodos y sus atributos.

Clase:                       Interfaz

Atributos:       -Manejo de Archivos
                      -Des-componedor
                      -Cuadro de juego
                      -Marcador


Métodos:        -Construir la interfaz
                     


Clase:                  Manejo de archivos

Atributos:         -Dirección del archivo
                        -Des-componedor

Métodos:         -Cargar archivo


Clase:                Des-componedor
Atributos:         -Archivo

Métodos:         -SetArchivo
                        -Descomponer Archivo
                        -Componer Archivo

Clase:                Cuadro de juego
Atributos:         -Coordenada de pieza
                        -Cantidad de piezas
Métodos:         -Comparar Coordenada
                        -Acomodar pieza

Clase:                      Marcador
Atributos:        -Puntaje
Métodos:        -Obtener marcador final

Clase:                     Pieza
Atributos:        -Coordenada de pieza
                       -Parte de archivo
Métodos:        -Arrastrar pieza