el chirola

Páginas: 5 (1241 palabras) Publicado: 9 de noviembre de 2013
Tecnicatura Superior en Informática
Universidad Nacional de General Sarmiento

Trabajo Práctico:
El ataque de los asteriodes

PROGRAMACION I

Alumnos:
Vargas, Rodolfo Bryan
bryanprsvar@gmail.com
Choque, Alvaro
choquealvaro@gmail.com

Las clases que se utilizaron para realizar el videojuego “El ataque de los asteroideos” están representadas en
los siguientes diagramas:

CLASE :Juego
Atributos:
Entorno entorno;
Image background;
CannonShooter cannom; //cañon de disparo
Asteroide newBala;
Tablero grillaAsteroides;
static SCore score;
boolean juegoTerminado;
static Color[] colores = //cuatro colores para los asteriodes
{ Color.green, Color.yellow, Color.blue, Color.red};
boolean readyToFire,disparo = false; // controla que disparo no sea null
private int ancho,alto; //dimenciones de la pantalla
private int filas, columnas; //filas y columnas del tablero

CONSTRUCTOR:
Juego()
METODO:
public void tick ()
La clase JUEGO contiene el entorno y todos los componentes del juego (los autos, el kit de
reparación, las minas y las imágenes).
En el constructor se inicializan el entorno (la interface gráfica), los autos, las minas y el kit de
reparación yel tiempo de inicio. También, se cargan las imágenes.
El método Tick() actualiza el estado interno del juego, para simular el paso del tiempo. Este
método realiza 5 tareas:
1ro. La interacción del usuario, es decir, verifica si el usuario presiono alguna tecla y actúa en
consecuencia.
2do. Actualiza el estado interno de los autos.
3ro. Controla las colisiones. Verifica si los asteroidescolisionaron entre sí.
4to. Dibuja los componentes del juego. Dibuja el Frame, cañón, la grilla de asteroides, el disparo y
el score.
5to. Verifica el estado del juego.
CLASE: CannonShooter
La clase CANNONSHOOTER y sus métodos fueron desarrollados para dar movimiento al cañón ya
que mediante estas puede girar a la izquierda, a la derecha.
El constructor CannonShooter(double x, double y): Inicialos valores de posición del cañon.
 public void dibujar(Entorno ent): Dibuja el vehículo en una posición, ángulo y escala.
Atributos:
private VectorCartesiano posicion; // actualiza posicion del tablero de juego
private VectorPolar direccion; //actualiza direcio que toma el asteroide
static double anguloGiro = 0.01;
private int potencia;
Color color;

Asteroide carga;
Image shooter;private boolean ocupado;

METODOS:
+estaOcupado(): boolean // Verifica si el cañón esta cargado
+ocuparCannon() //actualiza el cañón si es cargado
+desocuparCannon() //actualiza el cañón si se descarga
+ rotarDerecha() //rotación del cañon
+ rotarIzquierda() //rotación del cañon

CLASE: Asteroide
Permite generar asteroides tanto para la munición del cañón como para generar la grilla deasteroides, además de comportamientos necesarios para el juego como cargar el cañón, disparo
entre otros.
Atributos:
private Movimiento mov;
static double DIAMETRO = 50;
private boolean disparando;
private boolean vive;
Color color;
int xa 1;
int ya = 1;
static double VELOCIDADDISPARO = 15;
private CannonShooter cannom;
METODOS:
+generarColor()//genera color aleatoriamente para losasteroides
+disparar(CannonShooter cannom)//carga en el cañón y dispara
+ MoverDisparo(Entorno ent) // genera movimiento y controla que este dentro de la ventana
+ colision(Asteroide unAsteroide)// monitorea las colisiones
+ huboColision(Asteroide b): boolean /

CLASE: Tablero
Esta clase se encarga de no solo generar un tablero de juego, sino también de actualizar el
comportamiento deltablero por cada disparo del cañón
Atributos:
private Asteroide[][] matrizBurbujas;
Image imagen;
private int potencia;
static int TABLERO_SIZE = 430;
METODOS:
+ colisionar(Asteroide unAst)//Guarda las coordenadas de los asteroides adyacentes al
colisionado
+ puntoValido(Point puntoAst): boolean// controla que las coordenadas estén dentro del tablero
+ colisionarAsteroides(Asteroide unAst,...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS