Package epidemic.factory
Class PersonalityFactory
java.lang.Object
epidemic.factory.PersonalityFactory
Fabryka odpowiedzialna za kreowanie osobowości (strategii decyzyjnych) agentów.
Centralizuje logikę losowania cech na podstawie proporcji zdefiniowanych w globalnej konfiguracji.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final MovementStrategyprivate final MovementStrategyprivate final MovementStrategyprivate final MovementStrategyprivate final MovementStrategy -
Constructor Summary
ConstructorsConstructorDescriptionPersonalityFactory(MovementStrategy seekHospital, MovementStrategy distancing, MovementStrategy normalMove, MovementStrategy seekMate, MovementStrategy maliciousPursuit) Inicjalizuje fabrykę z zestawem bazowych strategii poruszania się. -
Method Summary
Modifier and TypeMethodDescriptionGeneruje nową osobowość bazując na rozkładzie prawdopodobieństwa z pliku Config.
-
Field Details
-
seekHospital
-
distancing
-
normalMove
-
seekMate
-
maliciousPursuit
-
-
Constructor Details
-
PersonalityFactory
public PersonalityFactory(MovementStrategy seekHospital, MovementStrategy distancing, MovementStrategy normalMove, MovementStrategy seekMate, MovementStrategy maliciousPursuit) Inicjalizuje fabrykę z zestawem bazowych strategii poruszania się. Współdzielenie instancji strategii przez wszystkich agentów (wzorzec Pyłek / Flyweight) znacząco optymalizuje zużycie pamięci operacyjnej.- Parameters:
seekHospital- Strategia udania się do placówki medycznej.distancing- Strategia zachowania dystansu społecznego i unikania tłumów.normalMove- Strategia standardowego poruszania się (np. błądzenie losowe).seekMate- Strategia poszukiwania partnera do rozrodu.maliciousPursuit- Strategia celowego podążania za ofiarami w celu ich zarażenia.
-
-
Method Details
-
generateRandomPersonality
Generuje nową osobowość bazując na rozkładzie prawdopodobieństwa z pliku Config.Metoda uwzględnia parametry
human.rationalRatioorazhuman.panickedRatio. Agenci niełapiący się w powyższe pule domyślnie otrzymują zachowanie mściwe (Vindictive).- Returns:
- Nowa instancja Personality z odpowiednio przypisaną strategią decyzyjną.
-