Supprimer un élément d'un tableau
très difficile boucles tests évènements Nous allons voir maintenant comment ajouter ou retirer des éléments d'un tableau. On va faire un exemple avec juste 10 flocons. À chaque fois que l'on clique sur la souris, un flocon va disparaître. La gestion des clics de souris se fait à partir des évènements et de la fonction mousePressed()
À plusieurs reprise, on aura besoin de connaître la taille du tableau. C'est une variable associée au tableau directement. Par exemple, la taille du tableau qui contient les abscisses est donnée par
abscisses.length
Au sein de la fonction mousePressed, on commence par choisir au hasard le numéro du flocon que l'on va supprimer. Pour déterminer le rang de la victime, on utilise l'appel suivant
position = random(floor(random(abscisses.length)))
La fonction floor() prend la partie entière d'un nombre. Elle est utile car la fonction random() retourne un nombre décimal. Ici, on tire donc au sort un nombre entre 0 et la taille du tableau. Ensuite, pour retirer un élèment du tableau, nous allons utiliser la fonction splice() que nous allons appliquer à l'objet tableau comme ceci
abscisses.splice(position,1);
Le premier argument de la fonction est la position à partir de laquelle nous allons supprimer un élément. Le second argument de la fonction est le nombre d'élément que nous allons supprimer. Ici, un seul.
Exemple
À faire vous même
Vous pouvez faire les activités suivantes :- tests évènements faites en sorte que lorsque l'on a un clic gauche, on supprime un flocon, mais un autre clic (droit ou centre) rajoute un flocon
- tests évènements Même chose que l'activité précédente sauf que le clic central va réinitialiser à 10 flocons aléatoires.
- difficile tests Au lieu de supprimer un flocon au hasard, faites en sorte que l'on supprime le flocon le plus proche de l'endroit où l'on a cliqué.