test avoid bulled game

Dependencies:   C12832_lcd LCD_fonts mbed mbed-rtos

Stage.cpp

Committer:
th_mbed
Date:
2016-12-09
Revision:
15:400760117d9d
Parent:
13:70e31c1d8205
Child:
21:1911f2c4684b

File content as of revision 15:400760117d9d:

#include "point.h"
#include "models.h"

Stage::Stage(int v){
    this->v = v;
    length = STEP_NUM;
    for(int i = 0; i < STEP_NUM; i++){
        stage[i].x = i * ONE_STEP_SIZE;
        stage[i].y = LCD_Y - 2; //height is 1
    }
}

point* Stage::getStage(){
    point result[STEP_NUM];
    for(int i = 0; i < STEP_NUM; i++){
        int next_x = this->stage[i].x - this->v;
        if(next_x < 0){
            //stage fade out
            getCircledList(stage);
        }else{
            //simly slide stage
            stage[i].x = next_x;
        }
    }
    //copy stage
    for(int i = 0;i < STEP_NUM;i++){
        result[i] = stage[i];
    }
    return result;
}
void Stage::getCircledList(point* s){
    point result[STEP_NUM];
    for(int i = 0; i < STEP_NUM;i++){
        if(i == STEP_NUM - 1){
            s[i].x = LCD_X;
            s[i].y = LCD_Y - 2;
        }else{
            s[i] = s[i+1];
        }
    }
}