top of page

CULTURE INFORMATIQUE

Processing - Analyse de lignes de code

  • Photo du rédacteur: Miya & Max
    Miya & Max
  • 3 oct. 2018
  • 3 min de lecture

Dernière mise à jour : 28 avr. 2019


Leçon n°1 de programmation, introduction aux bases.


Processing est un environnement de développement intégré (EDI), open source et multi plateforme. Il utilise du Java simplifié.


Les fonctions void setup et void draw



Le setup est une fonction qui s'exécute une seule fois au lancement du programme. La mention void précise qu'elle ne renvoie rien au reste du programme. Les parenthèses ouvrante/fermante signifient que la fonction n'admet aucun paramètre. « Size » est une fonction prenant deux paramètres, longueur et largeur de la fenêtre d'exécution en pixels. Le point-virgule indique la fin d’une instruction. Les fonctions apparaissent en bleu.



Le draw est une fonction qui s’exécute en boucle (environ trente fois par seconde). Background est une fonction qui permet de colorer l’arrière-plan. Les couleurs sont notées en hexadécimal ou en RVB, chaque valeurs sont comprises entre 0 et 255.


Les rebonds d’une balle

int est un type de variable. Elle apparaît donc en orange. Cette commande permet de déclarer les variables x , vitesseX, y et vitesseY et de leur affecter respectivement les valeurs 50, 5, 250 et 5.


La fonction ellipse admet quatre paramètres : x, y, a et b où x est la position du centre de l'ellipse sur l'axe des abscisses, y est la position du centre de l'ellipse sur l'axe des ordonnées, a la largeur et b la longueur.

La boucle for permet d'imposer des conditions (définies entre parenthèses) à l'exécution de la commande entre accolades. Ici, il s'agit de modifier le signe de la variable vitesseX. La forme || est équivalente à un "ou". Il suffit donc qu'une des deux conditions soit remplie pour que la fonction s'exécute.

Ce sont ces lignes qui vont être à l'origine du mouvement de la balle. On incrémente respectivement aux variables x et y les valeurs correspondant à vitesseX et vitesseY. Ainsi, à chaque répétition de la fonction draw, la valeur de vitesseX s'ajoutera à celle de x (même raisonnement pour y et vitesseY), et la position x de l'ellipse sera modifiée. Afin que la balle n'échappe pas aux limites de la fenêtre d'exécution (500 pixels en longueur et en largeur), on a utilisé la boucle for. De cette façon, à chaque fois que la valeur x atteint la limite de l'écran, (x=20 ou x=490) elle est ramenée dans le sens inverse grâce au changement de signe de vitesseX.


Les tableaux d'entiers

Les tableaux (array) permettent de stocker des grandes quantités de données sous un seul nom. Ils permettent en peu de lignes de codes de faire rebondir un grand nombre de balles. La commande int [] x permet de créer un tableau de valeurs entières appelé x, comme nous le montre l'emploi des crochets. Les tableaux qui suivent sont nommés y, vitesseX et vitesseY.

La commande new définit la taille du tableau (le nombre de valeurs incluses dedans). Dans notre cas, les tableaux (de nombres entiers) possèdent tous 10 cases.

Ces lignes permettent de définir les valeurs du tableau, c’est-à-dire la valeur de chaque case des tableaux. « i » est un compteur commençant à 0 et strictement inférieur à 10 (il y a donc bien les 10 cases dans chaque tableau). « i++ » augmente la valeur de i de 1 si possible. La fonction random signifie que l’on attribue à chaque case sur lequel i passera un nombre aléatoire, mais afin que le nombre reste entier on ajoute (int) avant random pour que random ne garde que la partie entière d’un nombre. Les nombre entre parenthèses suivant le random nous informe de l’intervalle dans lequel random choisira son nombre (c'est-à-dire entre 50 et 450 pour les tableaux x et y et entre 1 et 8 pour les tableaux vitesseX et vitesseY).

Les lignes 31 et 32 dessinent les balles. En effet, la fonction ellipse dessine 10 ellipses de 20 pixels de hauteur sur 20 pixels de largeur, et les « place » aux coordonnées x[i] (largeur) et y[i] (hauteur) choisis aléatoirement par la fonction random.

Les lignes 36 et 37 font en sorte que si l’une des balles atteint la limite de la fenêtre en x (c'est-à-dire la bordure gauche ou droite de l’écran), la vitesseX change de signe et donc la balle change de direction. Une analyse analogue peut être faite des lignes 39 et 40 : si la balle atteint la bordure inférieure ou supérieure (c'est-à-dire qu’y est inférieur à 20 ou supérieur à 480) alors la vitesseY change de signe et la balle change de direction.

La ligne 44 signifie qu’à chaque fois que la fonction void draw se répète, les balles ajoutent la valeur de vitesseX à x, donc leurs coordonnées change et les balles se déplacent. Une analyse analogue est possible pour la ligne 45.

Comentarios


Lycée B.Palissy

164 Bd de la Liberté

47000 Agen

© 2018 usethfrogsluke . ecole du baguette Créé avec Wix.com

 

bottom of page