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 PrecisionMode.cpp Source File

PrecisionMode.cpp

00001 #include "PrecisionMode.hpp"
00002 
00003 TargetInfo * PrecisionMode::GetNextTarget()
00004 {
00005     if (numberOfRounds-- == 0) {
00006         return NULL;
00007     }
00008     TargetInfo * new_target = &((*this->targets)[currentTarget]);
00009 
00010     currentTarget = (currentTarget + 1) % this->targets->size();
00011     new_target->type = TARGET_TYPE_ENEMY;
00012     new_target->timeout_ms = 30000; //30 seconds
00013 
00014     return new_target;
00015 }
00016 
00017 void PrecisionMode::OnTargetHit(int timeTaken)
00018 {
00019     stats.numberOfHits++;
00020     points += 2;
00021 }
00022 void PrecisionMode::OnTargetMiss()
00023 {
00024     stats.numberOfMiss++;
00025     points -= 5;
00026 }
00027 
00028 GameStats PrecisionMode::GetStats()
00029 {
00030     //Seems pretty basic... move to PlayableGame class ?
00031     
00032     //TODO: Complete the stats
00033     //stats.timeTaken
00034     //stats.averageTimePerTarget
00035     return stats;
00036 }