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 !!