Alien.java

   1 import java.awt.Color;
   2 import java.awt.Graphics;
   3 /**
   4  * @author JUAN CARLOS VERANO  ESTRADA  UCATOLICA DE COLOMBIA.
   5  * @author FERNANDO GOMEZ CRUZ  U CATOLICA DE COLOMBIA
   6  */
   7 public class Alien extends ObjetoGrafico implements Runnable {
   8         private Lienzo lienzo;
   9     private Galaxy cañon;  
  10     private Obstaculo[]obstaculo; 
  11     private BalaAlien[] balaAlien;
  12     private int numBal;
  13     public  Alien(int x,int y,int an,int al,Galaxy ca, Lienzo l,Obstaculo[] o){
  14         super(x, y, an, al);
  15         lienzo = l;
  16         obstaculo=o;
  17         numBal = 0;
  18         cañon = ca;
  19         balaAlien = new BalaAlien[1000];
  20     }
  21         public void paint (Graphics g){ 
  22                 if(getVisible()){
  23                     //cuerpo del alien
  24                         g.setColor(Color.yellow);
  25                         g.fillOval((int)posX*1,posY*1, ancho *1, alto*1 );      
  26                         //ojo izquierdo 
  27                 g.setColor(Color.black);
  28                 g.fillOval ( posX +(int) (ancho * 0.20), (posY+(int) (alto*0.39)), (int)(ancho * 0.18),  (int)(alto * 0.15));           
  29                 //ojo derecho
  30                 g.setColor(Color.black);
  31                 g.fillOval(posX + (int)(ancho * 0.65), (posY + (int)(alto*0.39)), (int)(ancho * 0.18),  (int)(alto * 0.15));                    
  32                 //boca
  33                 g.setColor(Color.black);
  34                 g.fillRect (posX +(int) (ancho*0.30), (posY + (int) (alto * 0.69)), (int)(ancho * 0.40),  (int)(alto * 0.05));
  35                 //antenaderecha
  36                 g.setColor(Color.yellow);
  37                 g.fillRect(posX + (int)(ancho*0.65), (posY+(int)(alto*0.00)),  (int)(ancho * 0.10),  (int)(alto * 0.30));
  38                 //antena izquierda
  39                 g.setColor(Color.yellow);
  40                 g.fillRect(posX+(int)(ancho*0.25),(posY+(int)(alto*0.00)),  (int)(ancho * 0.10),  (int)(alto * 0.30));
  41                 }
  42         }
  43                   
  44     public void moverArriba(int dy){
  45         posY -=dy;
  46     }
  47     
  48         public void run() {
  49                 for(;getVisible();){                    
  50                         //int posY = getPosY();
  51                         //if(cañon.getPosY() - posX > 0){
  52                         //setPosY(posY + 5);
  53                    moverAbajo(20);
  54                    moverDerecha(5);               
  55                 if(getPosX() >700){ 
  56                          posX=0;
  57                         getPosX();
  58                         //if (getPosY()>270){
  59                                 //  posY=0;
  60                                   //getPosX();
  61                    
  62                 //}
  63                 }
  64                    else{
  65                            if (getPosY()>270){
  66                                   posY=0;
  67                                   getPosX();
  68                                    
  69                            }
  70                    
  71                 }
  72                                  
  73                         //else{
  74                 //      setPosY(posY + 5);                      
  75                         //moverDerecha(2);
  76                         //}
  77                 //if(posX > 730){
  78                         //posX = 0;
  79                 //}                             
  80                                         
  81                         if(Math.random() * 100 < 20){
  82                                 if(cañon.getVisible()){         
  83                                 balaAlien[numBal] = new BalaAlien(getPosX(), getPosY(), 9, 9, lienzo,cañon,obstaculo);                          
  84                                 balaAlien[numBal].setVisible(true);                                     
  85                                 lienzo.add(balaAlien[numBal]);                                  
  86                                 Thread hilo = new Thread(balaAlien[numBal]);
  87                                 hilo.start();
  88                                 numBal++;
  89                         
  90                         
  91                 lienzo.repaint();
  92                         }
  93                         }
  94                 try{Thread.sleep(900);}catch (Exception e){}
  95            }    
  96         }
  97 }
  98 
  99 

CategoryJava | CategoryProgramacion

Java/Programas/Galaxy2/Alien.java (last edited 2008-11-13 10:32:26 by FernandoGomezCruz)