Package epidemic.model
Class Human
java.lang.Object
epidemic.model.Agent
epidemic.model.Human
- All Implemented Interfaces:
HospitalUser,Inspectable
Rozszerzenie agenta symulującego zawiłości i cechy gatunku ludzkiego.
Ludzie posiadają możliwość stosowania zaawansowanej profilaktyki (szczepienia, maseczki)
oraz podejmują decyzje w locie w oparciu o przydzielony im profil psychologiczny (Personality).
Implementuje interfejs HospitalUser pozwalający na interakcję ze specjalistyczną infrastrukturą mapy.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanprivate booleanprivate booleanprivate booleanprivate final Personalityprivate doubleprivate boolean -
Constructor Summary
ConstructorsConstructorDescriptionHuman(Point2D position, int age, double baseSpeed, double resistance, Personality personality, MovementStrategy movementStrategy) Inicjalizuje nową jednostkę ludzką z rozbudowanym stanem socjologicznym. -
Method Summary
Modifier and TypeMethodDescriptionZwiększa standardową listę metadanych agenta o parametry ściśle związane z gatunkiem ludzkim i infrastrukturą socjologiczną (status szczepień, szpitali oraz agresji).doubledoubleOblicza skumulowaną i zredukowaną podatność organizmu na infekcje.booleanbooleanSprawdza, czy pacjent został przyjęty i aktualnie znajduje się na oddziale szpitalnym.booleanSprawdza, czy pacjent odbył szczepienie prewencyjne.booleanWeryfikuje, czy pacjent wyraża chęć udania się do szpitala.booleanvoidsetHostile(boolean hostile) voidsetIsInHospital(boolean status) Zmienia status obecności pacjenta w placówce.voidsetResistance(double resistance) voidsetVaccinated(boolean vaccinated) Rejestruje pacjenta w systemie jako zaszczepionego.voidsetWantsHospital(boolean wantsHospital) Modyfikuje decyzję pacjenta dotyczącą chęci udania się do szpitala.voidsetWearingMask(boolean wearingMask) voidthink(WorldContext context) Wyzwala ocenę poznawczą agenta, przekazując sterowanie do obiektu typu Personality.Methods inherited from class epidemic.model.Agent
canBeInfected, decrementInfectionTimer, getAge, getBaseSpeed, getColorForStatus, getCurrentSpeed, getCurrentTarget, getHealthStatus, getLastReproductionEpoch, getMovementStrategy, getObjectName, getPosition, getRemainingInfectionEpochs, getSpeciesType, getVirulence, incrementAge, isDead, isDiedFromVirus, setCurrentSpeed, setCurrentTarget, setDead, setDiedFromVirus, setHealthStatus, setLastReproductionEpoch, setMovementStrategy, setPosition, setRemainingInfectionEpochsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface epidemic.model.HospitalUser
getHealthStatus, getPosition, getRemainingInfectionEpochs, setHealthStatus, setRemainingInfectionEpochs
-
Field Details
-
resistance
private double resistance -
personality
-
isVaccinated
private boolean isVaccinated -
isWearingMask
private boolean isWearingMask -
wantsHospital
private boolean wantsHospital -
isInHospital
private boolean isInHospital -
isHostile
private boolean isHostile
-
-
Constructor Details
-
Human
public Human(Point2D position, int age, double baseSpeed, double resistance, Personality personality, MovementStrategy movementStrategy) Inicjalizuje nową jednostkę ludzką z rozbudowanym stanem socjologicznym.- Parameters:
position- Startowa pozycja agenta na mapie wektorowej.age- Wiek w jednostkach arbitralnych używanych przez silnik do kalkulacji zgonów.baseSpeed- Indywidualna prędkość przemieszczania na jeden cykl zegarowy.resistance- Wrodzona odporność biologiczna (wartość redukująca szansę na zakażenie).personality- Profil psychologiczny zarządzający cyklem decyzyjnym (think).movementStrategy- Domyślny wzorzec lokomocji nadany agentowi.
-
-
Method Details
-
getInspectionProperties
Zwiększa standardową listę metadanych agenta o parametry ściśle związane z gatunkiem ludzkim i infrastrukturą socjologiczną (status szczepień, szpitali oraz agresji).- Specified by:
getInspectionPropertiesin interfaceInspectable- Overrides:
getInspectionPropertiesin classAgent- Returns:
- Uporządkowana i pokolorowana lista obiektów InspectionProperty.
-
think
Wyzwala ocenę poznawczą agenta, przekazując sterowanie do obiektu typu Personality. Na podstawie aktualnych danych (context), agent może zmienić stan swoich maseczek, chęć hospitalizacji, a w skrajnych przypadkach zaktualizować swój obiekt strategii MovementStrategy. -
getResistance
public double getResistance() -
setResistance
public void setResistance(double resistance) -
getPersonality
-
isVaccinated
public boolean isVaccinated()Description copied from interface:HospitalUserSprawdza, czy pacjent odbył szczepienie prewencyjne.- Specified by:
isVaccinatedin interfaceHospitalUser- Returns:
true, jeśli organizm uzyskał odporność poszczepienną.
-
setVaccinated
public void setVaccinated(boolean vaccinated) Description copied from interface:HospitalUserRejestruje pacjenta w systemie jako zaszczepionego.- Specified by:
setVaccinatedin interfaceHospitalUser- Parameters:
vaccinated- Docelowy stan szczepienia.
-
isWearingMask
public boolean isWearingMask() -
setWearingMask
public void setWearingMask(boolean wearingMask) -
setWantsHospital
public void setWantsHospital(boolean wantsHospital) Description copied from interface:HospitalUserModyfikuje decyzję pacjenta dotyczącą chęci udania się do szpitala.- Specified by:
setWantsHospitalin interfaceHospitalUser- Parameters:
wantsHospital- Zaktualizowana wartość chęci na hospitalizację.
-
isHostile
public boolean isHostile() -
setHostile
public void setHostile(boolean hostile) -
isWantsHospital
public boolean isWantsHospital()Description copied from interface:HospitalUserWeryfikuje, czy pacjent wyraża chęć udania się do szpitala.- Specified by:
isWantsHospitalin interfaceHospitalUser- Returns:
true, jeśli pacjent aktywnie dąży do hospitalizacji.
-
isInHospital
public boolean isInHospital()Description copied from interface:HospitalUserSprawdza, czy pacjent został przyjęty i aktualnie znajduje się na oddziale szpitalnym.- Specified by:
isInHospitalin interfaceHospitalUser- Returns:
true, jeśli pacjent fizycznie korzysta z placówki.
-
setIsInHospital
public void setIsInHospital(boolean status) Description copied from interface:HospitalUserZmienia status obecności pacjenta w placówce.- Specified by:
setIsInHospitalin interfaceHospitalUser- Parameters:
status-trueprzy przyjęciu,falsepo zwolnieniu pacjenta.
-
getVulnerabilityMultiplier
public double getVulnerabilityMultiplier()Oblicza skumulowaną i zredukowaną podatność organizmu na infekcje. Pobiera wagi wpływu z konfiguracji (Config) w celu zbilansowania wartości ochrony, wliczając zastosowanie wrodzonej rezystancji biologicznej oraz wyposażenia osobistego. Mniejszy zwrot funkcji odzwierciedla zwiększone szanse na pomyślne przetrwanie bliskiego kontaktu.- Overrides:
getVulnerabilityMultiplierin classAgent- Returns:
- Skalar określający ostateczny współczynnik podatności komórek w ciele agenta na patogen.
-