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 Type
    Method
    Description
    Oblicza docelową pozycję agenta w następnej epoce symulacji.
  • Method Details

    • calculateNextPosition

      Point2D calculateNextPosition(Agent agent, WorldMap world)
      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ć.