test avoid bulled game
Dependencies: C12832_lcd LCD_fonts mbed mbed-rtos
Revision 15:400760117d9d, committed 2016-12-09
- Comitter:
- th_mbed
- Date:
- Fri Dec 09 13:28:51 2016 +0000
- Parent:
- 13:70e31c1d8205
- Child:
- 16:1104089ff3cb
- Commit message:
- add Stage model.; But skeleton implement
Changed in this revision
Stage.cpp | Show annotated file Show diff for this revision Revisions of this file |
models.h | Show annotated file Show diff for this revision Revisions of this file |
--- 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
--- a/models.h Mon Dec 05 12:11:29 2016 +0000 +++ b/models.h Fri Dec 09 13:28:51 2016 +0000 @@ -8,9 +8,9 @@ //Stage params #define ONE_STEP_SIZE 15 -#define STEP_NUM LCD_X/ONE_STEP_SIZE+1 -//#define STEP_NUM 10 -#define ALL_LENGTH 1000 +//#define STEP_NUM LCD_X/ONE_STEP_SIZE+1 +#define STEP_NUM 25 +#define ALL_LENGTH 1000 //stage all length #define STAGE_V 1 //Person params @@ -59,7 +59,8 @@ point stage[STEP_NUM]; public: Stage(int v); - point* getStage(point* stage); + point* getStage(); + void getCircledList(point* s); };