mirror of
https://github.com/Steffo99/turtle007.git
synced 2024-11-21 20:44:20 +00:00
Update README.md
Ampliata relazione
This commit is contained in:
parent
dab1caa13a
commit
33e57c8365
1 changed files with 68 additions and 0 deletions
68
README.md
68
README.md
|
@ -3,3 +3,71 @@
|
||||||
Questo progetto estende il progetto [`2-base`](https://github.com/Steffo99/turtle007/tree/2-base) aggiungendo due pozze di veleno che uccidono le formiche che provano a raccoglierlo.
|
Questo progetto estende il progetto [`2-base`](https://github.com/Steffo99/turtle007/tree/2-base) aggiungendo due pozze di veleno che uccidono le formiche che provano a raccoglierlo.
|
||||||
|
|
||||||
Le formiche morte rilasciano feromoni "negativi", che invitano le formiche circostanti ad evitare l'area con il veleno.
|
Le formiche morte rilasciano feromoni "negativi", che invitano le formiche circostanti ad evitare l'area con il veleno.
|
||||||
|
|
||||||
|
## Ambiente
|
||||||
|
|
||||||
|
### Variabile patches-own
|
||||||
|
|
||||||
|
Al modello è stata aggiunta la variabile patches-own `poison`, che indica se quella particolare patch contiene veleno.
|
||||||
|
|
||||||
|
### Aggiunte sorgenti di veleno
|
||||||
|
|
||||||
|
Sono state aggiunte due sorgenti di veleno, entrambe di range 4:
|
||||||
|
|
||||||
|
- poison1, di coordinate (14;-18);
|
||||||
|
- poison2, di coordinate (-14;14), particolarmente utile perché si trova sul percorso minimo per andare ad una delle sorgenti di cibo.
|
||||||
|
|
||||||
|
### Aggiunta funzione: t-subtract-pheromone
|
||||||
|
|
||||||
|
Questa funzione permette di sottrarre una elevata quantità di feromone dall'ambiente, fino a renderlo negativo: per una formica, è l'eqivalente del rilascio di "feromoni di allarme" volti ad allertare le compagne della presenza di veleno.
|
||||||
|
|
||||||
|
```to t-subtract-pheromone
|
||||||
|
ask patch-here [
|
||||||
|
set pheromone pheromone - 240
|
||||||
|
]
|
||||||
|
end
|
||||||
|
```
|
||||||
|
### Modifica funzione: t-paint-patch
|
||||||
|
|
||||||
|
```ifelse pheromone >= 0
|
||||||
|
[ set pcolor scale-color pheromone-color pheromone 0 pheromone-max]
|
||||||
|
[ set pcolor scale-color poison-color pheromone 0 pheromone-min]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Comportamento delle formiche
|
||||||
|
|
||||||
|
Il comportamento delle formiche è stato cambiato nei seguenti modi:
|
||||||
|
|
||||||
|
#### Aggiunta funzione: `t-is-over-poison`
|
||||||
|
|
||||||
|
```to-report t-is-over-poison
|
||||||
|
report ([poison] of patch-here = 1)
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Aggiunta funzione: `t-try-pick up poison`
|
||||||
|
|
||||||
|
```to t-try-pick-up-poison
|
||||||
|
if carrying-food = 0 and t-is-over-poison [
|
||||||
|
t-pick-up-poison
|
||||||
|
]
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Aggiunta funzione: `t-pick-up-poison`
|
||||||
|
|
||||||
|
```to t-pick-up-poison
|
||||||
|
ask patch-here [
|
||||||
|
set poison 0
|
||||||
|
]
|
||||||
|
t-subtract-pheromone
|
||||||
|
die
|
||||||
|
rt 180
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
## Dinamica del sistema
|
||||||
|
|
||||||
|
Come nella precedente versione, le formiche vagano alla ricerca di cibo. Se trovano del veleno, lo raccolgono credendolo cibo, e per questo muoiono. Alla loro morte rilasciano una grande quantità di feromoni negativi, in modo da tentare di evitare che le compagne facciano la stessa fine. Per un po' i ferormoni negativi tengono lontane le formiche, ma con il tempo suddetto feromone evapora, e una nuova formica torna a cadere nella trappola.
|
||||||
|
|
||||||
|
Tale trappola è molto efficace se messa sul cammino per una fonte di cibo (come è accaduto con poison2): le formiche che trasportano cibo al nido rilasciano feromoni in ogni momento, quindi anche mentre passano sopra al veleno, e questo contribuisce a mitigare l'effetto degli ormoni negativi e a far dirigere ancora più formiche verso la trappola velenosa.
|
||||||
|
|
Loading…
Reference in a new issue