WEBVTT 00:00:00.000 --> 00:00:02.246 On est de retour avec Winston. 00:00:02.417 --> 00:00:05.743 Nous avons à présent une variable X et une Y pour 00:00:05.801 --> 00:00:07.257 la position de Winston. 00:00:07.397 --> 00:00:09.240 Donc nous pouvons bouger sur les côtés 00:00:10.075 --> 00:00:11.741 en haut et en bas, woo! 00:00:12.088 --> 00:00:13.328 Vraiment bien. 00:00:13.680 --> 00:00:15.866 Maintenant, réinitialisons ces variables 00:00:16.057 --> 00:00:19.227 avec 200 et 200 00:00:19.315 --> 00:00:21.995 et voyons comment fonctionne ce programme. 00:00:22.553 --> 00:00:25.763 Alors commençons ici, nous avons la variable eyeSize. 00:00:25.763 --> 00:00:27.813 C'est utilisé pour contrôler le dimension des yeux, 00:00:27.815 --> 00:00:29.766 parce que les yeux ont tous une largeur de 40 pixels 00:00:29.766 --> 00:00:32.426 et une hauteur de 40 pixels. 00:00:32.470 --> 00:00:35.437 Et puis nous avons les variables X et Y, 00:00:35.437 --> 00:00:39.127 et elles définissent le centre du visage. 00:00:39.843 --> 00:00:41.113 Et vous les voyez utilisés 00:00:41.113 --> 00:00:42.729 dans cette commande ellipse ici, 00:00:42.729 --> 00:00:44.579 qui dessine ce grand cercle jaune. 00:00:45.921 --> 00:00:47.422 Et ici en bas, 00:00:47.422 --> 00:00:48.617 pour les yeux, 00:00:48.617 --> 00:00:50.427 le X et le Y sont aussi utilisés. 00:00:50.731 --> 00:00:51.951 Et ici, 00:00:52.009 --> 00:00:53.669 les yeux sont positionnés 00:00:54.048 --> 00:00:55.778 relativement au centre du visage. 00:00:55.787 --> 00:00:57.877 Donc peut-être que celui-ci est 00:00:58.026 --> 00:00:58.996 à 50 pixels 00:00:59.293 --> 00:01:00.933 du gauche du centre 00:01:01.528 --> 00:01:03.428 et celui-ci est à 100 pixels 00:01:03.455 --> 00:01:05.005 de la droite du centre. 00:01:05.149 --> 00:01:07.829 OK. Pas mal 00:01:07.865 --> 00:01:09.365 et c'est pourquoi nous pouvons 00:01:09.395 --> 00:01:11.195 bouger Winston de haut en bas. 00:01:11.236 --> 00:01:13.192 Maintenant, je veux pouvoir contrôler 00:01:13.212 --> 00:01:15.202 plus de chose sur le visage de Winston 00:01:15.202 --> 00:01:16.662 avec des variables 00:01:16.662 --> 00:01:17.912 donc je veux comprendre 00:01:17.912 --> 00:01:19.339 ce que nous pouvons, dans ce programme, 00:01:19.339 --> 00:01:20.669 enregistrer en tant que variables 00:01:20.669 --> 00:01:21.449 pour ce faire 00:01:21.449 --> 00:01:22.638 je vais passer en revu 00:01:22.638 --> 00:01:23.608 chaque ligne de code 00:01:23.622 --> 00:01:25.122 et regarder celle que l'on appelle 00:01:25.157 --> 00:01:27.447 des nombres codés en dur 00:01:27.658 --> 00:01:29.308 et ces nombres qui sont 00:01:29.388 --> 00:01:30.648 juste des nombres littéraires 00:01:30.723 --> 00:01:33.413 non des variables ou dépendant de variables 00:01:34.277 --> 00:01:35.377 donc commençons par ici 00:01:35.432 --> 00:01:37.002 dans cette première ellipse 00:01:37.832 --> 00:01:39.222 nous avons 300 et 300 00:01:39.262 --> 00:01:41.062 pour la largeur et la hauteur 00:01:41.584 --> 00:01:43.794 ce sont des nombres littéraires 00:01:43.794 --> 00:01:45.114 donc faisons une variable 00:01:45.114 --> 00:01:46.214 pour ceux-ci. 00:01:46.214 --> 00:01:47.754 Appelons la faceSize 00:01:48.791 --> 00:01:50.291 et enregistrons 300 00:01:50.291 --> 00:01:53.201 maintenant nous avons juste à écrire faceSize, 00:01:53.709 --> 00:01:55.259 faceSize 00:01:55.514 --> 00:01:56.794 OK ? Alors continuons 00:01:56.868 --> 00:01:58.108 et oublions les couleurs 00:01:58.156 --> 00:02:00.076 maintenant les commandes d'ellipse sont 00:02:00.104 --> 00:02:01.504 à la fois des variables ou 00:02:01.544 --> 00:02:02.704 dépendant de variables 00:02:02.726 --> 00:02:03.896 donc je vais les laisser 00:02:03.896 --> 00:02:04.846 comme ceci pour l'instant 00:02:04.859 --> 00:02:06.729 et prenons la commande de la bouche 00:02:07.419 --> 00:02:09.339 qui est dépendante de X et Y 00:02:09.339 --> 00:02:10.369 mais qui sont 00:02:10.417 --> 00:02:11.947 juste des nombres littéraires 00:02:12.899 --> 00:02:14.669 150 et 150 00:02:14.799 --> 00:02:16.139 disons donc 00:02:16.223 --> 00:02:18.953 mouthSize, c'est un bon nom, 00:02:19.026 --> 00:02:20.476 égale 150 00:02:22.464 --> 00:02:25.264 on va remplacer ça par mouthSize 00:02:25.301 --> 00:02:27.481 et mouthSize 00:02:27.556 --> 00:02:28.816 Ok, donc maintenant 00:02:28.861 --> 00:02:30.751 nous avons les dimensions des formes 00:02:30.825 --> 00:02:32.725 enregistrés comme des variables tout en haut, 00:02:32.773 --> 00:02:34.543 ce qui veut dire qu'il est très simple 00:02:34.543 --> 00:02:36.093 pour nous de changer les dimensions 00:02:36.103 --> 00:02:36.933 comme ça, ou comme ça, 00:02:36.933 --> 00:02:39.163 Wooooo Winston à faim ! 00:02:39.257 --> 00:02:41.157 et peut-être maintenant, comme ceci, 00:02:41.157 --> 00:02:42.747 Winston avait faim et 00:02:42.761 --> 00:02:44.291 il a mangé beaucoup de Donuts 00:02:44.291 --> 00:02:45.931 et ensuite il devient super gros 00:02:45.962 --> 00:02:47.532 Ok bon, 00:02:47.542 --> 00:02:48.982 il y a quelque chose 00:02:49.037 --> 00:02:51.347 que je n'aime pas à propos du programme pour l'instant 00:02:51.863 --> 00:02:59.303 donc si je transforme le visage en tout petit 00:02:59.404 --> 00:03:01.064 cela commence à être drôle 00:03:01.076 --> 00:03:03.006 parce que les yeux et la bouche 00:03:03.017 --> 00:03:04.667 sortent du visage 00:03:04.667 --> 00:03:06.717 et à un certain point cela ne semble 00:03:06.717 --> 00:03:07.887 même plus être relié 00:03:07.887 --> 00:03:08.667 au visage 00:03:08.667 --> 00:03:10.707 ou n'est-ce plus un visage du tout ? 00:03:11.629 --> 00:03:13.959 Bon alors ce qu'il s'est réellement passé 00:03:13.959 --> 00:03:16.309 c'est que lorsque je change faceSize 00:03:16.309 --> 00:03:18.299 je veux que les yeux et la bouche 00:03:18.354 --> 00:03:21.584 Je veux que leur dimensions changent également, 00:03:21.584 --> 00:03:23.994 donc si je change faceSize jusqu'à la moitié 00:03:24.144 --> 00:03:27.454 je veux que la bouche soit aussi diminué de moitié 00:03:27.454 --> 00:03:29.044 ce qui veut dire 00:03:29.519 --> 00:03:32.589 que je veux calculer mouthSize et eyeSize 00:03:32.589 --> 00:03:35.929 comme des fractions de faceSize 00:03:36.690 --> 00:03:39.790 OK réinitialisons les variables 00:03:39.790 --> 00:03:42.060 et je vais vous montrer ce à quoi je pense. 00:03:42.061 --> 00:03:44.221 Je commence par mouthSize 00:03:44.221 --> 00:03:45.141 donc maintenant 00:03:45.172 --> 00:03:49.512 faceSize est égale à 300 et mouthSize est égale à 150 00:03:50.187 --> 00:03:51.727 donc si l'on réfléchis 00:03:51.727 --> 00:03:53.007 ils sont relatifs l'un à l'autre 00:03:53.007 --> 00:03:55.907 disons que faceSize est deux fois plus grand 00:03:55.907 --> 00:03:57.577 que mouthSize 00:03:57.577 --> 00:04:00.137 ou que mouthSize est deux fois plus petit 00:04:00.137 --> 00:04:01.357 que faceSize 00:04:01.432 --> 00:04:03.872 et on peut écrire ce code comme ceci 00:04:04.063 --> 00:04:08.063 une fois et demi faceSize 00:04:08.133 --> 00:04:09.703 OK donc cette ligne de code dit 00:04:09.703 --> 00:04:11.873 que l'on veut prendre la valeur de faceSize 00:04:11.873 --> 00:04:13.113 la multiplier par sa moitié 00:04:13.113 --> 00:04:15.393 et enregistrer ceci dans mouthSize 00:04:15.674 --> 00:04:17.494 comme ça nous pourrons changer ceci 00:04:18.030 --> 00:04:20.260 qui interprètera ce qu'est la moitié 00:04:20.273 --> 00:04:22.353 et deviendra mouthSize 00:04:22.353 --> 00:04:24.073 parfait ! Voilà ce que nous voulons 00:04:24.848 --> 00:04:26.948 Maintenant eyeSize 00:04:27.268 --> 00:04:28.908 donc faceSize est égale à 300 00:04:29.168 --> 00:04:31.039 et eyeSize est égale à 40 00:04:31.039 --> 00:04:33.219 donc nous avons besoins 00:04:33.219 --> 00:04:36.639 40 divisé par 300 de faceSize 00:04:36.639 --> 00:04:39.459 ce qui donne 00:04:39.459 --> 00:04:41.138 4 sur 30 que nous pouvons 00:04:41.138 --> 00:04:43.768 simplifier par 2 sur 15 00:04:44.295 --> 00:04:45.605 donc disons que 00:04:45.609 --> 00:04:49.609 2 sur 15 fois faceSize 00:04:50.111 --> 00:04:50.911 (par ailleurs 00:04:50.949 --> 00:04:52.459 si vous êtes débutants avec les fractions 00:04:52.459 --> 00:04:54.279 et que les maths vous semblent compliqués 00:04:54.352 --> 00:04:56.422 vous pouvez apprendre d'avantages sur les fractions 00:04:56.422 --> 00:04:57.562 sur Khan Academy 00:04:57.562 --> 00:04:59.562 et revenir à ce chapitre lorsque 00:04:59.562 --> 00:05:00.442 vous vous sentirez prêts) 00:05:00.442 --> 00:05:01.912 revenons à nos moutons 00:05:02.752 --> 00:05:03.532 OK 00:05:03.532 --> 00:05:06.442 donc réduisons le visage à nouveau 00:05:06.925 --> 00:05:08.155 Haha! Regardez ! 00:05:08.155 --> 00:05:10.015 La bouche et les yeux se redimensionnent 00:05:10.015 --> 00:05:11.655 proportionnellement au visage 00:05:11.975 --> 00:05:13.495 mais vous remarquerez probablement 00:05:13.495 --> 00:05:14.875 quelque chose qui cloche 00:05:14.875 --> 00:05:16.565 les yeux et la bouche 00:05:16.572 --> 00:05:19.162 s'écartent toujours du visage 00:05:19.162 --> 00:05:20.502 même s'ils sont 00:05:20.502 --> 00:05:22.612 bien plus proportionnels. 00:05:23.206 --> 00:05:24.906 C'est parce que nous avons toujours 00:05:24.906 --> 00:05:26.626 des nombres codés en dur 00:05:26.626 --> 00:05:28.396 dans les commandes des ellipses 00:05:28.396 --> 00:05:30.376 ces nombres qui devraient en fait 00:05:30.376 --> 00:05:32.656 être des fractions de variables. 00:05:33.148 --> 00:05:34.578 Voilà, je vais vous montrer 00:05:34.669 --> 00:05:37.799 pour l'ellipse de l'oeil nous avons 00:05:37.799 --> 00:05:40.819 X moins 50 pour la position X 00:05:40.838 --> 00:05:43.278 ce qui veut toujours dire X moins 50 00:05:43.443 --> 00:05:45.133 même si nous modifions faceSize 00:05:45.133 --> 00:05:46.843 en dessous de 50 pixels 00:05:46.843 --> 00:05:48.063 et ça n'a aucun sens 00:05:48.063 --> 00:05:49.783 car cela veut dire que l'oeil gauche 00:05:49.783 --> 00:05:50.461 ne sera plus 00:05:50.461 --> 00:05:52.161 dans le visage. 00:05:52.441 --> 00:05:55.218 Donc on devrait avoir X moins une fraction 00:05:55.218 --> 00:05:57.258 de la dimension du visage 00:05:57.278 --> 00:05:59.218 et nous pouvons définir une fraction 00:05:59.218 --> 00:06:00.148 de la même façon 00:06:00.148 --> 00:06:03.898 50 relativement aux 300 d'origine 00:06:03.898 --> 00:06:07.898 donc 50 sur 300, 5 sur 30, 1 sur 6 00:06:08.582 --> 00:06:11.952 donc 1 sur 6 fois faceSize 00:06:12.440 --> 00:06:14.110 et ici nous avons également 50 00:06:14.400 --> 00:06:16.060 donc nous pouvons faire la même chose 00:06:16.060 --> 00:06:17.360 la même ligne de code 00:06:17.360 --> 00:06:19.140 ici nous avons 100 sur 300 00:06:19.460 --> 00:06:20.690 qui deviendra 00:06:20.710 --> 00:06:23.220 1/3 de faceSize 00:06:23.220 --> 00:06:24.720 ici nous avons 60 00:06:24.720 --> 00:06:26.080 qui finira par 00:06:26.080 --> 00:06:28.897 1/5 de faceSize 00:06:29.267 --> 00:06:32.087 et ici nous avons un autre 50 00:06:32.087 --> 00:06:34.457 qui sera 1/6 de faceSize 00:06:34.457 --> 00:06:35.727 et ici 40 00:06:35.727 --> 00:06:38.257 qui deviendra 00:06:38.257 --> 00:06:39.507 2 sur 15 00:06:39.507 --> 00:06:44.937 donc 2 sur 15 faceSize 00:06:45.347 --> 00:06:48.117 Ok réessayons 00:06:48.117 --> 00:06:49.477 Oh regardez ça ! 00:06:49.477 --> 00:06:51.257 Regardez ! C'est magnifique ! 00:06:51.268 --> 00:06:52.048 Trop bien. 00:06:52.617 --> 00:06:54.587 Ok bon récapitulons 00:06:54.587 --> 00:06:56.117 nous avons créés cette variable 00:06:56.130 --> 00:06:57.950 qui stocke les dimensions du visage 00:06:57.950 --> 00:06:59.630 et qui n'enregistre qu'un nombre 00:06:59.630 --> 00:07:01.510 et nous avons les variables mouthSize 00:07:01.510 --> 00:07:03.350 et eyeSize 00:07:03.350 --> 00:07:05.710 et nous les avons calculés avec des fractions 00:07:05.710 --> 00:07:06.790 de faceSize 00:07:06.790 --> 00:07:07.770 pour être certains 00:07:07.770 --> 00:07:09.500 que leurs valeurs changent toujours 00:07:09.500 --> 00:07:12.360 avec la base de celle-ci 00:07:12.514 --> 00:07:15.104 et toutes les autres sont calculées 00:07:15.104 --> 00:07:16.894 également sur la base de faceSize 00:07:16.894 --> 00:07:18.454 pour être certains que cette position 00:07:18.454 --> 00:07:19.884 à l’intérieur du visage change 00:07:19.884 --> 00:07:22.064 si faceSize change. 00:07:22.064 --> 00:07:23.014 Whoo! Très bien. 00:07:23.014 --> 00:07:24.614 Donc maintenant que l'on comprend bien 00:07:24.614 --> 00:07:25.725 comment créer des variables 00:07:25.725 --> 00:07:27.865 qui dépendent des valeurs d'autres variables 00:07:27.865 --> 00:07:30.375 on peut faire beaucoup plus avec nos programmes 00:07:30.375 --> 00:07:32.365 Célébrons cela en rendant Winston énorme ! 00:07:32.365 --> 00:07:36.781 Yeaaah ! Allez Winston !