test avoid bulled game

Dependencies:   C12832_lcd LCD_fonts mbed mbed-rtos

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