diff --git a/README.md b/README.md index 3897515..64b6968 100644 --- a/README.md +++ b/README.md @@ -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. + +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 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ì.