1 99:59:59,999 --> 99:59:59,999 2 99:59:59,999 --> 99:59:59,999 1.9 Notre seconde maquette NetLogo 3 99:59:59,999 --> 99:59:59,999 4 99:59:59,999 --> 99:59:59,999 Construisons une autre maquette qui sera basée sur la première. 5 99:59:59,999 --> 99:59:59,999 6 99:59:59,999 --> 99:59:59,999 La première chose que nous allons faire c'est copier le fichier 7 99:59:59,999 --> 99:59:59,999 vous pouvez faire ça par un click droit, sélectionnant "copy" 8 99:59:59,999 --> 99:59:59,999 Je peux ensuite utiliser "ctrl + v" 9 99:59:59,999 --> 99:59:59,999 D'une manière ou d'une autre vous le copiez, et je vais le renommer "Ant2.nlogo" 10 99:59:59,999 --> 99:59:59,999 Je vais ensuite double cliquer dessus pour l'ouvrir 11 99:59:59,999 --> 99:59:59,999 12 99:59:59,999 --> 99:59:59,999 et nous allons le ré-étiqueter, en cliquant sur ce mot, 13 99:59:59,999 --> 99:59:59,999 en sélectionnant "edit" et en l'appelant "Ant 2" 14 99:59:59,999 --> 99:59:59,999 Maintenant que nous avons une fourmi qui peut se déplacer, donnons lui quelque chose à manger. 15 99:59:59,999 --> 99:59:59,999 allons à l'onglet de code et apportons un peu de nourriture pour la fourmi. 16 99:59:59,999 --> 99:59:59,999 dans la fenetre "setup", nous allons écrire "grow-food" (faire pousser de la nourriture) 17 99:59:59,999 --> 99:59:59,999 nous allons donc devoir écrire comment faire pousser de la nourriture. 18 99:59:59,999 --> 99:59:59,999 Nous pouvons descendre ici et inscrire une nouvelle procédure "to grow-food" 19 99:59:59,999 --> 99:59:59,999 et ce que nous allons faire c'est "ask patches [set pcolor green] end" 20 99:59:59,999 --> 99:59:59,999 laissez moi vous expliquer ce que sont les "patches" 21 99:59:59,999 --> 99:59:59,999 retournez à l'interface, et dans ce "monde" qui est la fenêtre noire cliquez droit, "edit", 22 99:59:59,999 --> 99:59:59,999 et vous pourrez voir que ceci montre le système de coordonnées pour le "monde". 23 99:59:59,999 --> 99:59:59,999 C'est probablement difficile à voir sur votre écran mais vous pouvez le faire sur netLogo et le constater. 24 99:59:59,999 --> 99:59:59,999 Les coordonnées (0,0) sont au milieu, puis ça va de -16 à 16 verticalement et de -16 à 16 horizontalement. 25 99:59:59,999 --> 99:59:59,999 Toute la boîte est donc une grille de 33 par 33 carrés qui s'appellent "patches". 26 99:59:59,999 --> 99:59:59,999 Ici vous avez le nombre de pixels par patch, là c'est 13, etc. 27 99:59:59,999 --> 99:59:59,999 Chaque patch a ses propres propriétés, comme la couleur. 28 99:59:59,999 --> 99:59:59,999 Si je retourne au code, j'ai demandé à tous les patches de changer leurs couleurs (pcolor est pour "patch color") en vert. 29 99:59:59,999 --> 99:59:59,999 regardons ce qui se passe quand je clique sur setup : 30 99:59:59,999 --> 99:59:59,999 Bien sûr l'arrière plan s'est changé en vert. On peut comparer ce modèle à une fourmi évoluant dans un monde d'herbe. 31 99:59:59,999 --> 99:59:59,999 Retournons à présent à l'onglet code et ajoutons un peu de code pour faire que les fourmis mangent l'herbe. 32 99:59:59,999 --> 99:59:59,999 Pour cela, nous allons écrire la phrase suivante ici : 33 99:59:59,999 --> 99:59:59,999 "if pcolor = green" - je vais écrire un petit commentaire ici - "if the turtle is located on a green patch", 34 99:59:59,999 --> 99:59:59,999 ce qui demande à la tortue de regarder le patch sur lequel elle est, (chacune est sur un patch particulier) 35 99:59:59,999 --> 99:59:59,999 et si ce patch est vert, voici ce qu'elle a à faire : elle va manger l'herbe en la rendant à nouveau noire. 36 99:59:59,999 --> 99:59:59,999 so "[set pcolor black" 37 99:59:59,999 --> 99:59:59,999 et il va devoir aussi garder une trace de combien de nourriture a été mangée. 38 99:59:59,999 --> 99:59:59,999 "set food-eaten (food-eaten +1)" 39 99:59:59,999 --> 99:59:59,999 Et nous allons faire une autre chose qui sera de mettre une étiquette sur son corps pour nous dire combien elle a mangé. 40 99:59:59,999 --> 99:59:59,999 "set label food-eaten ]" 41 99:59:59,999 --> 99:59:59,999 et c'est tout des action que nous allons demander à la tortue de faire. 42 99:59:59,999 --> 99:59:59,999 (je dois mettre ce crochet plus bas, ici.) je vais utiliser la touche "tab" pour remettre toutes les lignes à leur place 43 99:59:59,999 --> 99:59:59,999 et maintenant nous avons ces deux crochets autours des actions que les tortues vont devoir effectuer. 44 99:59:59,999 --> 99:59:59,999 Nous allons leur demander de tourner à droite ou à gauche, regarder leurs patches, si la couleur est verte, remplacer par la couleur noire, 45 99:59:59,999 --> 99:59:59,999 augmenter la quantité de nourriture mangée par l'une, et poser une étiquette pour dire combien de nourriture elle a mangé. 46 99:59:59,999 --> 99:59:59,999 Ok, il nous reste une dernière chose à faire, qui est de monter ce "food-eaten". 47 99:59:59,999 --> 99:59:59,999 Les tortues doivent avoir quelques variables associées à elles et appelées "food-eaten" - vous pouvez y penser comme à l'estomac de la tortue 48 99:59:59,999 --> 99:59:59,999 qui garde une trace de combien de nourriture a été mangée, les tortues ne meurent pas dans ce modèle. 49 99:59:59,999 --> 99:59:59,999 Donc, pour faire ça nous allons écrire "turtles-own [food-eaten]" 50 99:59:59,999 --> 99:59:59,999 Et ce que ça fait, c'est que ça créée une variable appelée "food-eaten" qui est spécifique à chaque tortue. Chacune a sa propre variable "food-eaten". 51 99:59:59,999 --> 99:59:59,999 Elles auront donc toutes une quantité différente de nourriture avalée. 52 99:59:59,999 --> 99:59:59,999 Ici dans "setup", je vais mettre à zéro. "set food-eaten 0". Ca fait commencer à 0 et plus tard la quantité s'accumulera. 53 99:59:59,999 --> 99:59:59,999 Alors vérifions ça, ça a l'air bon, retournons à l'interface, ralentissons-la un peu, de sorte à voir la tortue manger la nourriture. 54 99:59:59,999 --> 99:59:59,999 La tortue - pardon, je devrais dire la fourmi - la fourmi évolue dans ce "monde", se déplaçant, et chaque fois qu'elle s'arrete sur un patch vert, elle y mange la nourriture. 55 99:59:59,999 --> 99:59:59,999 Souvenez-vous qu'elle fait entre 0 et 3 pas à chaque fois donc elle ne prend la nourriture qu'après avoir fait tous ses pas. 56 99:59:59,999 --> 99:59:59,999 vous la voyez se déplacer, on peut un peu augmenter la vitesse, 57 99:59:59,999 --> 99:59:59,999 et vous pouvez voir la fourmi se promener et manger la nourriture. 58 99:59:59,999 --> 99:59:59,999 Vous ne pouvez probablement pas le voir sur votre écran mais la fourmi présente une étiquette de combien de nourriture a été mangée 59 99:59:59,999 --> 99:59:59,999 C'est beaucoup de nourriture à manger pour une petite fourmi, et la prochaine chose à faire est de donner une colonie à notre fourmi. 60 99:59:59,999 --> 99:59:59,999 Donc ajoutons quelques fourmis ! Le moyen de faire ça est d'ajouter une "population". 61 99:59:59,999 --> 99:59:59,999 Il faut permettre à l'utilisateur du modèle de changer la taille de la population. 62 99:59:59,999 --> 99:59:59,999 Nous allons aller dans le menu de l'interface, et aller à "slider". Je vais ajouter un slider, je vais appeler cette variable globale "population" 63 99:59:59,999 --> 99:59:59,999 Je vais mettre pour population minimum 1, maximum, disons... 200, nous pouvons permettre aux gens de l'augmenter de 1; 64 99:59:59,999 --> 99:59:59,999 et ici c'est la valeur initiale, 50, ce qui me semble très bien, ok, 65 99:59:59,999 --> 99:59:59,999 (laissez moi bouger ça, selectionner, bouger..) 66 99:59:59,999 --> 99:59:59,999 Mais maintenant il va falloir dire au code quoi faire de cette population variable. Je vais donc aller dans l'onglet code, 67 99:59:59,999 --> 99:59:59,999 et au lieu de "create-turtles 1", je vais noter "create-turtles population". 68 99:59:59,999 --> 99:59:59,999 L'utilisateur pourra entrer un nombre pour la population et le code créera autant de tortues. 69 99:59:59,999 --> 99:59:59,999 Regardons ce qui se passe quand nous le mettons en marche. 70 99:59:59,999 --> 99:59:59,999 Nous avont toutes nos fourmis au milieu de l'écran, 50 fourmis, laissons les partir. 71 99:59:59,999 --> 99:59:59,999 vous pouvez les voir se déplacer, je l'ai ralenti, elles font donc toutes les mêmes choses, 72 99:59:59,999 --> 99:59:59,999 mais comme chacune a quelques choix à faire au hasard vous les voyez agir un peu différemment. 73 99:59:59,999 --> 99:59:59,999 et si nous l'accélérons nous commençons à les voir comme de vrais fourmis mangeant et se déplaçant. 74 99:59:59,999 --> 99:59:59,999 augmentons la population, 130,