NerfUS game coordinator for the Nerf gun firing range
Dependencies: HardwareInterface mbed-rtos mbed
Fork of NerfUS by
PlayableGame.cpp
00001 #include "PlayableGame.hpp" 00002 00003 PlayableGame::PlayableGame(std::vector<TargetInfo> *targets, RandomNumberGenerator& random_number_generator) : 00004 random_number_generator(random_number_generator) 00005 { 00006 } 00007 00008 bool PlayableGame::IsWeaponValid(int weaponId) 00009 { 00010 return true; 00011 } 00012 00013 TargetInfo *PlayableGame::GetRandomTarget(int timeout_ms) 00014 { 00015 TargetInfo* new_target; 00016 new_target = &(this->targets->at(random_number_generator.get(0, this->targets->size()))); 00017 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 return new_target; 00022 } 00023 00024 int PlayableGame::GetPoints() 00025 { 00026 return points; 00027 } 00028 00029 void PlayableGame::Start() 00030 { 00031 iteration_timer.start(getTargetSpeed); 00032 } 00033 00034 void PlayableGame::Stop() 00035 { 00036 iteration_timer.stop(); 00037 } 00038 00039 void PlayableGame::TimerDoIteration() 00040 { 00041 TargetInfo * nextTarget = GetNextTarget(); 00042 nextTarget->riseTarget(); 00043 } 00044 00045 GameStats PlayableGame::GetStats() 00046 { 00047 stats.accuracy = stats.numberOfHits * 10000 / (stats.numberOfHits + stats.numberOfMiss); 00048 return stats; 00049 }
Generated on Thu Jul 14 2022 07:10:37 by 1.7.2