Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: SavedGames/SavedGames.cpp
- 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);