Hoy nos encontramos con un problema que muchos otros enfrentaron antes. Queremos saber ¿Dónde está Carmen Sandiego? Para los más jóvenes a los que nunca les hicieron la famosa pregunta los invitamos a leer un poco más en: http://es.wikipedia.org/wiki/Carmen_Sandiego Para los perezosos les hacemos un resumen. Carmen Sandiego es una reconocida (y peligrosa) criminal internacional que recorre el mundo robando importantes obras de arte. El objetivo de todo agente internacional es atraparla y así terminar con la serie de fechorías. Junto a ella operan un conjunto de malhechores generando caos en el mundo. En el juego, el jugador es un detective que se dedica a viajar por el mundo, siguiendo las pistas que dejan los delicuentes para tratar de atraparlos. Los Villanos Todo en el juego gira entorno a los Villanos, que son quienes cometen los delitos para luego esconderse en algún lugar del mundo. De cada Villano se conoce:
Ejemplo Nombre : Carmen Sandiego Sexo : Femenino Señas particulares : - Pelo rojo - Maneja un convertible - Posee un collar de rubies - Su comida favorita son los tacos mexicanos Hobbies : - Juega tenis - Baila tango El Mundo Luego de cometer un crimen, el villano seguirá una ruta de escape que lo hará recorrer varios paises; la misión del detective es viajar por el mundo, tratando de encontrarlo. Para esto, se cuenta con un mapamundi que tiene la información importante de cada pais:
Ejemplo Nombre: Argentina Características: - Bandera celeste y blanca - Bandera con un sol - Moneda Peso - Casa de gobierno rosada - Conocida por los Gauchos - Comida típica empanadas - beben mate Lugares de interés: - Embajada - Biblioteca - Club Conexiones: - Perú - España - Brasil Es importante notar que las conexiones aéreas deben funcionar en ambas direcciones, es decir que siempre que un país esté conectado a otro, este también debe estar conectado al primero. Los lugares de interés de un país son ubicaciones a donde el detective podrá dirigirse en su investigación. En caso de que un criminal haya pasado por el país, en todos los lugares de interés podrán encontrarse pistas sobre quien es el villano o hacia donde se dirigió. Las pistas que pueden encontrarse en cada lugar de interés dependen de que tipo de lugar sea, a saber:
Cuando el detective viaja al destino final del criminal (es decir, al final de su ruta de escape), podrá encontrar al criminal en alguno de los lugares, capturándolo y dando por finalizado el caso. Si, por el contrario, el detective se equivoca en su investigación y visita un país por el cual el criminal no pasó, todos los lugares de interés le informarán que no saben nada de la persona que busca, y el detective tendrá que volver sobre sus pasos. El Caso El objetivo del juego consiste en resolver un crimen, encontrando al culpable y llevándolo ante la justicia. Para ello, el detective es asignado a un caso. Cada caso tiene asociado un responsable (el villano que intentaremos capturar), el plan de escape de este (que consiste en una secuencia ordenada de países conectados, que comienza en el país al que el criminal se dirigió luego de cometer el delito), e información relacionada al acto criminal, el objeto del crimen y el país donde tuvo lugar. Ejemplo Responsable: Carmen Sandiego Plan de escape: [Inglaterra, Rusia, Chile, Australia, Guatemala, Bosnia, Japón, Italia] Reporte: A las 9 de la mañana en la ciudad del Cairo la comunidad científica fue conmovida al darse cuenta del faltante de gran valor! El sarcófago del faraón Usermaatra-Meriamón Ramsés-Heqaiunu , mejor conocido como Ramsés III. El criminal fue muy prolijo y la escena del crimen no contaba con pista alguna, su misión como detective es descifrar el responsable de tal crimen y apresarlo. Objeto: Sarcófago del faraón País donde ocurrió: Egipto Por supuesto el detective no tiene conocimiento de quien es el responsable o cual será su ruta de escape; esto debe investigarlo por su cuenta! Para ello, inicia su investigación en en ese país donde ocurrió el siniestro, visitando los lugares de interés en busca de pistas sobre el criminal o su próximo destino o siguiéndole la pista viajando por el mundo. En cada país por el que pasa puede visitar los lugares de interés para obtener información o viajar a alguno de los país conectados. En todo momento el detective puede pedir una orden de arresto contra el criminal que cree que ha perpetrado el acto delictivo. Sólo podrá pedir una orden de arresto, así que debe ser cuidadoso! Cuando se llega al país donde se encuentra el criminal (el último en su plan de escape) y se visita el lugar donde se encuentra, el criminal es capturado; sin embargo, si el detective no pidió una orden de captura (o la pidió para la persona equivocada) el criminal quedará en libertad y el caso quedará sin resolver. TP 1 - Arena En la primer entrega del TP se deberá modelar una interfaz gráfica que permita crear, modificar y borrar las entidades necesarias para dar soporte al juego. Para todas las vistas se deberán tener en cuenta las restricciones del modelo y hacer respetar las reglas de negocio proveyendo al usuario de un flujo de interacción predecible, notificando los problemas de forma adecuada. El conjunto de las pantallas a desarrollar se detalla a continuación:Esta pantalla cuenta con 3 botónes: Mapamundi, Expedientes y Casos, que abren las vistas [1], [2] y [3], respectivamente. 1) MapamundiEn esta pantalla se puede ver un listado de los países creados y los detalles (en modo sólo lectura) del país seleccionado en la lista. El botón Eliminar debe descartar el país seleccionado (en caso de haber uno), no sin antes solicitarle confirmación al usuario. Los botones Editar y Nuevo abren la vista [1.1], sobre el país seleccionado en la lista o un nuevo país, respectivamente. 1.1) Editar Pais Esta pantalla muestra el nombre del país en un campo de texto editable, así como también sus características, conexiones y lugares de interés. Los botones Editar Características, Editar Conexiones y Editar Lugares abren sobre el país las vistas [1.1.1], [1.1.2] y [1.1.3], respectivamente. Tengan en cuenta que es obligatorio ingresar el nombre del país, sus 3 lugares de interés y, al menos, una característica.1.1.1) Editar CaracterísticasMuestra una lista con las características actuales, un botón para eliminar la característica seleccionada en la lista (si hubiera alguna), y un campo de texto editable para ingresar una nueva característica que será agregada presionando el botón Agregar.Muestra una lista con las conexiones actuales, un botón para eliminar la conexión seleccionada en la lista (si hubiera alguna), y un combo con los países creados hasta el momento en el sistema que será agregado a la lista presionando el botón Agregar. Tengan en cuenta que un país no puede tener conexiones repetidas o consigo mismo.1.1.3) Editar LugaresMuestra una lista con los lugares de interés actuales, un botón para eliminar el seleccionado en la lista (si hubiera alguno), y un combo con los tipos de lugares disponibles que será agregada presionando el botón Agregar. Tener en cuenta que un país tiene que tener EXACTAMENTE 3 lugares de interés y estos no pueden ser de tipos repetidos.2) Expedientes![]() En esta pantalla se puede ver un listado de los villanos creados y los detalles (en modo sólo lectura) del villano seleccionado en la lista. El botón Eliminar debe descartar el villano seleccionado (en caso de haber uno), no sin antes solicitarle confirmación al usuario. Los botones Editar y Nuevo abren la vista [1.2], sobre el villano seleccionado en la lista o un nuevo villano, respectivamente. 1.2) Editar Villano Esta pantalla muestra el nombre del villano en un campo de texto editable y su sexo en un combo con las opciones "Masculino" y "Femenino", así como también sus señas particulares y sus hobbies. Los botones Editar Señas Particulares y Editar Hobbies abren sobre el país las vistas [1.2.1] y [1.2.2], respectivamente. Tengan en cuenta que es obligatorio ingresar el nombre del villano y, al menos, 2 señas particulares y un hobbie.1.2) Editar Señas ParticularesMuestra una lista con las señas particulares actuales, un botón para eliminar la seña seleccionada en la lista (si hubiera alguna), y un campo de texto editable para ingresar una nueva seña que será agregada a la lista presionando el botón Agregar. Tengan en cuenta que un villano no puede tener señas repetidas.1.2) Editar HobbiesMuestra una lista con los Hobbies actuales, un botón para eliminar el hobbie seleccionado en la lista (si hubiera alguno), y un campo de texto editable para ingresar un nuevo hobbie que será agregado a la lista presionando el botón Agregar. Tengan en cuenta que un villano no puede tener hobbies repetidos.3) CasosPor último se pide diseñar e implementar las pantallas de Alta/Baja/Modificación para los casos, teniendo en cuenta las implementadas hasta ahora. Es necesario pensar que elementos visuales, validaciones y funcionalidades son necesarias para permitir la carga y mantenimiento de los casos (vale basarse en las vistas anteriores). Las pantallas deben permitir la visualización y carga de un Título para el caso, un Reporte, que consiste en un texto amplio describiendo los sucesos, un Objeto que identifica el ítem robado y un País donde el crímen ocurrió, que debe elegirse de entre los países creados. (El responsable y el plan de escape también son datos del caso, pero estos serán generados aleatoriamente durante el juego y NO DEBEN cargarse en esta entrega) NOTA: En todas las vistas debe hacerse especial foco en evitar el código redundante o repetido. Esto sólo se puede lograr diseñando bien las interfaces y extrayendo y reutilizando componentes comunes. Para aprobar el TP NO ALCANZA con entregar un programa que muestre ventanas, también debe estar bien diseñado y se debe manejar bien tanto el flujo común del programa como las situaciones excepcionales. En esta entrega implementaremos la interfaz gráfica para jugar el juego, poniendonos en la piel del detective y resolviendo los casos. Las pantallas detalladas a continuación deben implementarse utilizando una arquitectura web stateless, distribuyendo la lógica y la representación de acuerdo a lo visto en la cursada. NOTA: Las maquetas para las pantallas se presentan sólo a modo de referencia, los detalles de alineado y presentación pueden variar mientras se mantenga intacta la navegación y funcionalidad propuesta. Recuerden que el objetivo del TP consiste en generar una buena arquitectura y un diseño de objetos sólido, robusto y mantenible, y no un diseño gráfico estético. Por supuesto, aquellos que deseen dedicarle tiempo a embellecer su aplicación son bienvenidos, pero se recomienda concentrarse en los aspectos funcionales primero. 0) Página de Inicio
|
Mi cursada - UNQ > Trabajos Prácticos >