Class MaliciousPursuitStrategy

java.lang.Object
epidemic.strategies.movement.MaliciousPursuitStrategy
All Implemented Interfaces:
MovementStrategy

public class MaliciousPursuitStrategy extends Object implements MovementStrategy
Złośliwa i agresywna implementacja strategii ruchu. Agent przypisany do tej strategii aktywnie skanuje swoje otoczenie w poszukiwaniu zdrowych jednostek, a następnie modyfikuje swój wektor ruchu tak, aby maksymalnie skrócić do nich dystans i doprowadzić do zakażenia kropelkowego.
  • Constructor Details

    • MaliciousPursuitStrategy

      public MaliciousPursuitStrategy()
  • Method Details

    • calculateNextPosition

      public Point2D calculateNextPosition(Agent agent, WorldMap world)
      Wyznacza wektor ruchu skierowany w stronę najbliższej, zdrowej ofiary. Skanuje otoczenie w promieniu określonym w konfiguracji (movement.malicious.radius). Mściciel obiera na celownik wyłącznie agentów o statusie HealthStatus.HEALTHY. W przypadku braku potencjalnych ofiar w zasięgu wzroku, strategia aktywuje mechanizm zapasowy (fallback), nakazując agentowi losowe błądzenie (oczekiwanie na cel).
      Specified by:
      calculateNextPosition in interface MovementStrategy
      Parameters:
      agent - Złośliwy agent ścigający ofiary.
      world - Aktualny stan mapy symulacyjnej służący do weryfikacji sąsiedztwa.
      Returns:
      Skalkulowany punkt przybliżający agenta do ofiary lub losowy krok w stanie oczekiwania.