![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
test avoid bulled game
Dependencies: C12832_lcd LCD_fonts mbed mbed-rtos
Diff: Stage.cpp
- Revision:
- 15:400760117d9d
- Parent:
- 13:70e31c1d8205
- Child:
- 21:1911f2c4684b
--- a/Stage.cpp Mon Dec 05 12:11:29 2016 +0000 +++ b/Stage.cpp Fri Dec 09 13:28:51 2016 +0000 @@ -5,12 +5,37 @@ this->v = v; length = STEP_NUM; for(int i = 0; i < STEP_NUM; i++){ - stage[i].x = LCD_X - i * ONE_STEP_SIZE - 1; - stage[i].y = LCD_Y - 2; - } + stage[i].x = i * ONE_STEP_SIZE; + stage[i].y = LCD_Y - 2; //height is 1 + } } -point* Stage::getStage(point* stage){ - stage = this->stage; - return stage; +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]; + } + } } \ No newline at end of file