AREASTEROIDS La idea original fue basada en el antiguo juego tipo arcade Asteroids de Atari. El objetivo del juego es aprender a calcular el área de las figuras geométricas básicas mediante este software libre con licencia GNU-GPL, el cual puede correr virtualmente sobre cualquier plataforma y/o sistema operativo puesto que solo necesita un navegador que soporte applets de Java. PROGRAMACIÓN Es el arte/técnica de hacer que una computadora funcione para un propósito específico. Es arte en la medida en que cada programador le da su toque personal a los programas que desarrolla. Es técnica en la medida en que se utilicen conocimientos científicos para desarrollar los programas, por ejemplo: los algoritmos o las estructuras de datos. La programación suele confundirse con la Ingeniería de Software, pero se diferencian en que esta última utiliza procesos controlados para hacer el desarrollo de aplicaciones grandes. PROGRAMACIÓN ORIENTADA A OBJETOS Es escribir un programa de manera tal que su forma se asemeje a la descripción de los objetos del mundo real. Para cada abstracción de cada objeto lo que puntualmente se busca describir es: su estado (es decir, propiedades o datos) y su comportamiento (es decir, procedimientos o métodos). La POO se vale de las siguientes características principalmente, a saber: la abstracción (la clase en sí misma), el encapsulamiento (para protección de los datos), la herencia y el polimorfismo. PROGRAMACIÓN DE VENTANAS (WINDOWS) Es el modelo de programación diseñado para hacer programas que funcionen en los entornos gráficos de los sistemas operativos. Ejemplos de éstos entornos: Windows 98, XP, 2000 o el XWindow System (Motif) de los Unix. Recordemos que anteriormente no existían dichos entornos sino que para interactuar con los programas se debían digitar comandos en consolas teletipos, tales como las consolas DOS ó las terminales tty (teletype) de los sistemas Unix. En los entornos gráficos podemos distinguir elementos (componentes) comunes tales como: ventanas, scroll bars, botones, menúes, el cursor (mouse), etc. Para entender el funcionamiento de la programación de ventanas es fundamental saber la manera en que opera el Event Dispatch Thread (o Hilo Despachador de Eventos). Dicho hilo realmente es un ciclo encargado de encolar los eventos que ocurren en el entorno de ventanas para luego determinar que se hace con dichos eventos. Tales eventos pueden ser: clic sobre un botón, tecla presionada, etc., los cuales a menudo disparan otros eventos cuando son procesados por el EDT. Por ejemplo, el evento “botón presionado” puede disparar el evento “acción realizada”. En el lenguaje de programación Java existen varios paquetes para desarrollar aplicaciones de ventanas, a saber, aquellos cuya denominación empieza por java.awt.*. (Abstract Window Toolkit) o por javax.swing.* (desarrollado para tener en el mayor grado posible, la misma funcionalidad en todas las plataformas). PROGRAMACIÓN GRÁFICA JAVA 2D El Java 2D API es un conjunto de clases para el desarrollo de gráficos bidimensionales avanzados y procesamiento de imágenes. Dichas clases son proveídas por Sun Microsystems como adiciones a los paquetes java.awt y java.awt.image. Con Java 2D podemos dibujar gráficos, texto e imágenes; hacer renderizado, dibujar figuras geométricas, etc. Una de las clases más importantes para el desarrollo de gráficos en las aplicaciones windows es la clase java.awt.Graphics2D; la cual es el contexto gráfico que me permite dibujar una figura, una imagen o un texto; rellenar una figura; rotar, trasladar o escalar el contexto gráfico, etc. APPLETS DE JAVA Un applet es una aplicación pequeña escrita en Java que se ejecuta en un navegador. Los applets tienen 4 métodos de control fundamentales: init(), start(), stop(), destroy(). Los applets manejan todos los conceptos de la programación de ventanas, pues están contenidos en una ventana de entorno gráfico real. Para construir un applet es necesario conocer la programación windows. ANIMACIÓN Es un gráfico que se mueve en un intervalo imperceptible de tiempo. Para hacer animaciones en un applet deben combinarse: La programación windows, la programación gráfica Java 2D y la programación de hilos para el manejo de un hilo adicional que hace las veces de timer, el cual se encarga de disparar un evento periódicamente. A grosso modo se trata del proceso siguiente: Iniciar un timer, capturar el evento del timer, limpiar el componente que tiene dibujadas las figuras, mover las figuras y dibujar las figuras en el componente. Todo esto debe hacerse en un período del timer, por lo tanto, es necesario que todos los cálculos de movimiento de las figuras sean muy óptimos y muy livianos. Breve descripción de las clases. (Con el diagrama de clases) Muestra del código. Documentación del programa. Ejecución. Cálculos al vuelo. (Método detect() del radar) Modelo de construcción (RUP): Utilice arquitectura de componentes: “Entre más compleja la construcción, más importante la arquitectura.” – “Cuanto más quiera usted que la construcción sea útil, más esfuerzo y más inversión debe hacer en la arquitectura.” – “Construya cada pieza del software como si estuviera moldeando materia prima para ello.” Haga modelos visuales.