sábado, 2 de abril de 2016

Propiedades y métodos de los personajes 2

Burbuja burbujas = new Burbuja(125, 175, 231);


void setup() {
    size(300, 400);                    
}
void draw(){
    background (255, 204, 0);  
    burbujas.mostrar();
}

class Burbuja {
    float x;
    float y;
    color c;
    int n =  2;  
 
    Burbuja(float burbuja_x, float burbuja_y, color burbuja_c) {
        x = burbuja_x;
       y = burbuja_y;
       c = burbuja_c;
    }  
 
   void mostrar(){ 
      fill(c);  
      stroke(0, 0, 0);
      y = y-n;    
       if (y < 0) {          y = height+n;   
    }                  
      ellipse(x, y, 75, 75);
   }
}

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 


//Este programa dibuja una burbuja que asciende verticalmente por la ventana
//el programa de movimiento del personaje hay que programarlo en la clase del personaje.


Burbuja burbujas = new Burbuja(125, 175, 231);
//invoco al perosnaje/objeto Burbuja con las propiedades
//x = 125, y = 175, y color 231


void setup() {
    size(300, 400);                    
}
void draw(){
    background (255, 204, 0);  
    burbujas.mostrar();
    //Creo un clon del personaje Burbuja
    //que se ha invocado al principio del programa
}

class Burbuja {//clase u objeto ó personaje Bubrbuja
    //Declaramos la clase 'Burbuja' con tres propiedades

    float x;
    float y;
    color c;
    int n =  2;   // es el factor velocidad de subida de la burbuja
 
    Burbuja(float burbuja_x, float burbuja_y, color burbuja_c) {
       //Creamos un constructor con el mismo nombre de la clase y le pasamos sus parámetros/propiedades
       //esto hace que las propiedades (x, y, c) tomen sus valores para el personaje nuevo que se va a invocar

       x = burbuja_x;
       y = burbuja_y;
       c = burbuja_c;
    }  
 
   void mostrar(){   //método que muestra la burbuja
      fill(c);    //el color tomará el valor de la propiedad c
      stroke(0, 0, 0);
      y = y-n;     //cada vez que se dibuja llamado desde el bloque draw, y tomará un valor diferente
                   //que cada vez será más pequeño decrementándose en el valor de n
       if (y < 0) {     //si y es menor que cero
      y = height+n;     //hay que hacer qye y tome el valor del alto de la ventana
    }                   //para que la Burbuja vuelva a comenzar su reccorrido hacia arriba
      ellipse(x, y, 75, 75); //los valores x e y tomarán el valor que se haya cargado en las propiedades x e y
   }
}

//los comados en el bloque de configuración setup() se ejecutan una sóla vez.
//los comados en el bloque draw() se repiten durante todo el programa (están dentro de un bloque repetir siempre de scratch)



(C) Fernando Morán
IES Antonio Machado
Alcalá de Henares
Marzo 2016