Questa domanda ci chiede di creare una tana nel centro del 'mondo', formata da 9 'patches'. La creiamo di colore arancio. Andiamo nel codice. Per prima cosa aggiungiamo una nuova variabile alla 'turtle'. La prima riga indica le proprietà delle turtles, scriviamo 'return-to-nest?' tra le parentesi Poi creiamo una nuova variabile di 'patch' quindi patches-own (= proprietà delle patches) [nest?] Dobbiamo aggiungere due righe nella procedura di 'setup'. nel comando 'ask turtles' impostiamo 'return-to-nest?' al valore "false" Se non lo facciamo, Netlogo imposta la nuova variabile a "true" di default. Aggiungiamo una riga che diventerà una nuova procedura la chiamiamo 'set-up-nest' Per aggiungere questa procedura iniziamo scrivendo 'to set-up-nest' e aggiungiamo 'ask patches' che ci pone nel contesto delle patches impostiamo nest? a 'true' quando una patch ha una distanza < 2 dall'origine. Per scrivere questo usiamo la primitiva 'distancexy 0 0' traparetesi, minore di 2 Se una patch soddisfa questo criterio poniamo il pcolor color arancio. Le procedure terminano sempre con 'end' Vediamo se è corretta Sembra che abbia dimenticato di chiudere una parentesi, aggiungiamola, adesso sembra corretto. Andiamo nell'interfaccia e clicchiamo su 'setup' Possiamo vedere, è difficile affermare che ci siano 9 patches qui ma assumiamo che sia così. C'è una tana arancione nel centro del 'mondo'. Poi ci è richiesto di scrivere il codice per far tornare alla tana le formiche dopo che hanno mangiato, prima che vadano di nuovo in cerca di cibo. Ci sono diversi modi per farlo. Io faccio così: prima semplifico un po' la procedura 'to go' perciò creo una nuova procedura che chiamo 'look-for-food' taglio questa sezione scrivo una nuova riga per la procedura e incollo torniamo alla procedura 'go', e inseriamo "ifelse return-to-nest?" è "false" allora cerchiamo il cibo, "[look-for-food]", e quindi "ifelse return-to-nest?" è "true", torniamo alla tana "[return-to-nest]" Dobbiamo ancora scrivere la procedura 'return-to-nest'. Lo faremo in seguito. Prima di farlo, è una buona idea controllare il codice per vedere se abbiamo fatto errori. Clicco su 'check' E vediamo che non abbiamo ancora scritto una procedura 'return-to-nest' Ho anche dimenticato il segno di uguaglianza su questa riga, quindi lo inserisco Scriviamo la procedura 'return-to-nest' Perciò scriviamo semplicemente "face patch 0 0" che è l'origine avanti di 1 che ha la variabile 'return-to-nest' uguale a 'true' per volgersi verso l'origine e dirigersi in quella direzione, poi vogliamo dire di andare in cerca di cibo di uovo se è nella tana, quindi se il pcolor è arancio, significa che è nella tana, e impostiamo 'return-to-nest' a 'false' perché è già qui. Fino ad ora non abbiamo nessuna formica con 'return-to-nest' uguale a 'true' ovviamente lo dobbiamo fare dopo che le formiche hanno mangiato impostando 'return-to-nest' uguale a 'true'. Controlliamo il codice. Sembra corretto Ritorniamo all'interfaccia. Clicchiamo su 'setup' e su 'go' Ci sono molte formiche è difficile vedere cosa fanno Riduciamo il numero di formiche per vedere cosa fanno. Rallentiamo un po' Dovreste vedere che si comportano come ci aspettiamo mangiando cibo prima di tornare alla tana per andare di nuovo in cerca di cibo. Possiamo ricambiare il colore a rosso, per renderlo più chiaro. Ma aspettiamo.