Package epidemic.strategies.movement
Interface MovementStrategy
- All Known Implementing Classes:
MaliciousPursuitStrategy,RandomWalkStrategy,SeekHospitalStrategy,SeekMateStrategy,SocialDistancingStrategy,StaticStrategy
public interface MovementStrategy
Główny interfejs definiujący kontrakt dla wszystkich algorytmów lokomocji agentów (wzorzec Strategy).
Pozwala na polimorficzne wyliczanie kolejnej pozycji agenta w środowisku,
bazując na jego aktualnym stanie psychofizycznym i odczytach z otoczenia,
zapewniając jednocześnie łatwą rozszerzalność o nowe wzorce zachowań.
-
Method Summary
Modifier and TypeMethodDescriptioncalculateNextPosition(Agent agent, WorldMap world) Oblicza docelową pozycję agenta w następnej epoce symulacji.
-
Method Details
-
calculateNextPosition
Oblicza docelową pozycję agenta w następnej epoce symulacji.UWAGA: Zgodnie z dobrymi praktykami, metoda ta nie modyfikuje wewnętrznego stanu agenta (np. nie nadpisuje jego koordynatów). Jej jedyną odpowiedzialnością jest zwrócenie proponowanych współrzędnych, których walidacją i aplikacją zajmuje się scentralizowany Menedżer Ruchu.
- Parameters:
agent- Agent, dla którego ewaluowany jest wektor ruchu.world- Stan mapy symulacyjnej, dostarczający wiedzy o przeszkodach i innych jednostkach.- Returns:
- Nowa pozycja w dwuwymiarowej przestrzeni, na którą agent planuje się przemieścić.
-