Proyecto 2 IPC 2015

15
Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas Introducción a la Programación y Computación 1 Ing. Neftaly Calderón Aux. Luis Fernando De Paz Santizo Aux. Rony de León Proyecto 2 Laberinto

description

Instrucciones para realizar el segundo proyecto del curso de IPC 1

Transcript of Proyecto 2 IPC 2015

  • Universidad de San Carlos de Guatemala

    Facultad de Ingeniera

    Escuela de Ciencias y Sistemas

    Introduccin a la Programacin y Computacin 1

    Ing. Neftaly Caldern

    Aux. Luis Fernando De Paz Santizo

    Aux. Rony de Len

    Proyecto 2

    Laberinto

  • Objetivos

    General

    Aplicar programacin orientada a objetos en el lenguaje de programacin java, creando una aplicacin grafica utilizando un IDE de programacin.

    Introducir al estudiante a manejo de memoria dinmica

    Que el estudiante desarrolle habilidad de anlisis para el desarrollo de software de calidad

    Especficos

    Crear una aplicacin grafica de forma amigable, sin perder de vista los requerimientos que el cliente exija

    Que el estudiante implemente sus propios algoritmos.

    Que el estudiante aplique validaciones en el software para comprender la importancia de los mismos.

    Que el estudiante logre crear y manipular listas dinmicas y que tenga el criterio para saber en dnde aplicarlas.

    Que el estudiante logre la manipulacin de archivos de texto

  • Descripcin

    Consisten en desarrollar un juego de laberinto en donde el objetivo es encontrar la salida,

    pero mientras vayamos haciendo el recorrido hacia la salida, la misma aplicacin tratar de

    alcanzarnos para que perdamos la partida. Esta entidad ser representada por cualquier

    figura o imagen y aparecer en el mapa pocos segundos despus de haberse iniciado el

    juego.

    El objetivo de esta entidad es que nos perseguir por todo el camino (ms corto) que

    vayamos recorriendo en ese instante, para tratar de alcanzarnos y as finalizar y perder el

    juego.

    Al inicio del juego la aplicacin preguntara al usuario el laberinto o mapa que desea jugar

    el cual estar almacenado en un archivo separado por comas (.csv). El mapa o laberinto ser

    representado por una matriz de 25 x 25 casillas, cada columna separada por coma y cada

    fila ser una lnea.

    Ejemplo:

    El mapa del laberinto inicial seguir el siguiente formato:

    Muro: La palabra muro indicar que existe una pared en esa Posicin.

    Inicio: La palabra INICIO indicar la casilla de entrada al laberinto.

    Fin: La palabra FIN indicar la casilla de salida del laberinto.

    Jugador2: La palabra jugador2 ser utilizada nicamente cuando el juego sea contra la computadora, de lo contrario el archivo no deber llevar esta palabra

    Bonus1 : Da 5 puntos ms al jugador

    Bonus2: da 10 puntos ms al jugador

    Trampa1: resta 5 puntos al jugador

    Trampa2: resta 10 puntos al jugador

    El camino en donde podemos avanzar sern los espacios en blanco o que no contengan

    ninguna de las palabras descritas anteriormente. Todas las palabras estarn estrictamente

    en minsculas y separadas por coma. El usuario podr jugar con las flechas del teclado para

    ir avanzando en el laberinto y encontrar la salida.

  • Se debe crear una lista simplemente enlazada por ir almacenando los movimientos del

    jugador

    Interfaz de Usuario

    La pantalla principal del juego debe tener un botn donde se pueda iniciar y pausar el juego.

    Tambin debe de mostrar las estadsticas del juego en tiempo de ejecucin, tales como:

    Numero de movimientos total

    Movimientos a la derecha

    Movimientos a la izquierda

    Movimientos hacia a bajo

    Movimientos hacia arriba

    Nombre del usuario

    Tiempo transcurrido

    La aplicacin debe de contener un men que tenga al menos las siguientes opciones:

    Juego:

    o Nuevo juego individual

    o Nuevo juego contra PC

    o Abrir

    o Guardar

    o Seleccionar Tema

    o Seleccionar nivel de dificultad

    o cargar archivo que resuelve laberinto

    o Ver documentacin

    o Salir

  • NUEVO

    Esta opcin le permitir al usuario ingresar todos sus datos correspondientes y abrir el

    archivo CSV que contiene el mapa del laberinto que se desea jugar, iniciando un nuevo

    juego.

    ABRIR

    Esta opcin le permitir al usuario escoger un archivo de juego guardado anteriormente

    para continuar jugando. Se deber cargar automticamente todo lo que en el juego anterior

    se realiz incluyendo las estadsticas. La extensin del archivo deber ser .lab

    GUARDAR

    Esta opcin le permitir al usuario ingresar el nombre del archivo con que desea guardar el

    juego. Deber guardar el mapa del laberinto, movimientos y todo lo que sea necesario para

  • terminar el juego. La estructura del archivo queda a criterio del estudiante siempre y

    cuando sea archivo de texto plano y cumpla con los requisitos dichos anteriormente.

    SELECCIONAR TEMA

    Esta opcin permite al usuario cambiar las imgenes que se utilizan para figuras (jugador y

    perseguidor), paredes, inicio y fin en el tablero. Mnimo 4 temas. Estos temas se pueden

    cargar temas por medio de archivos CSV, la estructura del archivo debe ser la siguiente.

    Nombre_tema,imagen_mueco,imagen_muro,imagen_camino,imagen_fin,imagen_mueco_que_sigue,imagen_pc

    Nombre_tema,imagen_mueco,imagen_muro,imagen_camino,imagen_fin,imagen_mueco_que_sigue,imagen_pc

    Nombre_tema,imagen_mueco,imagen_muro,imagen_camino,imagen_fin,imagen_mueco_que_sigue,imagen_pc

    Nombre_tema,imagen_mueco,imagen_muro,imagen_camino,imagen_fin,imagen_mueco_que_sigue,imagen_pc

    Nombre_tema,imagen_mueco,imagen_muro,imagen_camino,imagen_fin,imagen_mueco_que_sigue,imagen_pc

  • VER DOCUMENTACIN

    Esta opcin permite al usuario visualizar el manual de usuario y manual tcnico

    de la aplicacin en el explorador de internet por lo que deben de guardarse en

    archivos HTML.

    SALIR

    Esta opcin sale del juego, preguntando antes si desea guardar el juego actual

    si en caso se tiene un mapa cargado.

    JUEGO CONTRA PC

    En esta seccin se tendr la opcin para jugar contra la computadora, es decir,

    que para cada laberinto se debe tener un segundo jugador el cual resolver el

    mismo utilizando la regla de la mano derecha y este otro jugador deber partir

    desde la ubicacin contraria a donde sale el jugador real.

    NIVEL DE DIFICULTAD

    En esta rea se deber tener 3 opciones las cuales corresponden a:

    Novato

    Intermedio

    Experto

    La dificultad est basada en la velocidad del mueco que nos persigue en el

    caso del juego individual y en el caso del juego contra pc debe ser el mueco

    que intenta solucionar el laberinto antes que nosotros.

  • ESTADSTICAS

    Cada vez que el usuario resuelva un laberinto, el juego deber mostrar una

    estadstica con los siguientes datos:

    Nombre del jugador

    Fecha

    Hora

    Tiempo en que se llev resolverlo

    Nmero de movimientos realizados para resolver el laberinto.

    o Numero de movimientos total

    o Movimientos a la derecha

    o Movimientos a la izquierda

    o Movimientos hacia a bajo

    o Movimientos hacia arriba

    Despus de mostrar lo anterior en pantalla, el programa deber generar un

    archivo en formato HTML cuyo nombre ser nombre del

    usuario+fecha+hora, conteniendo la misma informacin mostrada en

    pantalla.

    Las estadsticas deben irse guardando la cantidad de veces que un jugador

    haya participado, es decir que solo existir un archivo estadstico para todas

    las personas que usaron el tema 1, otro para las personas que usaron el tema

    2 y as sucesivamente, por tanto esta informacin debe de quedar almacenada

    y no sustituida.

  • NOTAS IMPORTANTES

    El diseo de las pantallas queda a criterio del estudiante (con respecto al color

    o forma de presentar la informacin), pero tomando en cuenta lo fcil de

    utilizar, agradable a la vista, sencillo y sobre todo funcional.

    El juego debe contar con un cronometro que ser utilizado para el manejo del

    tiempo de cada jugador, el cual se iniciara en cuanto el usuario inicie el juego,

    tendr la opcin de pausar el juego y reanudar, tomando en cuenta que al

    pausar el juego se deber ocultar el laberinto.

    DOCUMENTACIN

    Manual de Usuario

    El manual de usuario deber contener una especificacin de cmo

    utilizar la herramienta desarrollada, de manera simple y concisa.

    Manual Tcnico

    El manual tcnico deber contener

    1. Cartula

    2. ndice

    3. Introduccin

    4. Objetivos

    5. Contenido:

    Anlisis:

    i. Descripcin del problema

    ii. Anlisis de requerimientos del usuario

    iii. Planteo inicial de la solucin

    Diseo:

    i. Diagrama de clases

    ii. Descripcin detallada por clase (mtodos,

    atributos, relaciones)

    iii. Glosario de trminos

    6. Conclusiones

    7. Referencias bibliogrficas

  • Restricciones

    Fecha de Entrega: 14/05/2015

    El proyecto deber de realizarse de forma individual.

    Deber de realizarse en lenguaje Java utilizando JCreator o Netbeans.

    Se puede realizar en cualquier Sistema Operativo.

    No se permite el uso de clases bajadas de internet, si se detecta copias de

    cdigo automticamente se pondr nota de 1 punto, para diferenciar de los

    que no entreguen y tengan nota de 0.

    Copias del proyecto entre estudiantes tendrn nota de 1 punto, para

    diferenciar de los que no entreguen y tengan nota de 0.

    Las clases que utilicen debern nombrarlas con su nombre seguido de su

    nmero de carnet de la clase, ejemplo: clase_200012345.java.

    La forma de entrega ser en un CD con la documentacin y el cdigo fuente

    de su proyecto identificado con su Nmero de Carnet, Nombre y Seccin.

    Cualquiera que no cumpla con las indicaciones de cmo nombrar la clase de

    java, o la forma de entrega de su proyecto tendr menos 25 puntos.

  • IMGENES IMPORTANTES

    EJEMPLO DE COMO SE VE EL LABERINTO CON EL TEMA 1

    EJEMPLO DE COMO SE VE EL LABERINTO CON EL TEMA 2

  • EJEMPLO DE COMO SE VE EL LABERINTO CON EL TEMA 3

    EJEMPLO DE COMO SE VE EL LABERINTO CON EL TEMA 4

  • EJEMPLO DE COMO SE VE LA ESTADSTICA CON EL TEMA 1

    EJEMPLO DE COMO SE VE LA ESTADSTICA CON EL TEMA 2

  • EJEMPLO DE COMO SE VE LA ESTADSTICA CON EL TEMA 3

    EJEMPLO DE COMO SE VE LA ESTADSTICA CON EL TEMA 4

  • EJEMPLO DE COMO SE VE EL JUEGO AL MOMENTO DE PAUSARLO