NerfUS game coordinator for the Nerf gun firing range
Dependencies: HardwareInterface mbed-rtos mbed
Fork of NerfUS by
source/GameCoordinator.cpp@18:469c8b2a9af9, 2017-03-27 (annotated)
- 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?
User | Revision | Line number | New 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 | } |