Ben Evans / Mbed 2 deprecated Defender_Game

Dependencies:   mbed

Revision:
61:7c4ec680a428
Parent:
60:55fdc6bb29b9
Child:
62:f0c86a854a9e
--- a/SavedGames/SavedGames.cpp	Wed May 20 18:14:42 2020 +0000
+++ b/SavedGames/SavedGames.cpp	Wed May 20 19:50:11 2020 +0000
@@ -52,10 +52,28 @@
     wait(3); 
 }
 
+void SavedGames::no_saved_files(N5110 &lcd){
+    error_ = true;
+        
+    //print error screen
+    lcd.clear();
+    lcd.printString("No saved Files",0,3);
+    lcd.refresh();
+    wait(3); 
+}
+
 void SavedGames::add_saved_data(SDFileSystem &sd,SavedGamesData data,
  N5110 &lcd){
-    //opens file  
-    FILE *fp = fopen("/sd/SavedGames.csv", "w");
+    FILE *fp;
+    
+    //opens correct save file 
+    if (display_data_number_ == 1){    
+        fp = fopen("/sd/SavedGamesOne.csv", "w");
+    }else if (display_data_number_ == 2){
+        fp = fopen("/sd/SavedGamesTwo.csv", "w");
+    }else{
+        fp = fopen("/sd/SavedGamesThree.csv", "w");
+    }
     
     if (fp == NULL) {
         error_open_file(lcd);
@@ -68,14 +86,24 @@
     }  
 }
 
-void SavedGames::read_saved_data(SDFileSystem &sd, N5110 &lcd){
-    //opens file  
-    FILE *fp = fopen("/sd/SavedGames.csv", "r");
+SavedGamesData SavedGames::read_saved_data(SDFileSystem &sd, N5110 &lcd){
+    FILE *fp;
+    
+    //opens diplayed file  
+    if (display_data_number_ == 1){    
+        fp = fopen("/sd/SavedGamesOne.csv", "w");
+    }else if (display_data_number_ == 2){
+        fp = fopen("/sd/SavedGamesTwo.csv", "w");
+    }else{
+        fp = fopen("/sd/SavedGamesThree.csv", "w");
+    }
+    
+    //creats object to return 
+    SavedGamesData data;
     
     if (fp == NULL) {
-        error_open_file(lcd);
-        return;
-   
+        no_saved_files(lcd);
+        
     //Reads saved data into vector 
     }else{
         int lives;
@@ -83,31 +111,22 @@
         int alien_number;
         int smart_bombs;
         
-        while (fscanf(fp, "%d,%d,%d,%d",&score, &lives,&smart_bombs,
-        &alien_number) != EOF) {
-            //creats object
-            SavedGamesData data;
+        //read save file
+        fscanf(fp, "%d,%d,%d,%d",&score, &lives,&smart_bombs,&alien_number);
           
-            //sets data to object
-            data.score = score;
-            printf ("data.score = %d \n", data.score);
-            data.lives = lives;
-            printf ("data.lives = %d \n", data.lives);
-            data.smart_bombs = smart_bombs;
-            printf ("data.smart_bombs = %d \n", data.smart_bombs);
-            data.alien_number = alien_number;
-            printf ("data.alien_number = %d \n", data.lives);
-            
-            
-            //Add object to vector
-            saved_data_vector.push_back(data);       
-        }
-         //printf ("saved_data_vector_ 1%d \n", saved_data_vector.size());
-        fclose(fp); 
-                
-    }
-       
-     
+        //sets data to object
+        data.score = score;
+        printf ("data.score = %d \n", data.score);
+        data.lives = lives;
+        printf ("data.lives = %d \n", data.lives);
+        data.smart_bombs = smart_bombs;
+        printf ("data.smart_bombs = %d \n", data.smart_bombs);
+        data.alien_number = alien_number;
+        printf ("data.alien_number = %d \n", data.lives);             
+    } 
+    //printf ("saved_data_vector_ 1%d \n", saved_data_vector.size());
+    fclose(fp);   
+    return data;
 }
 
 void SavedGames::display_saved_games(N5110 &lcd){
@@ -121,7 +140,7 @@
     char buffer[9]; 
     sprintf(buffer,"Save %2d",display_data_number_);
     lcd.printString(buffer,21,3);
-    lcd.printString("B To Go Back",6,5);
+    lcd.printString("B Back, A play",0,5);
     
     lcd.refresh();
 }
@@ -129,7 +148,7 @@
 void SavedGames::save_game_screen(N5110 &lcd){
     lcd.clear();
     //prints saved game screen
-    lcd.printString("Selected save",3,0);
+    lcd.printString("Select a save",3,0);
     lcd.drawSprite(39, 18, 3, 5, (int *)arrow_up);
     lcd.drawSprite(39, 34, 3, 5, (int *)arrow_down);
     
@@ -137,8 +156,8 @@
     char buffer[9]; 
     sprintf(buffer,"Save %2d",display_data_number_);
     lcd.printString(buffer,21,3);
-    lcd.printString("B To Go Back",6,5);
-    
+    lcd.printString("A To save",15,5);
+
     lcd.refresh();
 }
 
@@ -157,13 +176,13 @@
         display_data_number_++;
         
         //loops back round when at end of saved game vecotr
-        if(display_data_number_ == saved_data_vector.size()){
-          display_data_number_ = 0; 
+        if(display_data_number_ > 3){
+          display_data_number_ = 1; 
         }        
     } else if (d_ == S || d_ == SW || d_ == SE) {
         display_data_number_--;
          if(display_data_number_ < 0 ){
-          display_data_number_ = saved_data_vector.size() ; 
+          display_data_number_ = 3; 
         }
     }
     wait(0.15);