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-14
Revision:
4:62dcc005f7a7
Parent:
3:7213eee4c093
Child:
5:84dfbfb17ef2

File content as of revision 4:62dcc005f7a7:

#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) { 
        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("Rookie",26,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("World Class",20,4); } 
        else {  
        sprintf(buffer,"%2d",score);  
        lcd.printString("Legendary",22,4); }
        lcd.printString(buffer,37,2);
        lcd.drawCircle(42,20,10,FILL_TRANSPARENT);
        lcd.refresh(); 
        pad.leds_off();
        pad.led(4,1); 
        pad.led(5,1); 
        pad.led(6,1);      
}   
    score = 0;
}