#include "RandomSpawner.h" #include #include #include namespace kurator { namespace battles { RandomSpawner::RandomSpawner(const int total_teams, const double distance, const double variation) : angle_step {2.0 * M_PI / total_teams}, device {}, distribution_d {distance - distance * variation, distance + distance * variation}, distribution_a {-variation * M_PI, variation * M_PI} { } Transform RandomSpawner::get(const int team) { const double distance = distribution_d(device); const double angle = angle_step * team + distribution_a(device); const Point position { distance * std::cos(angle), distance * std::sin(angle), }; return {position, {}}; } } // namespace battles } // namespace kurator