Koronasimulator: Slik fungerer smittevern

Denne simulatoren viser hvordan koronaviruset smitter. 

Koronasimulatoren du ser her, er en veldig forenklet versjon av virkeligheten. Slik er det jo ofte med simuleringer, men her kan du utforske hvordan programmering kan brukes til å simulere noe på en mer realistisk måte. De ulike elementene vi legger til kan også endres på ulike måter, for å teste ulike scenarier og tiltak.

Slik er simulatoren bygget opp nå:

  • Vi starter vi med 1 "sprite" av typen syk og 99 av typen frisk.

  • Alle "sprite-ene" starter på et tilfeldig sted og beveger seg i en tilfeldig retning.

  • Når en syk sprite overlapper med en frisk sprite, endrer den friske seg fra frisk til syk.

  • I tillegg lages det kontinuerlig en "matrise (array)" som teller antall syke.

 

Klikk her for å åpne simulatoren slik den ser ut nå, før du gjør endringer. 

Under simulatoren her finner du en rekke forslag til ting som kan simuleres, samt noen tips til hvordan dette kan gjøres.

Ulike bevegelsemønstre

Akkurat nå beveger alle "sprite-ene" seg, men hvis det settes inn tiltak som begrenser bevegelsesfriheten, vil ting se annerledes ut. Hva med å bruke denne blokken til å angi hvor sannsynlig det er at en "sprite" beveger på seg? Prøv gjerne med ulike prosenttall her, og se hvordan det påvirker simuleringen.

Husk at du må bruke dette vilkåret både på de friske og den syke, hvis det skal gjelde alle.

Kodeblokk

Sykdomsforløp og immunitet

Når en person har vært syk med en virussykdom, er det som regel slik at personen blir syk. Da kan man verken bli syk på nytt eller smitte andre.

For å gi alle syke sprites en viss periode tid før de blir immune, kan vi bruke det som kalles lifespan. Hvis vi setter et lifespan til 10000, vil spriten bli ødelagt (destroyed) etter 10 sekunder.

Så kan vi bruke on destroyed, og erstatte den ødelagte spriten med en ny sprite av typen immun med nøyaktig samme posisjon og fart som den som ble ødelagt.

Klikk her hvis du trenger et hint til hvordan det kan programmeres, men prøv deg helst litt frem på egen hånd først.

Kodeblokk

Kodeblokk

Testing og karantene

Når folk begynner å føle seg syke, går det an å få testet om man er syk eller ikke. Kan du finne en måte å legge inn at syke personer har en viss sjanse for å bli oppdaget? Den syke blir i så tilfelle satt i karantene, noe som betyr at den stopper å bevege seg.

Siden det tar litt tid før man føler seg syk, bør det kanskje gå litt tid fra man smittes til man eventuelt blir testet og satt i karantene. Hvor mange sekunder synes du det bør gå?

 

Andre forslag?

  • Det er ikke ALLE friske som kommer i kontakt med en syk person som blir smittet.
    Kan du legge inn en prosentvis sjanse for at den som møter en syk blir smittet?

  • Det er dessverre slik at ikke alle som blir syke overlever en så alvorlig sykdom heller. Hvordan kan du legge inn noe slikt i simulatoren?

Diskusjonsoppgaver:

Gruppearbeid/klasserom:

Hvordan tenker dere at simuleringen passer med virusutbruddet vi har hatt her i Norge?

  • Hva gir det beste bildet av situasjonen slik Norge opplevde det i 2020? Hva stemmer og hva stemmer ikke så godt?

  • Hvordan har andre land håndtert denne krevende situasjonen? Hva ville dere gjort annerledes for å få en realistisk simulering av dette landet?

  • Siden alle simuleringer gir litt ulike resultat, hva må du gjøre for å kunne stole mer på resultatet?

Kodeblokk

Banner