Deze opdracht vraagt ons
om een nest te creeren,
in het centrum van de wereld,
in de oorsprong,
van 9 patches.
En we gaan dat nest oranje kleuren.
Laten we naar de code gaan.
Eerst voegen we een nieuwe
'turtle' variabele toe
De eerste lijn,
waar staat 'turtles-own',
tussen de haakjes,
typ: 'return to nest...
...vraagteken'
Dan maken we een nieuwe 'patch-variabele'
Dus typ: 'patches-own'.
Haakje.
'nest?'. Haakje sluiten.
Nu moeten we een paar regels toevoegen
aan de 'setup'-procedure.
Dus, in de 'ask turtles' regel,
zet 'return-to nest?'...
...op onwaar.
Als we dit niet doen, zet NetLogo
elke nieuwe variabele automatisch op waar
Nu voegen we een nieuwe regel toe,
wat een nieuwe procedure wordt.
We noemen het 'set-up nest'.
Om die procedure toe te voegen,
begin met een 'to'
'set-up-nest'
En we vragen aan 'patches',
dat zet ons in de 'patch'-context,
om de variabele 'nest' op waar te zetten,
als een patch binnen een afstand van 2
van de oorsprong is.
Om dat te schrijven gebruiken we de
oorsprongs-afstand: 'distancexy 0 0',
tussen haakjes,
minder dan 2.
En als een patch aan dat criterium voldoet
Als 'nest' waar is...
...zet 'pcolor' op oranje
Haakje sluiten.
En eindig een procedure altijd met 'end'
Laten we kijken of dat werkt.
"Geen haakje-sluiten voor dit haakje-openen"
Dus ik ben een haakje vergeten.
Voeg dat toe.
Laten we kijken of dat werkt.
Het lijkt nu oké.
Dus we gaan naar de interface
Klik 'Setup'.
En we kunnen zien dat er...
het is moeilijk te zien dat
hier 9 patches zijn
maar ik ga er vanuit dat het zo is
Nu is er een oranje nest
in het midden van de wereld
Vervolgens worden we gevraagd een code
te schrijven zodat mieren terug gaan
naar het nest nadat ze hebben gegeten,
voordat ze weer uit foerageren gaan.
Er zijn meerdere manieren om dit te doen
De manier waarop ik het zal doen
is de volgende
Eerst wil ik de
'go'-procedure een beetje versimpelen.
Dus ik ga een nieuwe procedure maken
En die noem ik 'look-for-food'
Dus ik knip deze sectie.
Schrijf een nieuwe procedure-regel.
En dan plakken.
Nu ga ik terug naar de 'go' procedure
En ik voeg in...
Dus, als 'return-to-nest' onwaar is...
...dan... zoek naar eten.
En als 'return-to-nest' waar is...
...dan keren we terug naar het nest.
En we hebben nog niet de
'return-to-nest' procedure geschreven.
Dus dat doen we als volgende.
Maar voordat we dat doen,
is het een goed idee de code te checken,
om te zien of we al fouten hebben gemaakt
Dus, ik klik 'check'.
En het vertelt ons dat we nog geen
'return-to-nest' procedure hebben.
Maar ik zie ook dat ik een is-teken
ben vergeten na deze regel. Voeg die toe.
Ik zal die 'return-to-nest'
procedure schrijven.
Dus hiervoor schrijven we gewoon
'face patch 0 0'.
Dat is de oorsprong.
En ga 1 vooruit.
Dat maakt dat iedere mier met de
'return-to-nest' variabele WAAR
naar de oorsprong keert en 1 stap
in die richting neemt.
En dan willen we het vertellen om weer te
gaan foerageren als het bij het nest is
Dus als 'pcolor' oranje is,
wat betekent dat het thuis is.
Dan zetten we 'return-to-nest' ONWAAR.
Want het is er al.
Haakje sluiten. Einde.
Tot zover hebben we nog geen mieren
die 'return-to-nest' op WAAR hebben.
Dus dat moeten we uiteraard doen.
Nadat ze het voedsel hebben gegeten,
zetten we 'return-to-nest' op WAAR.
We checken de code.
Ziet er goed uit.
Ga terug naar de interface. 'Setup'.
En klik dan 'Go'.
Er zijn best wel veel mieren.
Het is lastig te zien wat ze doen.
Dus, laten we het aantal mieren
wat verkleinen. En opnieuw proberen.
Iets langzamer.
Misschien zie je dat ze zich gedragen
zoals ze moeten: ze eten voedsel en gaan
terug naar het nest voordat
ze er weer op uit gaan.
We kunnen de kleur terug naar
rood zetten voor duidelijkheid,
maar dat bewaren we voor later.