This class is the engine of the program. It encapsulates all the methods to do with managing scores, commands and player states(dead/alive).
Operator.cpp
- Committer:
- domkay97
- Date:
- 2017-04-15
- Revision:
- 5:84dfbfb17ef2
- Parent:
- 4:62dcc005f7a7
- Child:
- 6:9882809b0694
File content as of revision 5:84dfbfb17ef2:
#include "Operator.h" Operator::Operator() { } Operator::~Operator() { } void Operator::init() { } int Operator::read_input(Controller &pad) { return(pad.check_for_buttons()); } int Operator::random_instruction(Display &display, N5110 &lcd) { int ran = rand() % 7 + 1; display.display_instruction(lcd, ran); return ran; } void Operator::Correct(Controller &pad) { score++; pad.led(1,1); pad.led(2,1); pad.led(3,1); pad.tone(100.0,0.2); } void Operator::Game_Over(Controller &pad, N5110 &lcd) { pad.tone(700.0,1); while(pad.check_event(Controller::BACK_PRESSED) == false) { Assessment(lcd, score); pad.leds_off(); pad.led(4,1); pad.led(5,1); pad.led(6,1); } score = 0; } void Operator::Assessment(N5110 &lcd, int score) { lcd.printString("Game Over",16,0); char buffer[14]; if (score < 10) { sprintf(buffer,"0%d",score); lcd.printString("Newbie",26,4); } else if (score < 20) { sprintf(buffer,"%2d",score); lcd.printString("Amuteur",25,4); } else if (score < 30) { sprintf(buffer,"%2d",score); lcd.printString("Semi-Pro",24,4); } else if (score < 30) { sprintf(buffer,"%2d",score); lcd.printString("Professional",20,4); } else if (score < 40) { sprintf(buffer,"%2d",score); lcd.printString("Expert",26,4); } else if (score < 50) { sprintf(buffer,"%2d",score); lcd.printString("Legendary",20,4); } else { sprintf(buffer,"%2d",score); lcd.printString("World Class",18,4); } lcd.printString(buffer,37,2); lcd.drawCircle(42,20,10,FILL_TRANSPARENT); lcd.refresh(); }