====== Billes qui rebondissent ======
On reprend le code final de la [[nsi:langages:processing:bille_qui_rebondit|bille qui rebondit]].
On voudrait générer un certain nombre de billes aléatoirement sur la fenêtre et les laisser rebondir. Nous allons devoir utiliser un tableau ([[https://processing.org/reference/Array.html|Array]]) et la fonction ''random''.
===== Initialisation =====
On choisit un nombre ''N'' de billes, par exemple ''N = 100''.
On initialise le tableau en indiquant que l'on réserve la place mémoire pour un tableau contenant ''N'' items de type ''Bille''.
final int N = 100;
Bille[] billes = new Bille[N];
===== setup =====
On veut initialiser les billes au hasard. Par exemple, ''x0'' entre ''0'' et ''600'', ''y0'' entre ''0'' et ''200'' et ''d0'' entre ''2'' et ''22''. Il faut le faire pour les ''N'' billes.
void setup() {
size(600, 400);
for (int i=0; i
===== rafraîchissement =====
Une simple boucle qui parcourt les billes du tableau et qui demande ''update'' et ''display'' pour chacune.
void draw() {
background(250); // en niveau de gris
for (int i=0; i
===== Code complet =====
final int N = 100;
final float g = 0.05;
final float r = 0.8;
Bille[] billes = new Bille[N];
void setup() {
size(600, 400);
for (int i=0; i height) {
// rebond
float depassement = y - height;
y = height- r*depassement;
vy = -r*vy;
}
}
void display() {
circle(x, y, d);
}
}