- Poder consultar si un personaje dado puede alcanzar una esfera dada. El usuario deberá poder elegir uno de los personajes (presentes en el tablero, claro), y una esfera (también presente en el tablero). Y hacer la consulta. (Un ejemplo de lograr esto es, mirando la imagen anterior la parte de abajo donde nos deja seleccionar un personaje y una esfera y en vez de un botón buscar, que diga algo como... "¿Llega?" )
- Debería indicar de alguna forma si el persona no puede alcanzar la esfera.
- Aclaraciones:
- Dibujo del tablero:
- No hace falta que el tablero se muestre de forma gráfica. De hecho con Arena no van a poder hacerlo.
- Opciones:
- un label y hacerle un toString() con texto
- hacer una grilla
- rebuscarselas :)
Obtener esferas y llamar a Sheng Long
- Ahora queremos darle más comportamiento.
- Ya no queremos saber si un personaje puede alcanzar una esfera, sino de hecho decirle que vaya a buscarla.
- Una vez que un persona obtuvo una esfera, ésta se saca del tablero y pasa a formar parte del inventario del personaje.
- Además, un persona que poseea todas las esferas podrá llamar a Sheng Long.
- Validación:
- En caso de que la esfera no se encuentre dentro de su rango de alcance debería notificar al usuario.
Crear Personajes, Esferas y Tablero
- Hacer una Dialog para crear personajes.
- Un personaje tiene un nombre y rango de alcance (distancia máxima que recorre).
- Crear Tablero:
- Al crear el tablero se seleccionan personas o esferas y se ubican dentro del tablero especificando la posición.
Vale también agregar como BONUS algún caso extra como la persistencia del tablero o re-posicionar las cosas ya creadas o crear un juego random.
Mejorar el diseño planteado para el TP1 usando herramientas de desarrollo web (html, css, jsp, servlets, javascript, ajax ...)
- En lugar de la tabla con los objetos creados, que muestre una grilla (una representación gráfica del tablero más realista). De modo que los personajes y las esferas sean mostrados como imágenes. La grilla debe ser generada de forma dinámica con el contenido del tablero.
- Poder agregar objetos al tablero y visualizar estos cambios.
- Generar un layout que sea respetado durante toda la navegación del tp. Diseñando:
- Header con el nombre del sitio que ustedes generen
- Footer, debe contener al menos el nombre del alumno, nombre de la materia, facultad, cuatrimestre y año
- Link al home
El layout debe de ser respetado y mostrado en todas las páginas del sitio. Se define como home la pantalla donde se muestra el contenido del tablero.
Antes que nada si no están familiarizados les recomendamos jugar un poco con los componentes html y con sus estilos, separando siempre lo que es estilos (css) de los tags html.
No se vuelvan locos haciendo que el tp funcione (y se vea) bien en todos los navegadores del planeta, les recomendamos (mucho) que elijan un browser y se enfoquen en ese.
Tambien les recomendamos que usen algunas herramientas para desarrollo web como firebug para firefox y sus equivalentes en otros navegadores como ie developer tools para IE, firebug para chrome (que algunas versiones ya lo traen instalado y todo).
- Visualizar el contenido del tablero de forma dinámica con JSP y Servlets.
- Agregar objetos al tablero. Tener en cuenta que se debe validar que:
- No se agregue más de un objeto al mismo casillero
- No se creen personajes sin nombre o distancia máxima
- Definición del header
- Definición del footer
- Vista del tablero
- Vista del tablero, mejora de la visualización.
Cuando se modifica el tablero hacer que solamente se refresque la grilla que lo representa.
Hacer que sea posible posicionar los objetos en el tablero haciendo drag and drop de las imagenes que representan a los objetos sobre las celdas del tablero.
En la tecnología elegida (Seaside o Wicket) modelar el juego de las esferas del Dragón con las mismas reglas que antes. Se debe de poder:
- Definir un tablero: entendiendo como definir un tablero darle las dimesiones. Todos nuestros tableros (o mapas del dragón) son (al menos) bidimensionales.
- Crear Personajes: Los datos para la creación de un personaje son:
- Nombre (obligatorio)
- Distancia maxima que puede recorrer (obligatorio)
- Imagen con la que se mostrará (opcional). La imagen puede ser seleccionada de un "catálogo de imagenes", en caso de no seleccionar ninguna que se muestre con una imagen cualquiera. Sobre esto, dos puntos bonus:
- permitirle al usuario que crea el personaje que suba la imagen con la que se va a mostrar el personaje si no encuentra ninguna que le agrade.
- que solamente muestre las imagenes que no fueron usadas por otro personaje
- Crear Esferas: Los datos para la creación de esferas son:
- Cantidad de estrellas. Obligatorio con valores del 1 al 7 no puediendo haber 2 esferas con la misma cantidad de estrellas en todo el juego.
- Ubicar cosas en el tablero: una cosa puede ser una esfera o un personaje, se debe de poder decir cuál es la posición del tablero en la que estará ubicado. Tener en cuenta que no puede haber en una misma posición dos cosas (ni dos personajes, ni dos esferas ni una esfera y un personaje)
- Visualizar el tablero: poder ver el tablero (por lo menos) en forma bidimensional. En el casillero donde se encuentre un personaje o una esfera se debe de visualizar su imagen asociada.
- Ir a buscar esfera: Que sea posible seleccionar un personaje y una esfera (ubicada en el mapa) para que nuestro personaje la vaya a buscar. En caso de que no pueda llegar que informe el error, si puede ir a buscarla debe suceder que:
- el personaje tiene una nueva ubicación: la posicion donde estaba la esfera
- el personaje incorpora esa esfera como propia (es decir ahora la lleva en el conjunto de las esferas que pudo conseguir)
- la esfera ya no es visible desde el tablero y ningún otro personaje puede ir a buscarla.
- Visualizar el status de los personajes: debe de ser posible por cada personaje visualizar las esferas que lleva. En la pantalla debe de mostrarse la imagen que representa el personaje junto con su nombre y distancia maxima que puede recorrer y las imagenes de todas las esferas que pudo conseguir. En caso de que tenga las 7 esferas del dragón se debe de habilitar un botón con el label "Llamar a Sheng Long" que abra una ventana modal con una imagen de Sheng Long, al cerrar esta ventana modal deben de redistribuirse las esferas en los casilleros disponibles del mapa y el personaje no las cuenta más como sus esferas conseguidas.
- Redistribuir esferas: que sea posible expropiar todas las esferas de los personajes y redistribuirlas de forma alatorea entre los casilleros disponibles del tablero.