This is my first java project for a university course to simulate the covid virus spreading among people.
The simulator is built for monitoring the daily propagation of a virus among the population via a GUI in real time.
A set of rules and parameters were defined to adjust the simulation and make it more realistic. The virus behavior can be tuned by adjusting parameters like infectivity, symptomaticity and lethality. Resources, number of people and number of daily meetings among people can be controlled.
Different people states (colors) are used to distinguish among healthy🟢, infected with symptoms🔴, infected without symptoms🟡, recovered🔵 and deceased⚫ people.
People can produce and consume resources daily, based on their state. Infected with symptoms and deceased people movement is freezed in the simulation.
Various possible strategies were implemented to try to reduce the virus spreading.
A collision detection mechanism is applied to determine when two people meet, and decide, based on the virus infectivity (probability), if the other person has been infected.
The gui is created with Java Swing.