Nous avons déjà créé une première variable pour la taille des yeux de Winston.
Cela nous permet de changer la taille de ses yeux très facilement maintenant.
Avant, on devait changer le même nombre quatre fois pour faire ça !
Peut-on utiliser les variables même si les nombres ne sont pas tous les mêmes ?
Que dois-je faire pour changer sa position un petit peu ?
Il faudrait modifier toutes les coordonnée X mais elles n'ont pas toutes la même valeur !
Bon. Une fois que je défini une variable qui contient une valeur...
je peut l'utiliser partout pour remplacer ce nombre.
Je peux donc l'utiliser aussi dans des expressions pour faire des calculs.
Bon. Comment ça marche ? Créons une variable pour la coordonnée X.
on écrit "var x"
C'est simple. OK. Elle doit contenir la coordonnée X du visage.
Le visage est dessiné à la coordonnée X qui vaut 200.
Donc on indique que "x contient 200"
Maintenant, je peux remplacer ce nombre par ma variable "x".
Et quand je change sa valeur, cela bouge son visage.
Par contre, ça ne bouge ni ses yeux, ni sa bouche.
Pour faire ça, on va calculer la position de ses yeux et de sa bouche...
... RELATIVEMENT à la position du visage.
La coordonnée X de chaque ellipse correspond à son centre. Pour le visage...
... c'est 200. Commençons par son oeil gauche. Cette ligne avec l'ellipse est celle de l'oeil gauche, positionnée à 150.
Donc... par là... c'est 150.
Et je sais que 150, c'est 200 moins 50.
Donc la position de l'oeil gauche est celle du visage MOINS 50.
Donc, c'est "x" (la position du visage) moins 50.
Et maintenant, si je change la valeur de "x", l'oeil se déplace avec le visage.
Faisons l'autre oeil.
Son oeil droit est dessiné à... 300. Donc... par là... c'est 300.
Et 300, c'est 200 plus 100.
Donc la position de l'oeil droit est celle du visage PLUS 100.
C'est : "x + 100"
Passons maintenant à la bouche. Elle est dessinée à 250.
C'est par là... c'est 250. Et 250, c'est 200 plus 50.
Donc sa position est celle du visage PLUS 50.
Bon... maintenant... Si je change la valeur de "x", cela bouge tout le visage !
Bon avant de terminer, on va voir d'autres utilisations des variables.
Une fois que vous avez créé une variable avec "var x"...
vous pouvez changer sa valeur tant que vous voulez.
Donc, après avoir indiqué que x contient 198, je peux dire que x contient 300 ou... x contient 150.
Pour l'ordinateur, x contiendra la dernière valeur qu'on lui a indiqué.
Ici, c'est 150.
Mais vous n'avez à écrire "var" qu'une seule fois.
Si, ici, j'écris "var x=150;" j'indique que je veux une toute nouvelle variable appelée "x".
Et du coup, cela détruit complètement la précédente variable "x".
L'ordinateur utilisera ensuite la nouvelle variable "x".
La plupart du temps, vous pourrez le faire sans problèmes... Mais vraiment, il faut éviter.
Ici, je vais donc le faire qu'une fois. "var x=150;"
Et je vais ranger Winston en dehors de l'écran... pour vous parler du point suivant...
Dès que vous avez une variable égale à quelque chose on a la variable placée au bon endroit.
En mettant la variable à gauche, on indique que l'on veut lui affecter une valeur.
Placée à cet endroit, l'ordinateur va chercher à modifier sa valeur.
Partout ailleurs, l'ordinateur va l'interpréter comme étant une "valeur".
Même si on fait quelque chose comme "x contient 10" ("var x=10;")
Puis... x contient x ( "x=x;" ) Wouhou... c'est bizarre !
Et bien, à gauche, on a notre VARIABLE qui peut avoir une valeur qui peut changer !
Mais à droite, on a... seulement 10 !
Avec ça, on peut faire des choses comme...
J'écris... x contient "x+1".
Donc à gauche, j'ai bien ma variable à sa place. et à droite, j'ai cette variable qui a une valeur...
qui est simplement 10.
Donc, on peut remplacer ça par : x contient 10 +1
c'est à dire : x contient 11.
Donc cette ligne veut juste indiquer "x contient 11" donc maintenant, on a "x" qui vaut 11.
Voyons ce qu'il se passe si on utilise une autre variable.
On écrit : "var x contient 10"
et : "var y contient 20"
puis : "x contient y"
et : "y contient 7"
OK. Et je veux savoir ce que vaut "x" à la fin ?
Bon. Regardons ça de près.
Bon. Ici, on crée une nouvelle variable "x" qui vaut 10.
Donc la valeur de x est 10.
Ici, on crée une nouvelle variable "y" qui vaut 20.
Comme on n'a pas touché à "x", "x" vaut toujours 10.
Maintenant, ici, on indique que "x contient y" ! Bon... qu'est-ce que ça fait ?
On sait qu'il y a une variable du bon côté...
et que de l'autre côté, on a une variable qui est interprétée comme une valeur.
Donc on peut remplacer le "y" par sa valeur : c'est 20 !
Donc on a maintenant "x contient 20". Et la valeur de "x" est maintenant... 20.
Maintenant, ici, on a "y" du bon côté... mais c'est plus simple car...
... de l'autre on a une valeur.
J'ai une question, ici : quand je change la valeur de "y"... ici, est-ce que cela change la valeur de "x"... ici ?
La réponse est... Non. Non, non, non et non.
Souvenez-vous que... ici, "y" est seulement interprété comme un nombre.
L'ordinateur va complètement ignorer que c'est une variable...
et il va juste se dire : "oh ! y, vous vouliez dire 20".
Donc, ici, on affecte à x seulement un nombre... pas une autre variable. Seulement la valeur 20.
Et donc, à la fin, la valeur de "x" reste à 20. Même après avoir changer la valeur de "y".
Hou ! Compris ? Et bien vous êtes experts sur les variables maintenant ! Bravo !!