1
Fork 0
mirror of https://github.com/Steffo99/turtle007.git synced 2024-11-21 20:44:20 +00:00

Formattazione

This commit is contained in:
Steffo 2020-06-17 18:27:13 +02:00
parent b3ec96afbb
commit 3f25ae4c0e
Signed by: steffo
GPG key ID: 896A80F55F7C97F0

View file

@ -1,46 +1,51 @@
# `2-ant-apocalypse`
Questo progetto estende il progetto [`2-base`](https://github.com/Steffo99/turtle007/tree/2-base) tenendo traccia del cibo accumulato dalle formiche nel loro formicaio e facendole morire lentamente nel caso che esso finisca.
Questo branch estende il progetto [`2-base`](https://github.com/Steffo99/turtle007/tree/2-base) tenendo traccia del cibo accumulato dalle formiche nel loro formicaio e facendole morire lentamente nel caso che esso finisca.
Inoltre, fa ricomparire il cibo nell'ambiente a intervalli irregolari di tempo.
## Aggiunte / Modifiche
### Aggiunto: t-set-hunger
### Aggiunto: `t-set-hunger`
```diff
+ to t-set-hunger
+ if random-float 100 < hunger-increase-pct[
+ set hunger hunger + hunger-per-tick
+ ]
+ end
+to t-set-hunger
+ if random-float 100 < hunger-increase-pct[
+ set hunger hunger + hunger-per-tick
+ ]
+end
```
Questa funzione aumenta la fame della formica casualmente.
### Aggiunto: t-try-eat-food
### Aggiunto: `t-try-eat-food`
```diff
+ to t-try-eat-food
+ if carrying-food = 1[
+ set hunger 0
+ set carrying-food 0
+ ]
+ if t-is-over-nest and food-in-nest > 0[
+ set hunger 0
+ set food-in-nest food-in-nest - 1]
+ end
+to t-try-eat-food
+ if carrying-food = 1[
+ set hunger 0
+ set carrying-food 0
+ ]
+ if t-is-over-nest and food-in-nest > 0[
+ set hunger 0
+ set food-in-nest food-in-nest - 1]
+end
```
Questa funzione permette alla formica di provare a consumare cibo.
Se si trova sul nido, riduce di 1 la scorta del magazzino, se ne sta trasportando mangia quello.
### Modificato: t-work
### Modificato: `t-work`
```diff
to t-work
+ ifelse carrying-food = 1 or (hunger >= hunger-threshold and enable-hunger)[
+ t-rotate-nest
+ if carrying-food = 1[
+ t-add-pheromone]
+ ][
+ t-rotate-pheromone
+ ]
to t-work
+ ifelse carrying-food = 1 or (hunger >= hunger-threshold and enable-hunger)[
+ t-rotate-nest
+ if carrying-food = 1[
+ t-add-pheromone]
+ ][
+ t-rotate-pheromone
+ ]
left random random-angle
right random random-angle
fd 1
@ -52,24 +57,28 @@ to t-work
+ if hunger >= hunger-max [
+ die]
+ ]
end
end
```
Se la formica è affamata (e la fame è attiva), la formica si dirige verso il nido per mangiare.
Se la fame supera una certa soglia prova a mangiare il cibo e se non riesce a farlo prima che superi un valore massimo, la formica muore.
### Aggiunto: p-respawn-food
### Aggiunto: `p-respawn-food`
```diff
+to p-respawn-food
+ if random-float 100 < food-respawn-pct[
+ setup-food
+ ]
+ end
+end
```
Questa funzione permette al cibo di ricomparire con una certa probabilità.
### Modificato: go
### Modificato: `go`
```diff
to go
to go
tick
ask ants [t-work]
ask patches [p-evaporate-pheromone]
@ -78,10 +87,12 @@ to go
ask ants [t-paint-ant]
+ if enable-food-respawn and ticks mod food-ticks = 0[
+ p-respawn-food
]
end
+ ]
end
```
Il go ora consente di rigenerare il cibo.
Il `go` ora rigenererà il cibo.
## Attivazione / Disattivazione
Le feature di questo branch possono venire abilitate o disabilitate con gli switch `enable-hunger` e `enable-food-respawn`.
@ -102,6 +113,7 @@ Le modifiche in questo ambito sono le seguenti:
- Ad ogni tick, le formiche hanno una certa probabilità di aumentare il loro valore `hunger` (che parte da 0) di una certa quantità.
- La probabilità può essere alterata dall'utente interagendo con lo slider `hunger-increase-pct`.
- La quantità può essere modificata dall'utente interagendo con il controllo `hunger-per-tick`.
- Nel caso in cui il valore `hunger` della formica superi una certa soglia (`hunger-threshold`), la formica si mette alla ricerca del cibo per sopravvivere. Se il valore `hunger` supera il parametro `hunger-max`, la formica muore.
- Se la formica sta trasportando cibo, mangia il cibo che sta trasportando.
- Se la formica non sta trasportando cibo, si reca al nest sperando di trovarne lì.