This class is the engine of the program. It encapsulates all the methods to do with managing scores, commands and player states(dead/alive).

Committer:
domkay97
Date:
Fri Apr 21 10:55:23 2017 +0000
Revision:
8:93f18f1c1241
Parent:
7:5d9b9d0bc6e7
Child:
9:54c620f7d736
Added multiplayer features and seeded my random number variable to make it 'more random'

Who changed what in which revision?

UserRevisionLine numberNew contents of line
domkay97 0:3097759acb02 1 #ifndef OPERATOR_H
domkay97 0:3097759acb02 2 #define OPERATOR_H
domkay97 0:3097759acb02 3
domkay97 0:3097759acb02 4 #include "mbed.h"
domkay97 0:3097759acb02 5 #include "N5110.h"
domkay97 0:3097759acb02 6 #include "Display.h"
domkay97 1:0f98beb0993b 7 #include "Controller.h"
domkay97 0:3097759acb02 8
domkay97 8:93f18f1c1241 9
domkay97 8:93f18f1c1241 10 struct Player {
domkay97 8:93f18f1c1241 11 float wait; /**< float for wair time */
domkay97 8:93f18f1c1241 12 bool status; /**< true/flase alive or dead */
domkay97 8:93f18f1c1241 13 int score; /**< score */
domkay97 8:93f18f1c1241 14 };
domkay97 8:93f18f1c1241 15
domkay97 0:3097759acb02 16 class Operator
domkay97 0:3097759acb02 17 {
domkay97 0:3097759acb02 18
domkay97 7:5d9b9d0bc6e7 19 public:
domkay97 7:5d9b9d0bc6e7 20
domkay97 7:5d9b9d0bc6e7 21 /**Contructor*/
domkay97 0:3097759acb02 22 Operator();
domkay97 7:5d9b9d0bc6e7 23
domkay97 7:5d9b9d0bc6e7 24 /**Destructor*/
domkay97 0:3097759acb02 25 ~Operator();
domkay97 0:3097759acb02 26
domkay97 0:3097759acb02 27
domkay97 7:5d9b9d0bc6e7 28 /**
domkay97 7:5d9b9d0bc6e7 29 * @brief generates a random interger to be used in the display class to represent an instruction
domkay97 7:5d9b9d0bc6e7 30 * @return void random interger
domkay97 7:5d9b9d0bc6e7 31 */
domkay97 7:5d9b9d0bc6e7 32 int random_instruction(Display &display, N5110 &lcd);
domkay97 7:5d9b9d0bc6e7 33
domkay97 8:93f18f1c1241 34 /**
domkay97 8:93f18f1c1241 35 * @brief Method to test the player
domkay97 8:93f18f1c1241 36 * @return true/false on Success
domkay97 8:93f18f1c1241 37 */
domkay97 8:93f18f1c1241 38 bool test_player(int nextplayer, Controller &ctrl, Display &display, N5110 &lcd);
domkay97 8:93f18f1c1241 39
domkay97 8:93f18f1c1241 40 /**
domkay97 8:93f18f1c1241 41 * @brief Method to check if both players are dead
domkay97 8:93f18f1c1241 42 * @return true/false
domkay97 8:93f18f1c1241 43 */
domkay97 8:93f18f1c1241 44 bool check_dead();
domkay97 8:93f18f1c1241 45
domkay97 8:93f18f1c1241 46 /** Method performed when the user performs the RIGHT instruction on time, score is increased, lighting and sound performed.*/
domkay97 8:93f18f1c1241 47 void Correct(int next_player, Controller &ctrl);
domkay97 8:93f18f1c1241 48
domkay97 8:93f18f1c1241 49 /** Method performed when the user performs the WRONG instruction on time */
domkay97 8:93f18f1c1241 50 void InCorrect(int next_player, Controller &ctrl);
domkay97 8:93f18f1c1241 51
domkay97 8:93f18f1c1241 52 /** Methord to set up array of Player stut */
domkay97 8:93f18f1c1241 53
domkay97 8:93f18f1c1241 54 void setup_players(int num_players);
domkay97 8:93f18f1c1241 55
domkay97 7:5d9b9d0bc6e7 56 /** Methord performed when the user is too slow or performs the wrong instruction, score is displayed, game ends */
domkay97 7:5d9b9d0bc6e7 57 void Game_Over(Controller &ctrl, N5110 &lcd);
domkay97 7:5d9b9d0bc6e7 58
domkay97 8:93f18f1c1241 59 /** Methord performed to chech which user it is and to swap after exch ten*/
domkay97 8:93f18f1c1241 60 int check_next_player(int next_player, N5110 &lcd, Controller &ctrl, Display display);
domkay97 8:93f18f1c1241 61
domkay97 7:5d9b9d0bc6e7 62 private:
domkay97 7:5d9b9d0bc6e7 63 /** This methord displays and assesses score and display a performace rating for user to see.*/
domkay97 7:5d9b9d0bc6e7 64 void Assessment(N5110 &lcd, int score);
domkay97 8:93f18f1c1241 65
domkay97 8:93f18f1c1241 66 /** This methord displays and assesses scores when multi-player*/
domkay97 8:93f18f1c1241 67 void MultiResults(N5110 &lcd);
domkay97 8:93f18f1c1241 68
domkay97 7:5d9b9d0bc6e7 69
domkay97 7:5d9b9d0bc6e7 70 float freq_change;
domkay97 7:5d9b9d0bc6e7 71 int score; // <score to indentify users progress through game
domkay97 8:93f18f1c1241 72 Player myplayers[1]; //setup players
domkay97 8:93f18f1c1241 73 int _num_players; //set num_players
domkay97 0:3097759acb02 74
domkay97 0:3097759acb02 75 };
domkay97 0:3097759acb02 76
domkay97 0:3097759acb02 77 #endif