Closed dybber closed 4 years ago
Alle agenter i epidemi-modellen undviger nu syge agenter (syge agenter undviger også andre syge agenter). Det er dog ikke helt fejlfrit, da afstandsberegningen ikke kan ske helt korrekt med den torodiale simulations-flade (så de registrerer f.eks. ikke en syg agent, der står tæt på den anden side af simulations-fladen).
Det er lidt kringlet skrevet, så jeg genåbner lige med nogle kommentarer til hvordan vi kan gøre det lettere at forstå.
Jeg prøver først lige at forklare hvordan jeg forstår koden til at holde afstand, her i epidemic.py: https://github.com/DatalogiForAlle/pyagents/blob/master/epidemic.py#L32
For at holde afstand gør en agent følgende:
Feedback:
Måske skal hele beregningen af "average_angle" egentlig være sin selvstændige funktion på den måde kan du skrive det sådan:
Jeg er enig i at der burde være en direction_to
eller angle_to
, jeg overvejede det faktisk, da jeg sad og arbejdede på det, men det endte så med at blive en smule "hacket" alligevel.
infection
fungerer ganske rigtigt som en tæller, der bestemmer i hvor mange ticks endnu at en agent er syg. Man kunne selvfølgelig have både en boolean og en counter, men jeg føler godt, at man kan lave det på denne her måde, uden, at det bliver for kringlet.
Har skubbet nogle ændringer til epidemic.py
baseret på feedback.
De skal ikke garantere afstand, men bare forsøge at gå i en retning, hvor de regner med mindst sandsynligt at støde på andre agenter.