NerfUS game coordinator for the Nerf gun firing range

Dependencies:   HardwareInterface mbed-rtos mbed

Fork of NerfUS by NerfUS

source/PlayableGame.cpp

Committer:
Ismael Balafrej
Date:
2017-03-27
Branch:
PlayableGame
Revision:
18:469c8b2a9af9
Parent:
17:48474266a361
Child:
19:33e8cd56630f

File content as of revision 18:469c8b2a9af9:

#include "PlayableGame.hpp"

PlayableGame::PlayableGame(std::vector<TargetInfo> *targets, RandomNumberGenerator& random_number_generator) :
    random_number_generator(random_number_generator)
{
}

bool PlayableGame::IsWeaponValid(int weaponId)
{
    return true;
}

TargetInfo *PlayableGame::GetRandomTarget(int 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;
}

int PlayableGame::GetPoints()
{
    return points;
}

GameStats PlayableGame::GetStats()
{
    stats.accuracy = stats.numberOfHits * 10000 / (stats.numberOfHits + stats.numberOfMiss);
    return stats;
}