sábado, 2 de abril de 2016

Propiedades y métodos de los personajes 3

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;  
    float tam =  10;
  
    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);
      tam = (tam *1.008);
      y = y-n;    
       if (y < 0) {   
           y = height+n;    
           tam = 10;  
      }                  
     ellipse(x, y, int(tam), int(tam));
   }
}

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


//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
    float tam =  10; //En tamaño se guardará el valor actual del tamaño de la burbuja
                   //el primer valor del tamaño será 10; 

 
    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);
      tam = (tam *1.008); // esto es para que la burbuja cada vez sea un poco más grande
      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 tomtam = 10; e el valor del alto de la ventana
                                    //para que la Burbuja vuelva a comenzar su reccorrido hacia arriba
          tam = 10; //si estamos en la parte inferior de la ventana hay que poner el nuevo tamaño de la burbuja

      }                 
     ellipse(x, y, int(tam), int(tam));; // los valores x e y tomarán el valor que se haya cargado en las propiedades x e y
                                             // El tamño será el valor entero del tam(que es un número con decimales)
   }
}

//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