class for obstacles in Car_race game
Diff: Obstacles.cpp
- Revision:
- 10:515df7535b2f
- Parent:
- 9:d5f90988545e
- Child:
- 11:c0922d4fda7b
diff -r d5f90988545e -r 515df7535b2f Obstacles.cpp --- a/Obstacles.cpp Fri Apr 21 21:45:49 2017 +0000 +++ b/Obstacles.cpp Tue May 02 22:25:19 2017 +0000 @@ -2,12 +2,12 @@ Obstacles::Obstacles() { - + } Obstacles::~Obstacles() { - + } void Obstacles::init(int seed) @@ -15,7 +15,7 @@ _Obstacle_x = seed; _score = 0; _totalscore = 0; - // try to draw them here in this function as we need the draw function for another purpose + // try to draw them here in this function as we need the draw function for another purpose // are we done though? we might need to split the draw function into two, one for drawing the car // and the other for drawing the obstacles as they are drawn in a time basis } @@ -23,58 +23,62 @@ void Obstacles::draw(N5110 &lcd,int seed) { _Obstacle_x = seed; - switch(_Obstacle_x){ - - case 0: - lcd.drawRect(2,11,25,2,FILL_BLACK); // it was lcd.drawRect(2,2,25,2,FILL_BLACK); - break; - - case 1: - lcd.drawRect(28,11,27,2,FILL_BLACK); // it was lcd.drawRect(28,2,27,2,FILL_BLACK); - break; - - case 2: - lcd.drawRect(56,11,25,2,FILL_BLACK); // it was lcd.drawRect(56,2,25,2,FILL_BLACK); - break; - } + + switch(_Obstacle_x) { + case 0: + lcd.drawRect(2,11,25,2,FILL_BLACK); // it was lcd.drawRect(2,2,25,2,FILL_BLACK); + break; + + case 1: + lcd.drawRect(28,11,27,2,FILL_BLACK); // it was lcd.drawRect(28,2,27,2,FILL_BLACK); + break; + + case 2: + lcd.drawRect(56,11,25,2,FILL_BLACK); // it was lcd.drawRect(56,2,25,2,FILL_BLACK); + break; + } } void Obstacles::update(N5110 &lcd) // adjust this function to be able to store all pixels values -{ // then they are used to shift th screen - // _Obstacle_x = seed; - addScore(lcd); - char pixelstate[82][37]; // it was char pixelstate[82][46]; - for (int i=1; i<83; i+=1) { // it was for (int i=1; i<83; i+=1) { - for (int j=10; j<47; j+=1) { // it was for (int j=1; j<47; j+=1) { - if (lcd.getPixel(i,j)) { // if (lcd.getPixel(i,j)) { - pixelstate[i-1][j-10]=1; // pixelstate[i-1][j-1]=1; - } - else { - pixelstate[i-1][j-10]=0; // pixelstate[i-1][j-1]=0; - } - } - } - for (int i=1; i<83; i+=1) { // it was for (int i=1; i<83; i+=1) { - for (int j=10; j<47; j+=1) { // it was for (int j=1; j<47; j+=1) { - if ((pixelstate[i-1][j-10]) ) { // it was if ((pixelstate[i-1][j-1]) ) { - lcd.setPixel(i,j+2); // lcd.setPixel(i,j+2); - } // CAN INCREASE THE SPEED BY ADDING 1 FOR Y VALUES - if ((pixelstate[i-1][j-11]==0) ) { // if ((pixelstate[i-1][j-2]==0) ) { - lcd.setPixel(i,j+1,false); // lcd.setPixel(i,j+1,false); - } - } - } +{ + // then they are used to shift the screen + addScore(lcd); + char pixelstate[82][37]; // it was char pixelstate[82][46]; + for (int i=1; i<83; i+=1) { // it was for (int i=1; i<83; i+=1) { + for (int j=10; j<47; j+=1) { // it was for (int j=1; j<47; j+=1) { + if (lcd.getPixel(i,j)) { // if (lcd.getPixel(i,j)) { + pixelstate[i-1][j-10]=1; // pixelstate[i-1][j-1]=1; + } else { + pixelstate[i-1][j-10]=0; // pixelstate[i-1][j-1]=0; + } + } + } + for (int i=1; i<83; i+=1) { // it was for (int i=1; i<83; i+=1) { + for (int j=10; j<47; j+=1) { // it was for (int j=1; j<47; j+=1) { + if ((pixelstate[i-1][j-10]) ) { // it was if ((pixelstate[i-1][j-1]) ) { + lcd.setPixel(i,j+2); // lcd.setPixel(i,j+2); + } // CAN INCREASE THE SPEED BY ADDING 1 FOR Y VALUES + if ((pixelstate[i-1][j-11]==0) ) { // if ((pixelstate[i-1][j-2]==0) ) { + lcd.setPixel(i,j+1,false); // lcd.setPixel(i,j+1,false); + } + } + } } -void Obstacles::addScore(N5110 &lcd) +void Obstacles::addScore(N5110 &lcd) { for (int i=2; i<83; i+=1) { - if (lcd.getPixel(i,46)) { - _score++; - _totalscore++; - break; - } - } + if (lcd.getPixel(i,46)) { + _score++; + _totalscore++; + break; + } + } +} + +void Obstacles::updateScore() +{ + _score -= 10; } int Obstacles::getScore() @@ -86,12 +90,3 @@ return _totalscore; } -void Obstacles::updateScore(int Event) -{ - if (Event == 0) { - _score -= 10; - } - else if (Event == 1) { - _score -= 10; - } -} \ No newline at end of file