Class MortalityManager

java.lang.Object
epidemic.managers.MortalityManager

public class MortalityManager extends Object
Moduł zarządzający cyklem życia i śmierci agentów. Wykorzystuje wstrzykniętą z zewnątrz strategię śmiertelności (wzorzec Strategy, np. krzywa sigmoidalna wieku) do obiektywnej ewaluacji ryzyka zgonu. Odpowiada za zarządzanie czasem trwania infekcji oraz proces usuwania martwych jednostek ze środowiska.
  • Field Details

  • Constructor Details

    • MortalityManager

      public MortalityManager(MortalityStrategy mortalityStrategy)
      Inicjalizuje menedżera z podaną strategią obliczania śmiertelności.
      Parameters:
      mortalityStrategy - Implementacja interfejsu ewaluującego szanse na śmierć naturalną oraz wirusową (wzorzec Dependency Injection).
  • Method Details

    • processLifeCycles

      public int processLifeCycles(WorldMap world, List<Agent> agents)
      Główna metoda przetwarzająca stan biologiczny agentów w obrębie jednej epoki. Zleca usunięcie z pamięci mapy ciał martwych agentów oraz zlicza zgony spowodowane bezpośrednio przez wirusa w bieżącym kroku czasowym.
      Parameters:
      world - Stan mapy udostępniający metody modyfikacji kolekcji agentów.
      agents - Lista agentów zakwalifikowanych do przetworzenia w bieżącym kroku.
      Returns:
      Liczba agentów, którzy zmarli na skutek wirusa w trakcie wykonywania tej metody.
    • processSickness

      private boolean processSickness(Agent agent)