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-16
- Revision:
- 7:5d9b9d0bc6e7
- Parent:
- 6:9882809b0694
- Child:
- 8:93f18f1c1241
File content as of revision 7:5d9b9d0bc6e7:
#include "Operator.h" Operator::Operator() { } Operator::~Operator() { } int Operator::random_instruction(Display &display, N5110 &lcd) { int ran = rand() % 7 + 1; printf("OPP ran = %d\n", ran); display.display_instruction(lcd, ran); return ran; } void Operator::Correct(Controller &ctrl) { score++; double freq_change = score*20; printf("OPP score = %d\n", score); ctrl.led(1,1); ctrl.led(2,1); ctrl.led(3,1); ctrl.sound(50.0 + freq_change,0.2); } void Operator::Game_Over(Controller &ctrl, N5110 &lcd) { ctrl.sound(200,1); while(ctrl.check_event(Controller::BACK_PRESSED) == false) { Assessment(lcd, score); ctrl.ledsOFF(); ctrl.led(4,1); ctrl.led(5,1); ctrl.led(6,1); } score = 0; } void Operator::Assessment(N5110 &lcd, int score) { printf("OPP.ASSESSMENT score = %d\n", 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",24,4); } else if (score < 30) { sprintf(buffer,"%2d",score); lcd.printString("Semi-Pro",23,4); } else if (score < 30) { sprintf(buffer,"%2d",score); lcd.printString("Expert",26,4); } else if (score < 40) { sprintf(buffer,"%2d",score); lcd.printString("Professional",10,4); } else if (score < 50) { sprintf(buffer,"%2d",score); lcd.printString("Legendary",16,4); } else { sprintf(buffer,"%2d",score); lcd.printString("World Class",14,4); } lcd.printString(buffer,37,2); lcd.drawCircle(42,20,10,FILL_TRANSPARENT); lcd.refresh(); }