mirror of
https://github.com/Steffo99/turtle007.git
synced 2024-11-21 20:44:20 +00:00
Update README.md
This commit is contained in:
parent
ad66af6406
commit
f1c6a91bc9
1 changed files with 62 additions and 1 deletions
63
README.md
63
README.md
|
@ -4,6 +4,67 @@ Questo branch estende il progetto [`1-base`](https://github.com/Steffo99/turtle0
|
|||
|
||||
## Descrizione
|
||||
|
||||
Ad ogni patch che contiene cibo viene assegnato un valore unico, alle patch vuote viene assegnato il valore 0. Quando il cibo viene spostato, cambia il suo id con quello del mucchio di cui fa parte, e ad ogni tick viene contato il numero di valori unici (0 escluso). Questo permette di calcolare il numero di mucchi in tempo reale, con un errore massimo di 1.
|
||||
Ad ogni patch che contiene cibo viene assegnato un valore unico, alle patch vuote viene assegnato il valore -1. Quando il cibo viene spostato, cambia il suo id con quello del mucchio di cui fa parte, e ad ogni tick viene contato il numero di valori unici (0 escluso). Questo permette di calcolare il numero di mucchi in tempo reale, con un errore massimo di 1.
|
||||
|
||||
Il comportamento delle termiti rimane immutato.
|
||||
|
||||
## Aggiunte / Modifiche
|
||||
|
||||
### Aggiunto: variabili globali e delle patch
|
||||
```diff
|
||||
+ globals [step carry groups]
|
||||
+ patches-own [id]
|
||||
```
|
||||
### Modificato: setup
|
||||
```diff
|
||||
to setup
|
||||
clear-all
|
||||
crt n_termiti
|
||||
ask turtles [set color white]
|
||||
ask turtles [setxy random-xcor random-ycor]
|
||||
ask turtles [set size 5]
|
||||
ask turtles [set shape "bug"]
|
||||
ask patches[
|
||||
if random-float 100 < densita_cibo[
|
||||
set pcolor yellow
|
||||
]
|
||||
]
|
||||
+ let counter 0
|
||||
+ ask patches with [pcolor = yellow] [set id counter
|
||||
+ set counter counter + 1
|
||||
+ ;set plabel id
|
||||
+ ]
|
||||
set carry 0
|
||||
reset-ticks
|
||||
end
|
||||
```
|
||||
Aggiunge ad ogni patch un identificativo univoco.
|
||||
### Aggiunto: locate-group
|
||||
```diff
|
||||
+ to locate-group
|
||||
+ ask patches with [pcolor = yellow]
|
||||
+ [let tmp max-one-of neighbors [id]
|
||||
+ set id [id] of tmp
|
||||
+ ;set plabel id
|
||||
+ ]
|
||||
+ let _unique remove-duplicates [id] of patches
|
||||
+ set groups length _unique
|
||||
+ ask patches with [pcolor = black and id != -1] [set id -1]
|
||||
+ end
|
||||
```
|
||||
Questa funzione permette di aggiornare gli id delle patch.
|
||||
|
||||
### Modificato: go
|
||||
```diff
|
||||
to go ;; questa è una procedura turtle
|
||||
+ ifelse step < max_step or max_step = 0 [
|
||||
+ ask turtles [cerca-cibo]
|
||||
+ locate-group
|
||||
+ ;plotxy step groups
|
||||
+ set step step + 1
|
||||
+ tick
|
||||
+ ]
|
||||
+ [ user-message (word "La simulazione ha raggiunto i " max_step " passi.")]
|
||||
end
|
||||
```
|
||||
Il go strutturato in questo modo permette di gestire il numero massimo di passi per la simulazione e richiama locate-groups ad ogni tick.
|
||||
|
|
Loading…
Reference in a new issue