Processing

Observa el siguiente programa y su funcionamiento.

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

//DECLARACIONES

int x=250;

int y=250;

int radio;

// La siguiente parte del programa se ejecuta una sola vez.

void setup(){

size(500,500);//tamaño de la ventana gráfica

}

//La siguiente parte del programa se ejecuta una y otra vez sin parar

void draw(){

background(255);

radio++;

ellipse(x,y,radio,radio);

if(radio ==400){

radio =0;

}

}

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

1. Haz un programa que haga que una bola atraviese la ventana moviéndose de izquierda a derecha, y al llegar al final vuelva a aparecer por la izquierda.

2. En lugar de sumarle 1 cada vez a la x súmale una variable velx. Al llegar al final velx cambiará de signo y la bola se moverá hacia la izquierda. Haz que rebote también a la izquierda.

3. Haz una bola que se mueva en diagonal rebotando en los bordes. Después dibuja una raqueta que se mueva verticalmente con el teclado en un extremo de manera que la bola rebote en ella. Para la lectura del teclado utiliza el siguiente enlace

4. Haz una bola que se mueva verticalmente hacia abajo, de manera que su velocidad (vely) aumente en cada ciclo una determinada cantidad (acel) lo que simularía la aceleración. Al llegar al borde inferior, la velocidad cambiaría de signo.

5. Sitúa una bola en el centro inmóvil, y otra que se mueva con una determinada velocidad en cualquier dirección empezando a una cierta distancia de la primera. Haz que la bola móvil varíe su velocidad con una aceleración inversamente proporcional al cuadrado de la distancia de la primera, tal como ocurre con la gravedad. Modifica los parámetros de manera que la bola no salga de la pantalla gráfica. Una vez que funcione, haz que la primera bola también se vea afectada por la gravedad de la segunda, pero con una fuerza menor. Haz que en lugar de ser bolas sean puntos y el programa dibuje las trayectorias.

6. Utilizando arrays dibuja una serpiente formada por diez bolas que se muevan hacia la derecha. Cada bola será un elemento del array. La primera bola avanza, y pasa su posición a la de la siguiente. Haz lo mismo con una línea utilizando la funcion point. Controla el movimiento de la serpiente con el teclado

7. Utiliza arrays y for para programar un space invaders.

Lee el siguiente texto sobre funciones www.mywonderland.es/curso_js/processing/pro_fun.html

Antes de seguir tengo que explicarte qué es la programación orientada a objeto

Observa el siguiente ejemplo sobre programación orientada a objetos. Lee la siguiente referencia sobre mouseClicked() y las que aparecen abajo sobre mouseX y mouseY. También la referencia sobre ArrayList

8. Analiza el siguiente ejemplo, y modifica el spaceinvaders para hacerlo mediante objetos

9. Analiza el siguiente ejemplo. Haz un programa que al pulsar con el ratón en un punto haga salir una bola de un color aleatorio que caiga por gravedad y rebote en el suelo y las paredes. El programa hará salir muchas bolas que irán botando a la vez según se pulse el botón del ratón. Las bolas no rebotarán entre sí.