Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: NerfUSXbee PinDetect EthernetInterface JSON MFRC522 WebSocketClient mbed-rtos mbed
GameMode.hpp
00001 #pragma once 00002 #include <vector> 00003 #include "ports.hpp" 00004 #include "Target.hpp" 00005 #include "ServerData.hpp" 00006 00007 class GameMode 00008 { 00009 public: 00010 GameMode(vector<Target> *_targets) 00011 { 00012 targets = _targets; 00013 } 00014 00015 virtual ServerData GetStats() 00016 { 00017 return stats; 00018 } 00019 00020 virtual Target* GetNextTarget() = 0; 00021 virtual void OnTargetHit(int timeTaken) = 0; 00022 virtual void OnTargetMiss() = 0; 00023 virtual int getTimeBetweenTargets() 00024 { 00025 return 1000; //default to 1 sec 00026 } 00027 00028 void reset() 00029 { 00030 stats.targets = 0; 00031 stats.score = 0; 00032 stats.averageReflexTime = 0; 00033 stats.gameLength = 0; 00034 } 00035 00036 protected: 00037 ServerData stats; 00038 vector<Target>* targets; 00039 Target *GetRandomTarget() 00040 { 00041 int target_nb = rand() % targets->size(); 00042 return &(targets->at(target_nb)); 00043 00044 } 00045 };
Generated on Tue Jul 12 2022 15:36:49 by
1.7.2