FantasmaEvolucion.java

   1 /**
   2  * @author CARMEN ULDY SOTO SAENZ
   3  * @author CLAUDIA LILIANA MATEUS NOVA
   4  */
   5 
   6 import java.awt.Color;
   7 import java.awt.Graphics;
   8 
   9 public class FantasmaEvolucion  extends ObjetoGrafico implements Runnable{
  10     private Pinguino pinguino;
  11         private Lienzo lienzo;
  12     private Pared[] paredes;
  13         public FantasmaEvolucion (int x, int y,int a, int e, Pinguino p, Lienzo l, Pared[] pareds, Pinguino poPinguino) {
  14                 super (x, y, a ,e);
  15                 pinguino = p;
  16                 lienzo = l;
  17                 paredes = pareds;
  18         }
  19         public void paint (Graphics g){
  20                 if(visible){
  21                         g.setColor(Color.black);
  22                    //CUERPO
  23                         g.fillOval(getPosX()+(int)(getAncho()*0.5), getPosY()+(int)(getAlto()*0.5), (int)(getAncho()*1), (int)(getAlto()*1));
  24                         //MANO IZQUIERDA
  25                         g.fillArc(getPosX()+(int)(getAncho()*0.04), getPosY()+(int)(getAlto()*0.7), (int)(getAncho()*0.58),(int)(getAlto()*0.54), 2, 40);
  26                         //MANO DERECHA
  27                         g.fillArc(getPosX()+(int)(getAncho()*1.4), getPosY()+(int)(getAlto()*0.7), (int)(getAncho()*0.58), (int)(getAlto()*0.64), 145, 40);
  28                         //CACHO IZQUIERDO
  29                         g.fillArc(getPosX() + (int)(getAncho()*0.6),  getPosY() +(int)(getAlto()*0), (int)(getAncho() *0.51), (int)(getAlto() *0.64), 250, 40);
  30                         //CACHO DERECHO
  31                         g.fillArc(getPosX() + (int)(getAncho()*0.9), getPosY() + (int)(getAlto()*0), (int)(getAncho() *0.51), (int)(getAlto() *0.64), 250, 40);
  32                         
  33                    //OJO
  34                         g.setColor(Color.red);
  35                         g.fillOval(getPosX() + (int) (getAncho()*0.68), getPosY() + (int) (getAlto()*0.53), (int)(getAncho() *0.66), (int)(getAlto() *0.32));
  36                         
  37                         g.setColor(Color.white);
  38                         //CUERPO
  39                         g.fillOval(getPosX() + (int) (getAncho()*0.66), getPosY() + (int) (getAlto()*0.81), (int)(getAncho() *0.73), (int)(getAlto() *0.72));
  40                         
  41                         //OJO IZQUIERDO
  42                         g.setColor(Color.cyan);
  43                         g.fillOval(getPosX() + (int) (getAncho()*0.77), getPosY() + (int) (getAlto()*0.65), (int)(getAncho() *0.25), (int)(getAlto() *0.19));
  44                         
  45                         //OJO DERECHO
  46                         g.setColor(Color.green);
  47                         g.fillOval(getPosX() + (int) (getAncho()*1), getPosY() + (int) (getAlto()*0.66), (int)(getAncho() *0.25), (int)(getAlto() *0.18));
  48                         
  49                         g.setColor(Color.black);
  50                    //OJO IZQUIERDO
  51                         g.fillOval(getPosX() + (int) (getAncho()*0.87), getPosY() + (int) (getAlto()*0.68), (int)(getAncho() *0.17), (int)(getAlto() *0.13));
  52                         //OJO DERECHO
  53                         g.fillOval(getPosX() + (int) (getAncho()*1), getPosY() + (int) (getAlto()*0.69), (int)(getAncho() *0.15), (int)(getAlto() *0.12));
  54                         
  55                         g.setColor(Color.orange);
  56                    //OJO IZQUIERDO
  57                         g.fillOval(getPosX() + (int) (getAncho()*0.92), getPosY() + (int) (getAlto()*0.71), (int)(getAncho() *0.1), (int)(getAlto() *0.065));
  58                         //OJO DERECHO
  59                         g.fillOval(getPosX() + (int) (getAncho()*1.04), getPosY() + (int) (getAlto()*0.721), (int)(getAncho() *0.080), (int)(getAlto() *0.055));
  60                         
  61                         g.setColor(Color.black);
  62                    //PIE IZQUIERDO
  63                         g.fillOval(getPosX() + (int)(getAncho()*0.5), getPosY() + (int)(getAlto()*1.42), (int)(getAncho() *0.5), (int)(getAlto()*0.14));
  64                         // PIE DERECHO
  65                         g.fillOval(getPosX() + (int)(getAncho()*1.05), getPosY() + (int)(getAlto()*1.42), (int)(getAncho() *0.5), (int)(getAlto() *0.14));
  66                         
  67                         //NARIZ
  68                         g.setColor(Color.orange);
  69                         g.fillArc(getPosX() + (int)(getAncho()*0.76), getPosY() + (int)(getAlto()*0.8), (int)(getAncho() *0.5), (int)(getAlto() *0.35), 60, 60);
  70                 }
  71         }
  72         
  73         public void explotar(Graphics g){
  74                 g.setColor(Color.BLUE);
  75                 g.fillOval(getPosX()+(int)(getAncho()*1.2),  getPosY()+(int)(getAlto()*0.5), (int)(getAncho()*0.3),  (int)(getAlto()*0.30));            
  76     }    
  77         
  78         public void run(){
  79                 for (;;){
  80                         if (colisiona(pinguino)){
  81                                 setVisible(true);
  82                                 pinguino.setVisible(false);
  83                         }
  84                         for(int i = 0; i < paredes.length; i++){
  85                                 if(colisiona(paredes[i])){
  86                                         setVisible(true);
  87                                 }               
  88                     }
  89                         int x= getPosX();
  90                         if (pinguino.getPosX() - x > 0){
  91                                 setPosX(x + 10);
  92                         }
  93                         else{
  94                                 setPosX(x - 10);
  95                         }
  96                         int y=getPosY();
  97                         if (pinguino.getPosY() - y > 0){
  98                                 setPosY(y + 10);
  99                         }
 100                         else{
 101                                 setPosY(y - 10);
 102                         }
 103                         lienzo.repaint();
 104                         try{Thread.sleep(2000);}catch(Exception e){}
 105           }
 106    }
 107 }

CategoryJava | CategoryProgramacion


CategoryProgramacion CategoryProgramacion

Java/Programas/MazeDallcu/FantasmaEvolucion.java (last edited 2008-11-13 13:25:12 by UldySoto)