Class PanickedDecisionStrategy

java.lang.Object
epidemic.strategies.decision.PanickedDecisionStrategy
All Implemented Interfaces:
DecisionStrategy

public class PanickedDecisionStrategy extends Object implements DecisionStrategy
Strategia decyzyjna (wzorzec Strategy) modelująca zachowanie jednostek wykazujących panikę. Agent z tym profilem posiada bardzo niski próg tolerancji na zagrożenie w otoczeniu. Przekroczenie tego progu wyzwala natychmiastowe założenie maseczki ochronnej oraz przejście w tryb chaotycznej ucieczki (bądź rygorystycznego dystansowania).
  • Field Details

  • Constructor Details

    • PanickedDecisionStrategy

      public PanickedDecisionStrategy(MovementStrategy panicMovementStrategy, MovementStrategy calmMovementStrategy, MovementStrategy hospitalMovementStrategy, MovementStrategy seekMateMovementStrategy)
      Inicjalizuje strategię paniczną z odpowiednim zestawem wstrzykniętych zachowań ruchowych.
      Parameters:
      panicMovementStrategy - Wzorzec ruchu aktywowany po przekroczeniu progu paniki.
      calmMovementStrategy - Standardowy wzorzec ruchu w stanie spoczynku.
      hospitalMovementStrategy - Strategia wyznaczająca trasę do najbliższej placówki medycznej.
      seekMateMovementStrategy - Opcjonalna strategia poszukiwania partnera do rozrodu.
  • Method Details

    • makeDecision

      public void makeDecision(Human human, WorldContext world)
      Przeprowadza ewaluację stanu psychicznego agenta na podstawie progu tolerancji zdefiniowanego w konfiguracji. Ozdrowieńcy natychmiastowo porzucają środki ochrony i wracają do stanu spoczynku. Osobniki chore priorytetyzują udanie się do szpitala. Zdrowi agenci, po przekroczeniu minimalnego progu zakażeń w społeczeństwie, wpadają w panikę, nakładając maski i zmieniając wzorzec poruszania się na ucieczkę.
      Specified by:
      makeDecision in interface DecisionStrategy
      Parameters:
      human - Agent podejmujący decyzję.
      world - Aktualny odczyt parametrów środowiskowych.
    • determinePassiveMovement

      private MovementStrategy determinePassiveMovement(Human human)