NerfUS game coordinator for the Nerf gun firing range

Dependencies:   HardwareInterface mbed-rtos mbed

Fork of NerfUS by NerfUS

Branch:
PlayableGame
Revision:
18:469c8b2a9af9
Parent:
17:48474266a361
Child:
19:33e8cd56630f
--- a/source/PlayableGame.cpp	Fri Mar 17 17:19:42 2017 -0400
+++ b/source/PlayableGame.cpp	Mon Mar 27 11:15:50 2017 -0400
@@ -1,6 +1,6 @@
 #include "PlayableGame.hpp"
 
-PlayableGame::PlayableGame(RandomNumberGenerator& random_number_generator) :
+PlayableGame::PlayableGame(std::vector<TargetInfo> *targets, RandomNumberGenerator& random_number_generator) :
     random_number_generator(random_number_generator)
 {
 }
@@ -10,13 +10,13 @@
     return true;
 }
 
-TargetInfo PlayableGame::GetRandomTarget(int timeout_ms)
+TargetInfo *PlayableGame::GetRandomTarget(int timeout_ms)
 {
-    TargetInfo new_target;
-
-    new_target.id = random_number_generator.get(0, NUMBER_OF_TARGETS);
-    new_target.type = random_number_generator.get(0, 1) == 0 ? TARGET_TYPE_ALLY : TARGET_TYPE_ENEMY;
-    new_target.timeout_ms = timeout_ms;
+    TargetInfo* new_target;
+    new_target = &(this->targets->at(random_number_generator.get(0,  this->targets->size())));
+    
+    new_target->type = random_number_generator.get(0, 1) == 0 ? TARGET_TYPE_ALLY : TARGET_TYPE_ENEMY;
+    new_target->timeout_ms = timeout_ms;
 
     return new_target;
 }