Pinguino.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 Pinguino extends ObjetoGrafico{
  10         private Lienzo lienzo;
  11         private PoderDePinguino[] poderDePinguino;
  12         private Thread[] hiloPoder; 
  13         private int numPod;
  14         private FantasmaEvolucion[] fantasmasEvolucion;
  15         private Fantasma[] fantasmas;
  16         private Pared[] paredes;
  17         private Comida[] comidas;
  18         public Pinguino (int x, int y, int a, int e, Lienzo l,  Pared[] pareds, Comida[] c) {
  19                 super (x, y, a, e);     
  20                 lienzo = l;
  21                 paredes = pareds;
  22                 poderDePinguino = new PoderDePinguino[1000];
  23                 hiloPoder = new Thread[10000];
  24                 numPod = 0;
  25                 comidas = c;
  26         }
  27         public void paint (Graphics g){
  28                 if(visible){
  29                         g.setColor(Color.black);
  30                         //CUERPO
  31                         g.fillOval(getPosX() + (int)(getAncho() * 0.5), getPosY() + (int)(getAlto() * 0), (int)(getAncho() * 1), (int)(getAlto() * 1));
  32                         //MANO IZQUIERDA
  33                         g.fillArc(getPosX() + (int)(getAncho() * 0.040), getPosY() + (int)(getAlto() * 0.23), (int)(getAncho() * 0.58),(int)(getAlto() * 0.64), 2, 40);
  34                         //MANO DERECHA
  35                         g.fillArc(getPosX() + (int)(getAncho() * 1.4), getPosY() + (int)(getAlto() * 0.23), (int)(getAncho() * 0.58), (int)(getAlto() * 0.64), 145, 40);
  36                         
  37                         g.setColor(Color.gray);
  38                         //CUERPO
  39                         g.fillOval(getPosX() + (int)(getAncho() * 0.55), getPosY() + (int)(getAlto() * 0.29), (int)(getAncho() * 0.91), (int)(getAlto() * 0.71));
  40                         //OJO
  41                         g.fillOval(getPosX() + (int)(getAncho() * 0.68), getPosY() + (int)(getAlto() * 0.03), (int)(getAncho() * 0.66), (int)(getAlto() * 0.32));
  42                         
  43                         g.setColor(Color.white);
  44                         //CUERPO
  45                         g.fillOval(getPosX() + (int)(getAncho() * 0.65), getPosY() + (int)(getAlto() * 0.3), (int)(getAncho() * 0.73), (int)(getAlto() * 0.72));
  46                         //OJO IZQUIERDO
  47                         g.fillOval(getPosX() + (int)(getAncho() * 0.78), getPosY() + (int)(getAlto() * 0.12), (int)(getAncho() * 0.25), (int)(getAlto() * 0.19));
  48                         //OJO DERECHO
  49                         g.fillOval(getPosX() + (int)(getAncho() * 0.99), getPosY() + (int)(getAlto() * 0.15), (int)(getAncho() * 0.25), (int)(getAlto() * 0.18));
  50                         
  51                         g.setColor(Color.black);
  52                         //OJO IZQUIERDO
  53                         g.fillOval(getPosX() + (int)(getAncho() * 0.86), getPosY() + (int)(getAlto() * 0.17), (int)(getAncho() * 0.17), (int)(getAlto() * 0.13));
  54                         //OJO DERECHO
  55                         g.fillOval(getPosX() + (int)(getAncho() * 0.99), getPosY() + (int)(getAlto() * 0.18), (int)(getAncho() * 0.15), (int)(getAlto() * 0.12));
  56                         
  57                         g.setColor(Color.gray);
  58                         //OJO IZQUIERDO
  59                         g.fillOval(getPosX() + (int)(getAncho() * 0.92), getPosY() + (int)(getAlto() * 0.20), (int)(getAncho() * 0.08), (int)(getAlto() * 0.065));
  60                         //OJO DERECHO
  61                         g.fillOval(getPosX() + (int)(getAncho() * 1.02), getPosY() + (int)(getAlto() * 0.22), (int)(getAncho() * 0.080), (int)(getAlto() * 0.055));
  62                         
  63                         g.setColor(Color.orange);
  64                         //PIE IZQUIERDO
  65                         g.fillOval(getPosX() + (int)(getAncho() * 0.5), getPosY() + (int)(getAlto() * 0.9), (int)(getAncho() * 0.5), (int)(getAlto() * 0.14));
  66                         //PIE DERECHO
  67                         g.fillOval(getPosX() + (int)(getAncho() * 1.1), getPosY() + (int)(getAlto() * 0.9),(int)(getAncho() * 0.5), (int)(getAlto() * 0.14));
  68                         //NARIZ
  69                         g.fillArc(getPosX() + (int)(getAncho() * 0.76), getPosY() + (int)(getAlto() * 0.28), (int)(getAncho() * 0.5), (int)(getAlto() * 0.35), 60, 60);
  70                 }
  71         }
  72         public void comer(){
  73                 for(int i = 0; i < comidas.length; i++){
  74                         if(colisiona(comidas[i])){
  75                                 //setVisible(false);
  76                                 comidas[i].setVisible(false);   
  77                                 //comidas[i].setPosY(1000);
  78                                 setAncho(getAncho() + 1);
  79             }           
  80             }
  81         }
  82         public void disparar(){
  83                 poderDePinguino[numPod] = new PoderDePinguino(getPosX() + (getAncho() + 10) / 2, getPosY() + 12, 10, 10, lienzo, fantasmas, paredes, fantasmasEvolucion);
  84                 poderDePinguino[numPod].setVisible(true);
  85                 lienzo.add(poderDePinguino[numPod]);
  86                 hiloPoder[numPod] = new Thread(poderDePinguino[numPod]);
  87                 hiloPoder[numPod].start();
  88                 numPod++;
  89         }
  90         public void add(Fantasma[] f) {
  91                 fantasmas = f;          
  92         }
  93         public void add(FantasmaEvolucion[] fantasmaEvolucions) {
  94                 fantasmasEvolucion = fantasmaEvolucions;                
  95         }
  96         public void add(Pared[] pa) {
  97                 paredes = pa;           
  98         }
  99         
 100 }

CategoryJava | CategoryProgramacion

Java/Programas/MazeDallcu/Pinguino.java (last edited 2008-11-13 15:20:18 by UldySoto)