Package epidemic.strategies.movement
Class SeekMateStrategy
java.lang.Object
epidemic.strategies.movement.SeekMateStrategy
- All Implemented Interfaces:
MovementStrategy
Strategia prokreacyjna (wzorzec Strategy) ukierunkowująca agenta na poszukiwanie
najbliższego, potencjalnego partnera do rozrodu.
Wykorzystuje mechanizm zachłannego wyszukiwania (greedy search) w określonym promieniu,
priorytetyzując przetrwanie gatunku poprzez dobór zdrowych jednostek.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncalculateNextPosition(Agent agent, WorldMap world) Wyznacza wektor ruchu skierowany w stronę najbliższego, kompatybilnego partnera.
-
Constructor Details
-
SeekMateStrategy
public SeekMateStrategy()
-
-
Method Details
-
calculateNextPosition
Wyznacza wektor ruchu skierowany w stronę najbliższego, kompatybilnego partnera. Algorytm skanuje otoczenie w promieniu zdefiniowanym konfiguracją (movement.seekMate.radius) i filtruje jednostki pod kątem zgodności gatunkowej, osiągnięcia dojrzałości płciowej oraz pełnego zdrowia (status HEALTHY). W przypadku braku odpowiednich kandydatów, strategia uruchamia mechanizm zapasowy (fallback), przechodząc w tryb błądzenia losowego.- Specified by:
calculateNextPositionin interfaceMovementStrategy- Parameters:
agent- Agent poszukujący partnera.world- Aktualny stan mapy dostarczający indeks przestrzenny sąsiadów.- Returns:
- Nowa pozycja przybliżająca agenta do partnera lub losowy krok w terenie.
-