Bisogni interni
Valori che cambiano da soli nel tempo e modificano il comportamento, come la fame o la stanchezza di un essere vivente. Qui l’energia cala a ogni fotogramma, e con lei la velocità, la dimensione e il colore della creatura, che a energia zero si ferma; ogni clic le dà da mangiare.
Clicca sul canvas per dare da mangiare alla creatura.
Algoritmo
a ogni fotogramma: draw()
ridurre l'energia, senza scendere sotto zero max()
far avanzare il tempo interno, tanto più quanta più energia map()
calcolare la posizione dal tempo interno noise()
disegnare la creatura, più grande e scura con più energia
a ogni clic: mousePressed()
aumentare l'energia, senza superare 100 min()
Istruzioni
max() restituisce il più grande dei due valori: l’energia cala di 0.1 a ogni fotogramma, da 100 a 0 in circa 17 secondi, e poi resta a zero. Allo stesso modo min(), nel clic, la ferma a 100.
Il tempo di noise() avanza in proporzione all’energia: di 0.02 a ogni fotogramma con 100, per niente con 0. La velocità cambia senza salti, perché ogni posizione riparte da quella del fotogramma precedente.
Variazioni
Con
max( energia - 0.3, 0 )al posto dimax( energia - 0.1, 0 )la fame arriva tre volte più in fretta.
Con queste righe dopo
fill()la creatura diventa rossa quando l’energia scende sotto 30, come in uno stato di allarme: