James Cummins / Mbed 2 deprecated el17jnc

Dependencies:   mbed

Revision:
35:138ad0faa42b
Parent:
26:0dc10374546f
Child:
36:9f7463a65fe0
--- a/Options_Engine/OptionsEngine.cpp	Tue Apr 30 10:55:22 2019 +0000
+++ b/Options_Engine/OptionsEngine.cpp	Sat May 04 18:56:38 2019 +0000
@@ -102,39 +102,59 @@
     }
 }
 
-void OptionsEngine::read_bb_high_scores(){
-    std::ifstream file;
-    file.open("/sd/bbhighscores.txt");
-    if(!(file.is_open())){
+void OptionsEngine::read_classic_high_scores(){
+    FILE *fp;
+    fp = fopen("/sd/classichighscores.txt", "r");
+    
+    if(fp == NULL){
         printf("Error: Could not open file");
+    } else {
+        int i = 0;
+        rewind(fp);
+        
+        while(fscanf(fp, "%d,%f", &_classic_index[i], &_classic_values[i]) != EOF){
+            i++;
+        }
+        fclose(fp);
     }
-    std::string nth_score;
-    for(int n = 0; n < 5; n++){
-        std::getline(file, nth_score);
-        std::istringstream ipstream(nth_score);
-        ipstream >> _bbarray[n];
+}
+
+void OptionsEngine::read_bb_high_scores(){
+    FILE *fp;
+    fp = fopen("/sd/bbhighscores.txt", "r");
+    
+    if(fp == NULL){
+        printf("Error: Could not open file");
+    } else {
+        int i = 0;
+        rewind(fp);
+        
+        while(fscanf(fp, "%d,%f", &_bb_index[i], &_bb_values[i]) != EOF){
+            i++;
+        }
+        fclose(fp);
     }
 }
 
 void OptionsEngine::print_high_scores(N5110 &lcd){
     if(_leaderboard == CLASSIC_MODE){
+        read_classic_high_scores();
         lcd.printString("Classic", 21, 0);
-        lcd.printString("1.", 0, 1);
-        lcd.printString("2.", 0, 2);
-        lcd.printString("3.", 0, 3); lcd.printString("R>", 72, 3);
-        lcd.printString("4.", 0, 4);
-        lcd.printString("5.", 0, 5);
-        
-        
+        lcd.printString("R>", 72, 3);
+        char buffer[14];
+        for(int i = 0; i < 5; i++){
+            sprintf(buffer, "%d. %.2f", _classic_index[i], _classic_values[i]);
+            lcd.printString(buffer, 0, i + 1);
+        }   
     }
     if(_leaderboard == BRICKBREAKER_MODE){
         read_bb_high_scores();
         lcd.printString("Brickbreak", 12, 0);
-        for (int i = 1; i < 6; i++){
-            char buffer[6];
-            sprintf(buffer, "%1d. %2d", i, _bbarray[i-1]);
-            lcd.printString(buffer, 0, i);
+        lcd.printString("<L", 72, 3);
+        char buffer[14];
+        for(int i = 0; i < 5; i++){
+            sprintf(buffer, "%d. %.0f", _bb_index[i], _bb_values[i]);
+            lcd.printString(buffer, 0, i + 1);
         }
-        lcd.printString("<L", 72, 3);  
     }
 }
\ No newline at end of file