Maintenant que nous avons vu un peu comment NetLogo fonctionne, nous allons construire notre propre modèle simple. Ce modèle sera composé d'une fourmi se déplacant au hasard et c'est tout. Donc, ouvrons Netlogo. Je vais cliquer sur ce Netlogo 5.3.1, vous pouvez cliquer sur la version que vous avez. Maintenant, la premičre chose que je vais faire est de créer les boutons "Setup" et "Go". Donc, je vais sur le menu de construction d'Interface, Quand je clique dessus, vous pouvez voir tous les différents types d'objets que je peux ajouter à l'interface. Donc, nous allons ajouter un bouton. Donc, je clique sur l'interface, je peux remplir que ce bouton est pour la configuration ("Setup"), et je peux obtenir un autre bouton, Ajouter un autre bouton pour Go, je peux sélectionner ceci par un clic droit dessus, Cliquez sur "Select", je peux me déplacer, je peux changer sa taille. Si je la traîne ici, je peux ajuster les boutons comme je le veux. Donc, maintenant nous avoir les boutons "Go" et "Setup". Ils sont rouges parce qu'ils n'ont pas code associé avec eux encore. Il n'y a rien qu'ils font réellement encore lorsqu'ils sont cliqués, donc je vais avoir à créer le code. Maintenant, nous allons créer le code qui vont avec les boutons "Setup" et "Go". Nous faisons cela en allant dans l'onglet de code et en écrivant les procédures. Ainsi, le premier que nous allons faire est "Setup". Donc, nous disons à "Setup"; Voici ce que nous faisons lorsque le bouton est cliqué, nous marquons "clear all", ici "clear all" est une commande qui efface "le monde", l'endroit où vous voyez les fourmis commettre des actions, cette commande efface la fenêtre et tout ce qui reste de la simulation précédente. Nous allons réinitialiser les tiques ("reset = ticks), soit, nous allons mettre les tiques, ou le bond de temps ("time steps") à zéro. Maintenant, nous allons créer une fourmi. Chaque agent dans Netlogo est appelé une tortue ("turtle"). C'est pour des raisons historiques, venant de la langue originale, Logo, sur laquelle Netlogo est basé, où tous les agents étaient des tortues. En Logo vous aviez seulement une tortue. Ici, vous allez éventuellement avoir beaucoup de tortues. Pour l'instant, nous allons créer une tortue ("create = turtles"). Nous allons dire combien de tortues nous voulons. Pour l'instant, nous allons seulement dire que nous en voulons une. Donc, nous allons créer une tortue et alors nous allons lui demander de faire certaines choses. Nous écrivons "ask turtle" et nous allons donner une liste de choses à lui demander. La liste commence avec ce symbole " [ ". Nous allons lui demander de définir sa forme comme insecte, (set shape "bug") c'est la forme d'une fourmi dans Netlogo. Nous allons mettre sa taille à 3. C'est une ("set size 3") bonne taille dans Netlogo pour le visionnement. Nous allons définir sa couleur rouge. ("set color red ") Ok, je pense que c'est tout ce que nous voulons lui demander de faire, alors nous allons mettre "end" à la fin. Il y a cette belle coche ici qui vérifie le code pour des bugs. Alors, cliquez sur ceci, et il on me dit qu'il ya un bug, et on me dit où le bug se situe, et je remarque que j'aurais effectivement du demander "turtleS" J'ai raté un "S" ici. La raison est que Netlogo suppose l'existence d'une population de tortues ou d'agents et chaque fois que vous lui demandez de faire quelque chose, vous demandez à l'ensemble de la population. Ici, nous n'avons qu'une seule tortue, mais plus tard, nous allons leur demander à toutes de le faire. On vérifie à nouveau. Ça me ramène à l'interface me disant que tout semble fonctionner, nous allons donc cliquez sur "Setup", et nous voyons notre fourmi, en plein milieu. Le bouton Go est toujours rouge ce qui signifie que nous n'avons pas écrit le code pour cela. Écrivons la procédure de "Go". Revenons à l'onglet de code. Nous écrivons "to go" (aller). Nous allons écrire "ask turtle" (demander aux tortues) pour qu'elles fassent quelques petites choses. Tout d'abord, nous leur demanderons de tournez leur corps à droite de 30 degrés, ("right 30") et nous allons leur demander de se déplacer de 4 pas, ("forward 4 ]") puis nous allons augmenter les time steps de un, c'est ce que la commande "tick" fait, nous allons réinitialiser les ticks à 0, puis tapez "tick" qui augmente le time step de un à chaque fois que nous passons par la procédure et ensuite nous terminons avec "end". Allons à l'interface, et cliquez sur "Go". Vous pouvez voir que la tortue à tourné son corps de 30 degrés et s'est ensuite déplacé vers l'avant avec quatre pas. Nous continuons de cliquer sur"Go" encore et encore, et elle toune en cercle. J'aimerais qu'elle conitue éternellement, sans avoir sans cesse à cliquez sur le bouton "Go" et je peux le faire en cliquant-droit sur "Go" et aller à dans "Edit", et nous voyons cette option, "forever", que je peux cliquer et qui signifie que le script ne cessera de répéter "Go" pour toujours, alors faisons-le. Si je le ralenti un peu, vous pouvez voir la fourmi tourner autour et encore par elle même, et je clique sur le bouton "Go" pour l'arrêter. Je peux cliquer sur "Go" pour démarrer à nouveau. Si je veux commencer à partir de zéro, je cliquez sur "Setup". Ça commence au même endroit, dans le centre, mais ça pointe dans une direction différente à chaque fois. C'est parce que ça la met dans le centre, mais ça pointe dans une direction aléatoire à chaque fois. Nous pouvons sauvegarder le modêle jusqu'ici, en allant dans l'onglet "File", et cliquez sur "Save as". Je vais le sauvegarder comme étant Ant1. Vous voyez ici sur le bureau, Ant1.logo. Maintenant, nous pouvons aller au menu Netlogo, "Quit Netlogo" . Si je veux démarer ceci, je viens double-cliquez sur ceci. NetLogo va démarrer et charger ce modèle. Il n'y a qu'une chose qui cloche avec notre modèle, c'est qu'il est ennuyeux. La seule chose que la fourmi fait est de tourner en rond, donc nous allons le rendre un peu plus intéressant. Je peux le faire en allant dans le code et en ajoutant une simple commande. Au lieu d'aller droit à 30 degrés, nous allons ajouter le mot, "random" (aléatoire), alors maintenant la fourmi choisira un nombre aléatoire entre 0 et 30 moins 1, et va aller vers la droite de tant de degrés. Nous pouvons faire la même chose chose ici, nous pouvons faire que la fourmi se déplace vers l'avant avec un nombre de pas aléatoire. Revenons à l'interface; nous cliquons sur Setup and Go, et nous pouvons voir que cela rend le comportement un peu plus intéressant. Vous remarquerez peut-être que la fourmi semble aller à travers la paroi ici et sortir de l'autre côté. Le mur est "enroulé" sur lui-même. Cela rend les choses un peu étrange. Je peux clic-droit sur la région noire, puis cliquez sur Edit. Il y a beaucoup d'information ici concernant la configuration de ce monde. Le nombre de carrés, qui représente la grille, qui divise le monde. Décochez eux, se appliquer, ok. Voyons ce qui se passe ensuite. Maintenant, quand la fourmi frappe le mur, ça coince lŕ, jusqu'ŕ ce qu'il soit tourné autour. Notre fourmi encore tourne juste ŕ droite. Écrivons code qui lui permet de choisir au hasard si elle se tourne vers la droite ou ŕ gauche. Il retourne essentiellement une pičce de monnaie de décider si elle va se tourner vers le droite ou vers la gauche. Je vais mettre en uvre la procédure ŕ pile ou face. Quelque chose appelé "to-report" "coin-flip", "To-report" est différent d'un "ŕ" la procédure, "To-report" retourne une valeur, ici, il sera retourner true ou false. Nous disons "Signaler aléatoire 2 = 0" "Fin" ce que cela ne est "aléatoire 2" ŤAléatoireť renvoie un nombre aléatoire entre 0 et ce nombre, 2, moins 1, si elle retourne 0 la moitié du temps et Une moitié du temps, d'une maničre aléatoire. Si ce est zéro, cette déclaration retours vrai si la déclaration = 0, sinon il renvoie fausse. Nous pouvons utiliser la valeur de cette déclaration, en disant: Ťsi quelqueŤ coin-flip, ce que cela fait est Ťsi coin-flip est vrai" faire premičre chose que je vais mis entre parenthčses, sinon si elle est fausse, faire la deuxičme chose que je vais mis entre parenthčses, Ťgauche aléatoire 30". Chaque fois que nous courons la procédure Go, il sera décider au hasard se il se allume droite ou ŕ gauche. Donc, nous allons voir comment cela fonctionne. Configuration and Go. Vous pouvez le voir tourne un autre direction, il se tourne vers l'avant, droite et ŕ gauche. Le seul problčme, ce est qu'il est coincé trop souvent. Nous pouvons faire qu'une meilleure en changeant ces années 30 aux années 60 Avoir un rayon plus grand tournant, ce est, il tourne plus ŕ chaque fois. Il semble que se retrouver moins souvent. Chaque fois que vous écrire un programme, il est toujours bon de mettre dans les commentaires. Ils sont ignorés par le ordinateur, mais ils sont bons pour les personnes lire. Dans Netlogo, un commentaire est juste texte suivant un point-virgule. Je peux écrire ce que je veux et de la volonté de l'ordinateur ignore-le. Écrivons, retourne vrai ou fausse au hasard, qui est ce qu'il fait, Ici, nous pouvons écrire un autre commentaire, si coin-flip est vrai, tourner ŕ droite, ailleurs tourner ŕ gauche, Lŕ, vous avez petits rappels, soit pour nous-męmes ou pour les autres la lecture de la programme. Vraiment utile si vous avez un programme plus compliqué. Surtout, si vous revenez ŕ lui aprčs quelques jours. Les commentaires sont absolument essentiel, męme si personne ne va lire votre programme. Maintenant, nous allons sauver notre modčle. Tout d'abord, je vais de l'étiqueter. Ce est une chose esthétique, je vais le menu de l'interface et choisissez Remarque, je suis va mettre ici un peu de texte qui dit le nom du modčle, Ant1. Faisons le texte un peu plus grand, 18, et puis je peux sélectionner cette et déplacez-les baisser un peu, les centrer, faire ce que je veux faire plus joli, cliquez sur Enregistrer, et le modčle est enregistré. Je voulais simplement mentionner que le but de l'enseignement Netlogo est de vous donner une idée de la façon dont tout cela fonctionne. Nous allons ętre l'aide d'un grand nombre de modčles NetLogo dans ce Bien sűr. Nous ne allons pas ętre écrit beaucoup. Je voulais vous donner une idée de comment tout cela fonctionne. Vous pourriez faire un peu modifications de ce que nous avons écrit. Si vous sont plus avancés, vous pouvez essayer d'écrire certains de vos propres. Comme une mission, je aimerait vous le mettre en oeuvre exacte męme modčle, comme je le faisais, Ant1, en utilisant le męmes commandes, et le faire fonctionner. Cela va ętre non classé, mais il est de votre avantage. Ne hésitez pas ŕ poser questions sur le forum de l'étudiant lorsque ils viennent. Ce est pourquoi ils sont lŕ.