NerfUS game coordinator for the Nerf gun firing range

Dependencies:   HardwareInterface mbed-rtos mbed

Fork of NerfUS by NerfUS

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers GameCoordinator.cpp Source File

GameCoordinator.cpp

00001 #include "GameCoordinator.hpp"
00002 
00003 GameCoordinator::GameCoordinator(RandomNumberGenerator &random_number_generator) : random_number_generator(random_number_generator)
00004 {
00005     PrecisionMode precisionMode(&(this->targets), random_number_generator);
00006     this->gameModes[0] = &precisionMode;
00007 }
00008 
00009 std::vector<TargetInfo> GameCoordinator::generate_random_target_course(const int number_of_targets, const int timeout_ms)
00010 {
00011     std::vector<TargetInfo> target_course;
00012 
00013     for (int i = 0; i < number_of_targets; ++i)
00014     {
00015         TargetInfo new_target;
00016 
00017         new_target.id = random_number_generator.get(0, number_of_targets - 1);
00018         new_target.type = random_number_generator.get(0, 1) == 0 ? TARGET_TYPE_ALLY : TARGET_TYPE_ENEMY;
00019         new_target.timeout_ms = timeout_ms;
00020 
00021         target_course.push_back(new_target);
00022     }
00023 
00024     return target_course;
00025 }