index

Acciones de Documento
  • Marcadores (bookmarks)
  • Exportación de LTI
Autores: Florina Almenares, Pablo Basanta
Enunciado práctica MIDP
 
Home UC3M
Titular página
Home IT

 

 

BrainTrainingMIDP


Profesores: Florina Almenares, Pablo Basanta

 

  INTRODUCCIÓN
null

Esta práctica consiste en desarrollar una aplicación MIDP, cuyo objetivo, requisitos y lógica se describen a continuación. Dicha aplicación se integra como cliente móvil de la aplicación empresarial Java EE, Gestión avanzada, además de los clientes de consola y web desarrollados previamente, tal como se refleja en la Figura 1.

Arquitectura global aplicación empresarial
Figura 1. Arquitectura de la aplicación global


Objetivo

El objetivo de esta práctica es aplicar los conocimientos aprendidos sobre la programación en dispositivos limitados, desarrollando un juego denominado BrainTrainingMIDP sobre el perfil MIDP 2.0 de Java ME. Éste es un juego que engloba una serie de ejercicios de diversa dinámica, desde ejercicios de cálculo mental y memoria hasta ejercicios de lógica pasando por ejercicios de habilidad verbal y espacial, todo ello con el fin de ejercitar la mente. Este tipo de juegos se ha puesto de moda últimamente gracias a la Nintendo DS.

En esta práctica concretamente se utilizaran los APIs de interfaces gráficas, almacenamiento persistente y comunicación de forma obligatoria.

Pasos preliminares

Con el fin de familiarizarnos con el entorno y el desarrollo de MIDlets, antes de comenzar a diseñar y desarrollar el juego, se deben ejecutar y modificar los siguientes ejemplos.

null

 

 

 ENUNCIADO
null

BrainTrainingMIDP es un juego compuesto de una colección de ejercicios sencillos para poner a prueba tu habilidad, cálculo, ingenio, etc. Concretamente se va a desarrollar la parte de entrenamiento de uno de estos ejercicios, dándole un tiempo al usuario para la realización de los mismos y una puntuación al finalizar. 

Categoría 1: Cálculo mental

  • Lluvia: En este ejercicio se le presentan al usuario una serie de operaciones matemáticas básicas (suma, resta, multiplicación y división) en forma de lluvia, que el usuario debe solucionar antes de alcanzar un determinado límite.  Si el límite es alcanzado, éste va creciendo y el ejercicio termina cuando alcanza su nivel máximo. El ejercicio original que puede servir de guía se encuentra en  http://www.lumosity.com/brain-games/problem-solving-games/raindrops.

Categoría 2: Lógica

  • Código secreto: Este ejercicio consiste en generar un código secreto de tres figuras distintas a partir de 5 figuras. El usuario deberá adivinar el código secreto a partir del resultado devuelto en cada intento. El resultado devuelto debe indicar el número de figuras presentes en el código pero que no están en la misma posición, el número de figuras presentes en el código y además en la posición correcta y el número de figuras que no están presentes en el código.

Categoría 3: Habilidad verbal

  • Sopa de letras: Este ejercicio contiene una sopa de letras sencilla en una matriz de 7x7 para encontrar palabras relacionadas con una temática determinada.

Categoría 4: Memoria

  • Parejas iguales: Este ejercicio consiste en mostrar al usuario una matriz de 4x5 con 10 parejas de figuras durante 10 segundos para que el usuario la memorice.  A continuación las figuras se cubren y el usuario debe formar las parejas sin equivocarse.

Categoría 5: Habilidad espacial

  • Símbolos únicos: En este ejercicio una matriz de 4x6 rellena con tres símbolos distintos será mostrada al usuario. El usuario deberá encontrar una secuencia de tres figuras distintas en vertical. Sólo debe existir una secuencia de tres figuras distintas dentro de cada tablero.

Requisitos mínimos

