Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
ws2021:code3 [2021/01/21 16:42] sarah-j-28 angelegt |
ws2021:code3 [2021/01/21 16:48] (aktuell) n.gujejiani |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | <code Python> | ||
import numpy as np | import numpy as np | ||
import random | import random | ||
import turtle | import turtle | ||
+ | |||
+ | # zustände: | ||
+ | # S - susceptible - ansteckungsfähig - grün | ||
+ | # I - infected - angesteckt - orange | ||
+ | # C - contagious - ansteckend - rot | ||
+ | # R - recovered - genesen - blau | ||
class Agent(): # erstellt die KLasse fuer die Agenten | class Agent(): # erstellt die KLasse fuer die Agenten | ||
- | def __init__(self, id, tage = 0, condition = 'S', position = np.zeros(2)): # S = Susceptible (Anfangszustand) | + | def __init__(self, id, days = 0, condition = 'S', position = np.zeros(2)): # S = Susceptible (Anfangscondition) |
self.condition = condition | self.condition = condition | ||
- | self.tage = tage | + | self.days = days |
#self.position = position | #self.position = position | ||
- | self.geschwindigkeit = np.zeros(2) | + | #self.speed = np.zeros(2) |
self.id = id | self.id = id | ||
self.ball = turtle.Turtle() | self.ball = turtle.Turtle() | ||
- | def laufen(self, dt): | + | #susceptible |
- | self.geschwindigkeit += np.random.uniform(-1,1) # Geschwindigkeitsvektor: Agent geht in zufällige Richtung | + | def isSusceptible(self): |
- | self.position += self.geschwindigkeit*dt # ein Schritt im Zeitabschnitt dt | + | return self.condition == 'S' |
- | def exposure(self): | + | ''' |
+ | def walk(self, dt): | ||
+ | self.speed += np.random.uniform(-1,1) # speedsvektor: Agent geht in zufällige Richtung | ||
+ | self.position += self.speed*dt # ein Schritt im Zeitabschnitt dt ''' | ||
+ | |||
+ | # infected | ||
+ | def setInfected(self): | ||
self.ball.color("orange") | self.ball.color("orange") | ||
- | self.condition = "E" | + | self.condition = "I" |
- | self.tage = 1 | + | self.days = 1 |
- | def anstecken(self): | + | def isInfected(self): |
+ | return self.condition == 'I' | ||
+ | |||
+ | # contagious | ||
+ | def setContagious(self): | ||
self.ball.color("red") | self.ball.color("red") | ||
- | self.condition = 'I' | + | self.condition = 'C' |
- | self.tage = 800 | + | self.days = 800 |
+ | def isContagious(self): | ||
+ | return self.condition == 'C' | ||
- | def recovered(self): | + | |
+ | def setRecovered(self): | ||
self.ball.color("blue") | self.ball.color("blue") | ||
self.condition = 'R' | self.condition = 'R' | ||
- | self.tage = 0 | + | self.days = 0 |
+ | |||
+ | def isRecovered(self): | ||
+ | return self.condition == 'R' | ||
- | def __str__(self): | + | def str(self): |
- | return("Agent Position: " + str(self.position) + ", Zustand: " + str(self.condition)) | + | return("Agent Position: " + str(self.position) + ", Condition: " + str(self.condition)) |
+ | </code> |