- loosingInfectionRate (70%, game end)
- deathRateAboveICU
- deathRateBelowICU
- startRegions
- which regions
- infected population per region
- startReproducion rate
- dailyIncome
- initialIncome
- initialHappiness
- money
- clock (week/round counter)
- activeActions
- totalPopulation (constant)
- infectedPopulation
- reproductionRate
- maxICU (Intensivkapazität, Threshold ab dem Sterblichkeit steigt)
- happiness (percent)
- cost (money)
- fn apply(state)
- successProbabilty
- fn apply(state)
- duration
- warnPlayer
- whichTick
RandomGameEvent: GameEvent
probability
- input: user chosen action
- increment clock
- apply measures
- apply effects of game events (eg. random infections)
- calculate new infections based on infectedPopulation and reproductionRate for every region
newInfections = (new infections from last round) * reproductionRate * modifier
infectedPopulation += newInfections
- calculate deaths
deaths += min(newInfections, maxICU) * deathRateBelowICU
if newInfections > maxICU:
deaths += (newInfections - maxICU) * deathRateAboveICU
- check loosing condition
- output