Class MovementManager

java.lang.Object
epidemic.managers.MovementManager

public class MovementManager extends Object
Moduł odpowiadający za przemieszczanie podmiotów w przestrzeni symulacji. Wykorzystuje polimorfizm i wzorzec Strategii (Strategy) przypisany do każdego agenta do wyznaczenia optymalnego wektora przesunięcia, z zachowaniem spójności i granic obszaru mapy.
  • Constructor Details

    • MovementManager

      public MovementManager()
  • Method Details

    • moveAgents

      public void moveAgents(WorldMap world)
      Główna metoda przetwarzająca ruch wszystkich agentów w pojedynczej epoce. Ignoruje agentów aktualnie hospitalizowanych. Zabezpiecza przed opuszczeniem dozwolonego obszaru mapy, a po przeliczeniu wszystkich wektorów wymusza krytyczną aktualizację indeksu przestrzennego (np. drzewa/siatki wyszukiwań).
      Parameters:
      world - Stan mapy symulacyjnej udostępniający kolekcję agentów oraz granice.
    • checkHospitalInteraction

      private void checkHospitalInteraction(Agent agent, WorldMap world)