Los ejercicios realizados deben cumplir con los siguientes requisitos:
  • Cada ejercicio deberá tener un número de secuencia finito y un tiempo limite para la realización de los mismos.
  • La puntuación dependerá del número de aciertos que haya realizado el usuario durante el tiempo límite establecido. Si el usuario realiza toda la secuencia correctamente dentro del tiempo establecido, la puntuación mínima será de 100 puntos (es decir, puede haber bonificación en función del tiempo).
  • El usuario podrá salir en cualquier momento del ejercicio sin guardar ningún tipo de puntuación.
  • Las interfaces gráficas de los ejercicios serán realizadas con el API de bajo nivel.
Los detalles que no se han especificado en la breve descripción del ejercicio deberán ser definidos por los integrantes del grupo. El grupo estará formado por los mismos integrantes de la práctica de Java EE, haciendo en tal caso dos ejercicios, en lugar de uno.

La aplicación, por su parte, debe cumplir con los siguientes requisitos:
  • El almacenamiento en local de las cinco mejores puntuaciones (records) obtenidas para ambos ejercicios se implementará con el API de RMS.
  • Los menús, instrucciones, alertas, solicitud de datos, etc., se podrán desarrollar con el API gráfico de alto o bajo nivel.
  • La comunicación con el servidor de aplicaciones Java EE se implementará utilizando conexiones HTTP.
En el servidor Java EE se desarrollará un servlet:
  • ServletPremio recibe como parámetro la puntuación acumulada (es decir, la suma de las cinco mejores puntuaciones) y envía los premios que el usuario podría obtener con ella. Se debe utilizar el método ListarPremios del EJB de sesión GestionaPremio y hacer el filtrado en el servlet.

Opciones del menú

El MIDlet debe tener un menú principal al iniciar el juego con al menos las siguientes opciones:
  • Entrenamiento: permite entrar en el menú de ejercicios disponibles, a través del cual se puede iniciar el entrenamiento para cada ejercicio.
  • Records: lista las cinco mejores puntuaciones obtenidas (nombre, puntuación, nombre ejercicio, tiempo).
  • Instrucciones: explica brevemente cómo se juega cada ejercicio.
  • Listar premios: permite recibir un listado con los premios que se pueden obtener a partir de la puntuación acumulada.
  • Salir: permite terminar la ejecución del MIDlet.
Además dentro de cada ejercicio, el usuario dispondrá de las siguientes opciones:
  • Instrucciones: explica brevemente cómo se juega.
  • Terminar: permite abandonar el ejercicio y volver al menú principal.

Partes Opcionales

De manera opcional, el MIDlet permitirá:

  • Establecer niveles de dificultad: en cada ejercicio el usuario podrá seleccionar el nivel de dificultad que desea. El nivel de dificultad dependerá de cada ejercicio, puede depender del número de operaciones, tiempo, etc.

 

 CRITERIOS DE EVALUACION
null

Los criterios de evaluación que se tendrán en cuenta serán los siguientes:

  • funcionalidad del juego,
  • buenas prácticas de programación en dispositivos limitados,
  • interfaz gráfica,
  • funcionalidad opcional implementada por iniciativa de los alumnos (por ejemplo, sonidos, etc.), 
  • gestión adecuada de errores.
null

 

 ENLACES
null

API

Juegos originales

Libros J2ME

  • J2ME : Java 2 micro edition : Manual de usuario y tutorial. Froufe Quintas, Agustín y Jorge Cárdenes, Patricia. Paracuellos de Jarama (Madrid): Ra-Ma. [2004]. Referencias biblioteca: L/S 004.438 JAVA FRO, L/D 004.438 JAVA FRO
  • MIDP 2.0 style guide for the Java 2 platform. Cynthia Bloch. Addison-Wesley Professional. [2003]. Referencia biblioteca: L/S 004.438 JAVA BLO
  • Programming wireless devices with the Java 2 platform, micro edition : J2ME Connected limited Device Configuration (CLDC) 1.1 Mobile Information Device Profile (MIDP) 2.0. Riggs, Roger. Addison-Wesley. [2003]. Referencia biblioteca: L/D 004.438 JAVA RIG 1
  • Wireless Java programming with Java 2 micro edition. Yu Feng and Jun Zhu. Sams. [2001]. Referencia biblioteca: L/D 004.438 JAVA FEN

Tutoriales y cursos on-line

Webs de desarrolladores

Más enlaces

null

 

 

Reutilizar Curso
Descargar este curso