Package epidemic.strategies.movement
Class MaliciousPursuitStrategy
java.lang.Object
epidemic.strategies.movement.MaliciousPursuitStrategy
- All Implemented Interfaces:
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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncalculateNextPosition(Agent agent, WorldMap world) Wyznacza wektor ruchu skierowany w stronę najbliższej, zdrowej ofiary.
-
Constructor Details
-
MaliciousPursuitStrategy
public MaliciousPursuitStrategy()
-
-
Method Details
-
calculateNextPosition
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 statusieHealthStatus.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:
calculateNextPositionin interfaceMovementStrategy- 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.
-