Class Human

All Implemented Interfaces:
HospitalUser, Inspectable

public class Human extends Agent implements HospitalUser
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 Details

    • resistance

      private double resistance
    • personality

      private final Personality 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

      public List<InspectionProperty> 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:
      getInspectionProperties in interface Inspectable
      Overrides:
      getInspectionProperties in class Agent
      Returns:
      Uporządkowana i pokolorowana lista obiektów InspectionProperty.
    • think

      public void think(WorldContext context)
      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.
      Overrides:
      think in class Agent
      Parameters:
      context - Aktualny obraz świata z perspektywy centralnej administracji (wskaźniki zakażeń).
    • getResistance

      public double getResistance()
    • setResistance

      public void setResistance(double resistance)
    • getPersonality

      public Personality getPersonality()
    • isVaccinated

      public boolean isVaccinated()
      Description copied from interface: HospitalUser
      Sprawdza, czy pacjent odbył szczepienie prewencyjne.
      Specified by:
      isVaccinated in interface HospitalUser
      Returns:
      true, jeśli organizm uzyskał odporność poszczepienną.
    • setVaccinated

      public void setVaccinated(boolean vaccinated)
      Description copied from interface: HospitalUser
      Rejestruje pacjenta w systemie jako zaszczepionego.
      Specified by:
      setVaccinated in interface HospitalUser
      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: HospitalUser
      Modyfikuje decyzję pacjenta dotyczącą chęci udania się do szpitala.
      Specified by:
      setWantsHospital in interface HospitalUser
      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: HospitalUser
      Weryfikuje, czy pacjent wyraża chęć udania się do szpitala.
      Specified by:
      isWantsHospital in interface HospitalUser
      Returns:
      true, jeśli pacjent aktywnie dąży do hospitalizacji.
    • isInHospital

      public boolean isInHospital()
      Description copied from interface: HospitalUser
      Sprawdza, czy pacjent został przyjęty i aktualnie znajduje się na oddziale szpitalnym.
      Specified by:
      isInHospital in interface HospitalUser
      Returns:
      true, jeśli pacjent fizycznie korzysta z placówki.
    • setIsInHospital

      public void setIsInHospital(boolean status)
      Description copied from interface: HospitalUser
      Zmienia status obecności pacjenta w placówce.
      Specified by:
      setIsInHospital in interface HospitalUser
      Parameters:
      status - true przy przyjęciu, false po 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:
      getVulnerabilityMultiplier in class Agent
      Returns:
      Skalar określający ostateczny współczynnik podatności komórek w ciele agenta na patogen.