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:
- 67:a2984682d641
- Parent:
- 64:e9dfc35a1738
- Child:
- 68:bb1650c657ef
--- a/SavedGames/SavedGames.cpp Thu May 21 17:37:15 2020 +0000 +++ b/SavedGames/SavedGames.cpp Thu May 21 20:23:24 2020 +0000 @@ -20,10 +20,65 @@ } -void SavedGames::init(SDFileSystem &sd,N5110 &lcd){ +bool SavedGames::save_test(Direction d_,SDFileSystem &sd, N5110 &lcd){ + + // Objects reqired for test + + printf("Data save = %d : ",d_); + + //Define input data object and set values + SavedGamesData input_data; + input_data.score = 0; + input_data.lives = 3; + input_data.smart_bombs = 4; + input_data.alien_number = 5; + + //change the save file + saved_games_scroll(d_); + + add_saved_data(sd, input_data, lcd); + + // Deffine outut data object + SavedGamesData output_data; + + output_data = read_saved_data(sd, lcd); + + // Checks if the input and output are equal + if (output_data.score == input_data.score && + output_data.lives == input_data.lives && + output_data.smart_bombs == input_data.smart_bombs && + output_data.alien_number == input_data.alien_number ) { + printf ( "Passed!\n"); + return true; + } else { + printf ( "Failed!\n"); + return false; + } +} + +void SavedGames::run_save_test(SDFileSystem &sd, N5110 &lcd){ + printf ("\nTesting save_test() \n\n"); + int passed_counter = 0; + + // Runs test with all differnt possible inputs + if (save_test(CENTRE, sd, lcd)) passed_counter++; + if (save_test(N, sd, lcd)) passed_counter++; + if (save_test(NE, sd, lcd)) passed_counter++; + if (save_test(E, sd, lcd)) passed_counter++; + if (save_test(SE, sd, lcd)) passed_counter++; + if (save_test(S, sd, lcd)) passed_counter++; + if (save_test(SW, sd, lcd)) passed_counter++; + if (save_test(W, sd, lcd)) passed_counter++; + if (save_test(NW, sd, lcd)) passed_counter++; + + // prints results + printf ("\n save_test passed %d tests out of 9\n\n\n", + passed_counter); +} + +void SavedGames::init(){ error_ = false; - check_sd_present(sd,lcd); - display_data_number_ = 1; + display_data_number_ = 1; } void SavedGames::check_sd_present(SDFileSystem &sd, N5110 &lcd){ @@ -60,6 +115,7 @@ void SavedGames::add_saved_data(SDFileSystem &sd,SavedGamesData data, N5110 &lcd){ + check_sd_present(sd,lcd); FILE *fp; //opens correct save file @@ -91,6 +147,8 @@ } SavedGamesData SavedGames::read_saved_data(SDFileSystem &sd, N5110 &lcd){ + check_sd_present(sd,lcd); + FILE *fp; SavedGamesData data; @@ -99,8 +157,8 @@ fp = fopen("/sd/SavedGamesOne.csv", "r"); //printf ("open save1\n"); }else if (display_data_number_ == 2){ - //fp = fopen("/sd/SavedGamesTwo.csv", "r"); - printf ("open save2\n"); + fp = fopen("/sd/SavedGamesTwo.csv", "r"); + //printf ("open save2\n"); }else{ fp = fopen("/sd/SavedGamesThree.csv", "r"); // printf ("open save2\n");