NerfUS game coordinator for the Nerf gun firing range

Dependencies:   HardwareInterface mbed-rtos mbed

Fork of NerfUS by NerfUS

Committer:
Ismael Balafrej
Date:
Mon Mar 27 11:15:50 2017 -0400
Branch:
PlayableGame
Revision:
18:469c8b2a9af9
Parent:
16:5e6c695468b6
Child:
19:33e8cd56630f
Fixed compiling error

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Maxime Dupuis 16:5e6c695468b6 1 #include "GameCoordinator.hpp"
Maxime Dupuis 16:5e6c695468b6 2
Ismael Balafrej 18:469c8b2a9af9 3 GameCoordinator::GameCoordinator(RandomNumberGenerator &random_number_generator) : random_number_generator(random_number_generator)
Maxime Dupuis 16:5e6c695468b6 4 {
Ismael Balafrej 18:469c8b2a9af9 5 //TODO Initialize gamemodes
Ismael Balafrej 18:469c8b2a9af9 6 //this->gameModes[0] = PrecisionMode(&(this->targets), random_number_generator);
Maxime Dupuis 16:5e6c695468b6 7 }
Maxime Dupuis 16:5e6c695468b6 8
Maxime Dupuis 16:5e6c695468b6 9 std::vector<TargetInfo> GameCoordinator::generate_random_target_course(const int number_of_targets, const int timeout_ms)
Maxime Dupuis 16:5e6c695468b6 10 {
Maxime Dupuis 16:5e6c695468b6 11 std::vector<TargetInfo> target_course;
Maxime Dupuis 16:5e6c695468b6 12
Ismael Balafrej 18:469c8b2a9af9 13 for (int i = 0; i < number_of_targets; ++i)
Maxime Dupuis 16:5e6c695468b6 14 {
Maxime Dupuis 16:5e6c695468b6 15 TargetInfo new_target;
Maxime Dupuis 16:5e6c695468b6 16
Maxime Dupuis 16:5e6c695468b6 17 new_target.id = random_number_generator.get(0, number_of_targets - 1);
Maxime Dupuis 16:5e6c695468b6 18 new_target.type = random_number_generator.get(0, 1) == 0 ? TARGET_TYPE_ALLY : TARGET_TYPE_ENEMY;
Maxime Dupuis 16:5e6c695468b6 19 new_target.timeout_ms = timeout_ms;
Maxime Dupuis 16:5e6c695468b6 20
Maxime Dupuis 16:5e6c695468b6 21 target_course.push_back(new_target);
Maxime Dupuis 16:5e6c695468b6 22 }
Maxime Dupuis 16:5e6c695468b6 23
Maxime Dupuis 16:5e6c695468b6 24 return target_course;
Maxime Dupuis 16:5e6c695468b6 25 }