1 00:00:00,000 --> 00:00:02,246 On est de retour avec Winston. 2 00:00:02,417 --> 00:00:05,743 Nous avons à présent une variable X et une Y pour 3 00:00:05,801 --> 00:00:07,257 la position de Winston. 4 00:00:07,397 --> 00:00:09,240 Donc nous pouvons bouger sur les côtés 5 00:00:10,075 --> 00:00:11,741 en haut et en bas, woo! 6 00:00:12,088 --> 00:00:13,328 Vraiment bien. 7 00:00:13,680 --> 00:00:15,866 Maintenant, réinitialisons ces variables 8 00:00:16,057 --> 00:00:19,227 avec 200 et 200 9 00:00:19,315 --> 00:00:21,995 et voyons comment fonctionne ce programme. 10 00:00:22,553 --> 00:00:25,763 Alors commençons ici, nous avons la variable eyeSize. 11 00:00:25,763 --> 00:00:27,813 C'est utilisé pour contrôler le dimension des yeux, 12 00:00:27,815 --> 00:00:29,766 parce que les yeux ont tous une largeur de 40 pixels 13 00:00:29,766 --> 00:00:32,426 et une hauteur de 40 pixels. 14 00:00:32,470 --> 00:00:35,437 Et puis nous avons les variables X et Y, 15 00:00:35,437 --> 00:00:39,127 et elles définissent le centre du visage. 16 00:00:39,843 --> 00:00:41,113 Et vous les voyez utilisés 17 00:00:41,113 --> 00:00:42,729 dans cette commande ellipse ici, 18 00:00:42,729 --> 00:00:44,579 qui dessine ce grand cercle jaune. 19 00:00:45,921 --> 00:00:47,422 Et ici en bas, 20 00:00:47,422 --> 00:00:48,617 pour les yeux, 21 00:00:48,617 --> 00:00:50,427 le X et le Y sont aussi utilisés. 22 00:00:50,731 --> 00:00:51,951 Et ici, 23 00:00:52,009 --> 00:00:53,669 les yeux sont positionnés 24 00:00:54,048 --> 00:00:55,778 relativement au centre du visage. 25 00:00:55,787 --> 00:00:57,877 Donc peut-être que celui-ci est 26 00:00:58,026 --> 00:00:58,996 à 50 pixels 27 00:00:59,293 --> 00:01:00,933 du gauche du centre 28 00:01:01,528 --> 00:01:03,428 et celui-ci est à 100 pixels 29 00:01:03,455 --> 00:01:05,005 de la droite du centre. 30 00:01:05,149 --> 00:01:07,829 OK. Pas mal 31 00:01:07,865 --> 00:01:09,365 et c'est pourquoi nous pouvons 32 00:01:09,395 --> 00:01:11,195 bouger Winston de haut en bas. 33 00:01:11,236 --> 00:01:13,192 Maintenant, je veux pouvoir contrôler 34 00:01:13,212 --> 00:01:15,202 plus de chose sur le visage de Winston 35 00:01:15,202 --> 00:01:16,662 avec des variables 36 00:01:16,662 --> 00:01:17,912 donc je veux comprendre 37 00:01:17,912 --> 00:01:19,339 ce que nous pouvons, dans ce programme, 38 00:01:19,339 --> 00:01:20,669 enregistrer en tant que variables 39 00:01:20,669 --> 00:01:21,449 pour ce faire 40 00:01:21,449 --> 00:01:22,638 je vais passer en revu 41 00:01:22,638 --> 00:01:23,608 chaque ligne de code 42 00:01:23,622 --> 00:01:25,122 et regarder celle que l'on appelle 43 00:01:25,157 --> 00:01:27,447 des nombres codés en dur 44 00:01:27,658 --> 00:01:29,308 et ces nombres qui sont 45 00:01:29,388 --> 00:01:30,648 juste des nombres littéraires 46 00:01:30,723 --> 00:01:33,413 non des variables ou dépendant de variables 47 00:01:34,277 --> 00:01:35,377 donc commençons par ici 48 00:01:35,432 --> 00:01:37,002 dans cette première ellipse 49 00:01:37,832 --> 00:01:39,222 nous avons 300 et 300 50 00:01:39,262 --> 00:01:41,062 pour la largeur et la hauteur 51 00:01:41,584 --> 00:01:43,794 ce sont des nombres littéraires 52 00:01:43,794 --> 00:01:45,114 donc faisons une variable 53 00:01:45,114 --> 00:01:46,214 pour ceux-ci. 54 00:01:46,214 --> 00:01:47,754 Appelons la faceSize 55 00:01:48,791 --> 00:01:50,291 et enregistrons 300 56 00:01:50,291 --> 00:01:53,201 maintenant nous avons juste à écrire faceSize, 57 00:01:53,709 --> 00:01:55,259 faceSize 58 00:01:55,514 --> 00:01:56,794 OK ? Alors continuons 59 00:01:56,868 --> 00:01:58,108 et oublions les couleurs 60 00:01:58,156 --> 00:02:00,076 maintenant les commandes d'ellipse sont 61 00:02:00,104 --> 00:02:01,504 à la fois des variables ou 62 00:02:01,544 --> 00:02:02,704 dépendant de variables 63 00:02:02,726 --> 00:02:03,896 donc je vais les laisser 64 00:02:03,896 --> 00:02:04,846 comme ceci pour l'instant 65 00:02:04,859 --> 00:02:06,729 et prenons la commande de la bouche 66 00:02:07,419 --> 00:02:09,339 qui est dépendante de X et Y 67 00:02:09,339 --> 00:02:10,369 mais qui sont 68 00:02:10,417 --> 00:02:11,947 juste des nombres littéraires 69 00:02:12,899 --> 00:02:14,669 150 et 150 70 00:02:14,799 --> 00:02:16,139 disons donc 71 00:02:16,223 --> 00:02:18,953 mouthSize, c'est un bon nom, 72 00:02:19,026 --> 00:02:20,476 égale 150 73 00:02:22,464 --> 00:02:25,264 on va remplacer ça par mouthSize 74 00:02:25,301 --> 00:02:27,481 et mouthSize 75 00:02:27,556 --> 00:02:28,816 Ok, donc maintenant 76 00:02:28,861 --> 00:02:30,751 nous avons les dimensions des formes 77 00:02:30,825 --> 00:02:32,725 enregistrés comme des variables tout en haut, 78 00:02:32,773 --> 00:02:34,543 ce qui veut dire qu'il est très simple 79 00:02:34,543 --> 00:02:36,093 pour nous de changer les dimensions 80 00:02:36,103 --> 00:02:36,933 comme ça, ou comme ça, 81 00:02:36,933 --> 00:02:39,163 Wooooo Winston à faim ! 82 00:02:39,257 --> 00:02:41,157 et peut-être maintenant, comme ceci, 83 00:02:41,157 --> 00:02:42,747 Winston avait faim et 84 00:02:42,761 --> 00:02:44,291 il a mangé beaucoup de Donuts 85 00:02:44,291 --> 00:02:45,931 et ensuite il devient super gros 86 00:02:45,962 --> 00:02:47,532 Ok bon, 87 00:02:47,542 --> 00:02:48,982 il y a quelque chose 88 00:02:49,037 --> 00:02:51,347 que je n'aime pas à propos du programme pour l'instant 89 00:02:51,863 --> 00:02:59,303 donc si je transforme le visage en tout petit 90 00:02:59,404 --> 00:03:01,064 cela commence à être drôle 91 00:03:01,076 --> 00:03:03,006 parce que les yeux et la bouche 92 00:03:03,017 --> 00:03:04,667 sortent du visage 93 00:03:04,667 --> 00:03:06,717 et à un certain point cela ne semble 94 00:03:06,717 --> 00:03:07,887 même plus être relié 95 00:03:07,887 --> 00:03:08,667 au visage 96 00:03:08,667 --> 00:03:10,707 ou n'est-ce plus un visage du tout ? 97 00:03:11,629 --> 00:03:13,959 Bon alors ce qu'il s'est réellement passé 98 00:03:13,959 --> 00:03:16,309 c'est que lorsque je change faceSize 99 00:03:16,309 --> 00:03:18,299 je veux que les yeux et la bouche 100 00:03:18,354 --> 00:03:21,584 Je veux que leur dimensions changent également, 101 00:03:21,584 --> 00:03:23,994 donc si je change faceSize jusqu'à la moitié 102 00:03:24,144 --> 00:03:27,454 je veux que la bouche soit aussi diminué de moitié 103 00:03:27,454 --> 00:03:29,044 ce qui veut dire 104 00:03:29,519 --> 00:03:32,589 que je veux calculer mouthSize et eyeSize 105 00:03:32,589 --> 00:03:35,929 comme des fractions de faceSize 106 00:03:36,690 --> 00:03:39,790 OK réinitialisons les variables 107 00:03:39,790 --> 00:03:42,060 et je vais vous montrer ce à quoi je pense. 108 00:03:42,061 --> 00:03:44,221 Je commence par mouthSize 109 00:03:44,221 --> 00:03:45,141 donc maintenant 110 00:03:45,172 --> 00:03:49,512 faceSize est égale à 300 et mouthSize est égale à 150 111 00:03:50,187 --> 00:03:51,727 donc si l'on réfléchis 112 00:03:51,727 --> 00:03:53,007 ils sont relatifs l'un à l'autre 113 00:03:53,007 --> 00:03:55,907 disons que faceSize est deux fois plus grand 114 00:03:55,907 --> 00:03:57,577 que mouthSize 115 00:03:57,577 --> 00:04:00,137 ou que mouthSize est deux fois plus petit 116 00:04:00,137 --> 00:04:01,357 que faceSize 117 00:04:01,432 --> 00:04:03,872 et on peut écrire ce code comme ceci 118 00:04:04,063 --> 00:04:08,063 une fois et demi faceSize 119 00:04:08,133 --> 00:04:09,703 OK donc cette ligne de code dit 120 00:04:09,703 --> 00:04:11,873 que l'on veut prendre la valeur de faceSize 121 00:04:11,873 --> 00:04:13,113 la multiplier par sa moitié 122 00:04:13,113 --> 00:04:15,393 et enregistrer ceci dans mouthSize 123 00:04:15,674 --> 00:04:17,494 comme ça nous pourrons changer ceci 124 00:04:18,030 --> 00:04:20,260 qui interprètera ce qu'est la moitié 125 00:04:20,273 --> 00:04:22,353 et deviendra mouthSize 126 00:04:22,353 --> 00:04:24,073 parfait ! Voilà ce que nous voulons 127 00:04:24,848 --> 00:04:26,948 Maintenant eyeSize 128 00:04:27,268 --> 00:04:28,908 donc faceSize est égale à 300 129 00:04:29,168 --> 00:04:31,039 et eyeSize est égale à 40 130 00:04:31,039 --> 00:04:33,219 donc nous avons besoins 131 00:04:33,219 --> 00:04:36,639 40 divisé par 300 de faceSize 132 00:04:36,639 --> 00:04:39,459 ce qui donne 133 00:04:39,459 --> 00:04:41,138 4 sur 30 que nous pouvons 134 00:04:41,138 --> 00:04:43,768 simplifier par 2 sur 15 135 00:04:44,295 --> 00:04:45,605 donc disons que 136 00:04:45,609 --> 00:04:49,609 2 sur 15 fois faceSize 137 00:04:50,111 --> 00:04:50,911 (par ailleurs 138 00:04:50,949 --> 00:04:52,459 si vous êtes débutants avec les fractions 139 00:04:52,459 --> 00:04:54,279 et que les maths vous semblent compliqués 140 00:04:54,352 --> 00:04:56,422 vous pouvez apprendre d'avantages sur les fractions 141 00:04:56,422 --> 00:04:57,562 sur Khan Academy 142 00:04:57,562 --> 00:04:59,562 et revenir à ce chapitre lorsque 143 00:04:59,562 --> 00:05:00,442 vous vous sentirez prêts) 144 00:05:00,442 --> 00:05:01,912 revenons à nos moutons 145 00:05:02,752 --> 00:05:03,532 OK 146 00:05:03,532 --> 00:05:06,442 donc réduisons le visage à nouveau 147 00:05:06,925 --> 00:05:08,155 Haha! Regardez ! 148 00:05:08,155 --> 00:05:10,015 La bouche et les yeux se redimensionnent 149 00:05:10,015 --> 00:05:11,655 proportionnellement au visage 150 00:05:11,975 --> 00:05:13,495 mais vous remarquerez probablement 151 00:05:13,495 --> 00:05:14,875 quelque chose qui cloche 152 00:05:14,875 --> 00:05:16,565 les yeux et la bouche 153 00:05:16,572 --> 00:05:19,162 s'écartent toujours du visage 154 00:05:19,162 --> 00:05:20,502 même s'ils sont 155 00:05:20,502 --> 00:05:22,612 bien plus proportionnels. 156 00:05:23,206 --> 00:05:24,906 C'est parce que nous avons toujours 157 00:05:24,906 --> 00:05:26,626 des nombres codés en dur 158 00:05:26,626 --> 00:05:28,396 dans les commandes des ellipses 159 00:05:28,396 --> 00:05:30,376 ces nombres qui devraient en fait 160 00:05:30,376 --> 00:05:32,656 être des fractions de variables. 161 00:05:33,148 --> 00:05:34,578 Voilà, je vais vous montrer 162 00:05:34,669 --> 00:05:37,799 pour l'ellipse de l'oeil nous avons 163 00:05:37,799 --> 00:05:40,819 X moins 50 pour la position X 164 00:05:40,838 --> 00:05:43,278 ce qui veut toujours dire X moins 50 165 00:05:43,443 --> 00:05:45,133 même si nous modifions faceSize 166 00:05:45,133 --> 00:05:46,843 en dessous de 50 pixels 167 00:05:46,843 --> 00:05:48,063 et ça n'a aucun sens 168 00:05:48,063 --> 00:05:49,783 car cela veut dire que l'oeil gauche 169 00:05:49,783 --> 00:05:50,461 ne sera plus 170 00:05:50,461 --> 00:05:52,161 dans le visage. 171 00:05:52,441 --> 00:05:55,218 Donc on devrait avoir X moins une fraction 172 00:05:55,218 --> 00:05:57,258 de la dimension du visage 173 00:05:57,278 --> 00:05:59,218 et nous pouvons définir une fraction 174 00:05:59,218 --> 00:06:00,148 de la même façon 175 00:06:00,148 --> 00:06:03,898 50 relativement aux 300 d'origine 176 00:06:03,898 --> 00:06:07,898 donc 50 sur 300, 5 sur 30, 1 sur 6 177 00:06:08,582 --> 00:06:11,952 donc 1 sur 6 fois faceSize 178 00:06:12,440 --> 00:06:14,110 et ici nous avons également 50 179 00:06:14,400 --> 00:06:16,060 donc nous pouvons faire la même chose 180 00:06:16,060 --> 00:06:17,360 la même ligne de code 181 00:06:17,360 --> 00:06:19,140 ici nous avons 100 sur 300 182 00:06:19,460 --> 00:06:20,690 qui deviendra 183 00:06:20,710 --> 00:06:23,220 1/3 de faceSize 184 00:06:23,220 --> 00:06:24,720 ici nous avons 60 185 00:06:24,720 --> 00:06:26,080 qui finira par 186 00:06:26,080 --> 00:06:28,897 1/5 de faceSize 187 00:06:29,267 --> 00:06:32,087 et ici nous avons un autre 50 188 00:06:32,087 --> 00:06:34,457 qui sera 1/6 de faceSize 189 00:06:34,457 --> 00:06:35,727 et ici 40 190 00:06:35,727 --> 00:06:38,257 qui deviendra 191 00:06:38,257 --> 00:06:39,507 2 sur 15 192 00:06:39,507 --> 00:06:44,937 donc 2 sur 15 faceSize 193 00:06:45,347 --> 00:06:48,117 Ok réessayons 194 00:06:48,117 --> 00:06:49,477 Oh regardez ça ! 195 00:06:49,477 --> 00:06:51,257 Regardez ! C'est magnifique ! 196 00:06:51,268 --> 00:06:52,048 Trop bien. 197 00:06:52,617 --> 00:06:54,587 Ok bon récapitulons 198 00:06:54,587 --> 00:06:56,117 nous avons créés cette variable 199 00:06:56,130 --> 00:06:57,950 qui stocke les dimensions du visage 200 00:06:57,950 --> 00:06:59,630 et qui n'enregistre qu'un nombre 201 00:06:59,630 --> 00:07:01,510 et nous avons les variables mouthSize 202 00:07:01,510 --> 00:07:03,350 et eyeSize 203 00:07:03,350 --> 00:07:05,710 et nous les avons calculés avec des fractions 204 00:07:05,710 --> 00:07:06,790 de faceSize 205 00:07:06,790 --> 00:07:07,770 pour être certains 206 00:07:07,770 --> 00:07:09,500 que leurs valeurs changent toujours 207 00:07:09,500 --> 00:07:12,360 avec la base de celle-ci 208 00:07:12,514 --> 00:07:15,104 et toutes les autres sont calculées 209 00:07:15,104 --> 00:07:16,894 également sur la base de faceSize 210 00:07:16,894 --> 00:07:18,454 pour être certains que cette position 211 00:07:18,454 --> 00:07:19,884 à l’intérieur du visage change 212 00:07:19,884 --> 00:07:22,064 si faceSize change. 213 00:07:22,064 --> 00:07:23,014 Whoo! Très bien. 214 00:07:23,014 --> 00:07:24,614 Donc maintenant que l'on comprend bien 215 00:07:24,614 --> 00:07:25,725 comment créer des variables 216 00:07:25,725 --> 00:07:27,865 qui dépendent des valeurs d'autres variables 217 00:07:27,865 --> 00:07:30,375 on peut faire beaucoup plus avec nos programmes 218 00:07:30,375 --> 00:07:32,365 Célébrons cela en rendant Winston énorme ! 219 00:07:32,365 --> 00:07:36,781 Yeaaah ! Allez Winston !