Diseño
y Programación Orientados a Objetos
1er. Sem 2012
Tarea 3: Applet para Simulador Gráfico de Bolas Móviles y Paredes como Objetos de
Software
Recomendación: Lea detenidamente la tarea. Si algo no lo
entiende, consulte en clases. Si es preciso, se incorporarán
aclaraciones al final.
Esta tarea tiene por objetivos:
* Ejercitar la creacón de archivos .jar
* Ejercitar la reproducción de sonidos en Java.
* Ejercitar el paso de parámetros desde un archivo html a un applet.
* Aplicar elementos de Ingeniería de software.
Descripción General
Básicamente ahora usted podrá correr las simulaciones a través
de Internet usando un Applet. Además de lo solicitado en la tares 2
(sin considear extra-créditos), usted deberá permitir que el usuraio
pueda especificar en su archivo html el escenario predefinido de su
simulación y generar sonidos como conseguencia de los choques.
La especificación del escenario debe seguir una sintáxis del estilo:
<applet ..... lo que corresponda .....>
<param name="title" value="Physics Lab: 3 balls in a box"/>
<param name="sideNum" value="4"/>
<param name="wall.1" value="poner aquí sus atributos separados por ;"/>
<param name="wall.2" value="poner aquí sus atributos separados por ;"/>
<param name="wall.3" value="poner aquí sus atributos separados por ;"/>
<param name="wall.4" value="poner aquí sus atributos separados por ;"/>
<param name="ballNum" value="3"/>
<param name="ball.1" value="poner aquí sus atributos separados por ;"/>
<param name="ball.2" value="poner aquí sus atributos separados por ;"/>
<param name="ball.3" value="poner aquí sus atributos separados por ;"/>
<param name="gravity" value="-9.8"/>
<param name="viscosity" value="0.0"/>
<param name="deltaTime" value="0.001"/>
<param name="refreshTime" value="0.03"/>
<param name="plotWindowTime" value="30"/>
</applet>
Tara los sonidos use dos sonidos cortos uno para el choque entre dos bolas y otro para el caso bola y pared.
Trabajo a desarrollar
Desde un punto de vista de la simulación, esta tarea tiene la misma
descripción que la tarea 2.
Los atributos de myWorld (gravedad, viscosidad, timepo de refresco y la
magnitud del paso discreto del tiempo) son tomados del
html.
El Applet debe dividir el área de despliegue en con un JSplitPane para separar la zona de simulación del gráfico. A
la izquierda debe verse la simulación. El gráfico debe mostrar sólo
el últimos N segundos de la simulación, donde N es un parámetro
especificados en el HTML (default = 30 segundos). El nombre de este
parámetro en el html es "PlotWindowTime". Este requerimiento completa en parte lo pedido para el gráfico de la tarea 2.
Cada vez que se selecciona gráfino ON, el gráfico parte nuevamente
borrando toda historia pasada.
Prepare sus archivos para incluir una clase PhysicsLab que
permita ejecutar su solución como aplicación y la clase
PhysicsLabApplet que lo haga como applet. Para el caso de PhysicsLab
use los parámetros por omisión (no serán especificados por ningún
html).
Puntaje extra: Su grupo puede optar a 10 puntos de extras si al ejecutar el programa en modo aplicación, en lugar de usar
aquellos por omisión, usted estudia la clase Properties, y define los
mismos nombre de parámetros indicados antes en un archivo
PhysicsLab.ini.
Resultados Esperados de su Grupo
Entregue todo lo indicado en Normas
de Entrega de Tareas.
Debe preparar un archivo PhysicsLab.jar que incluya todo lo requerido
para la ejecución de su applet.
Incluya un archivo PhysicsLab.html que permita correr su applet.
Además de correr como applet, su trabajo debe permitir su ejecución como aplicación usando:
$make
run
o bien usando:
$ java -jar PhysicsLab.jar
En su archivo de documentación (pdf o html)
incorpore un casos de uso de la
aplicación, su correspondiente diagrama UML y ponga dos tarjetas CRC.
Ayudas
Será provista según surjan consultas de parte de ustedes.