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.
SavedGames/SavedGames.h@85:87bc28b151d8, 2020-05-26 (annotated)
- Committer:
- evanso
- Date:
- Tue May 26 19:38:48 2020 +0000
- Revision:
- 85:87bc28b151d8
- Parent:
- 82:3211b31e9421
- Child:
- 86:eecd168c3a23
Spell checked all of code and comments
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
evanso | 49:ed569eceeaa4 | 1 | #ifndef SAVEDGAMES_H |
evanso | 49:ed569eceeaa4 | 2 | #define SAVEDGAMES_H |
evanso | 49:ed569eceeaa4 | 3 | |
evanso | 82:3211b31e9421 | 4 | // Included Headers ------------------------------------------------------------ |
evanso | 49:ed569eceeaa4 | 5 | #include "mbed.h" |
evanso | 49:ed569eceeaa4 | 6 | #include "N5110.h" |
evanso | 49:ed569eceeaa4 | 7 | #include "Gamepad.h" |
evanso | 50:13c8710985f4 | 8 | #include "SDFileSystem.h" |
evanso | 68:bb1650c657ef | 9 | #include "Sprites.h" |
evanso | 78:6a6c93c19ed1 | 10 | #include "SDErrors.h" |
evanso | 51:35cb8e604b72 | 11 | |
evanso | 51:35cb8e604b72 | 12 | struct SavedGamesData{ |
evanso | 52:feb8cf28bcff | 13 | int score; /**< Score variable */ |
evanso | 82:3211b31e9421 | 14 | int lives; /**< Lives left variable */ |
evanso | 82:3211b31e9421 | 15 | int smart_bombs; /**< Smart_bombs left variable */ |
evanso | 82:3211b31e9421 | 16 | int alien_number; /**< Number of alien on screen variable*/ |
evanso | 51:35cb8e604b72 | 17 | }; |
evanso | 49:ed569eceeaa4 | 18 | |
evanso | 49:ed569eceeaa4 | 19 | /** SavedGames class |
evanso | 49:ed569eceeaa4 | 20 | * @brief Stores saved games on sd card, stores score, lives, smart bombs and |
evanso | 49:ed569eceeaa4 | 21 | * number of current alliens |
evanso | 49:ed569eceeaa4 | 22 | * @author Benjamin Evans, University of Leeds |
evanso | 49:ed569eceeaa4 | 23 | * @date May 2020 |
evanso | 49:ed569eceeaa4 | 24 | */ |
evanso | 78:6a6c93c19ed1 | 25 | class SavedGames: public SDErrors{ |
evanso | 49:ed569eceeaa4 | 26 | public: |
evanso | 49:ed569eceeaa4 | 27 | /** Constructor */ |
evanso | 49:ed569eceeaa4 | 28 | SavedGames(); |
evanso | 49:ed569eceeaa4 | 29 | |
evanso | 49:ed569eceeaa4 | 30 | /** Destructor */ |
evanso | 49:ed569eceeaa4 | 31 | ~SavedGames(); |
evanso | 49:ed569eceeaa4 | 32 | |
evanso | 85:87bc28b151d8 | 33 | /** Initialises SavedGames |
evanso | 51:35cb8e604b72 | 34 | */ |
evanso | 67:a2984682d641 | 35 | void init(); |
evanso | 49:ed569eceeaa4 | 36 | |
evanso | 51:35cb8e604b72 | 37 | /** Adds saved data to sd card |
evanso | 51:35cb8e604b72 | 38 | * @param sd @details sd card object |
evanso | 53:01be7898c23f | 39 | * @param data @details SavedGamesData struct |
evanso | 54:d46459104dea | 40 | * @param lcd @details N5110 object |
evanso | 51:35cb8e604b72 | 41 | */ |
evanso | 59:0b2e43312d6b | 42 | void add_saved_data(SDFileSystem &sd,SavedGamesData data, N5110 &lcd); |
evanso | 53:01be7898c23f | 43 | |
evanso | 85:87bc28b151d8 | 44 | /** Reads saved data from sd card and return it as a struct |
evanso | 53:01be7898c23f | 45 | * @param sd @details sd card object |
evanso | 54:d46459104dea | 46 | * @param lcd @details N5110 object |
evanso | 61:7c4ec680a428 | 47 | * @return data @details SavedGamesData struct |
evanso | 53:01be7898c23f | 48 | */ |
evanso | 61:7c4ec680a428 | 49 | SavedGamesData read_saved_data(SDFileSystem &sd, N5110 &lcd); |
evanso | 54:d46459104dea | 50 | |
evanso | 85:87bc28b151d8 | 51 | /** Scrolls through the different saved games parts |
evanso | 54:d46459104dea | 52 | * @param d_ @details Direction of joystick |
evanso | 54:d46459104dea | 53 | */ |
evanso | 59:0b2e43312d6b | 54 | void saved_games_scroll(Direction d_); |
evanso | 54:d46459104dea | 55 | |
evanso | 54:d46459104dea | 56 | /** Draws the saved game screen |
evanso | 54:d46459104dea | 57 | * @param lcd @details N5110 object |
evanso | 54:d46459104dea | 58 | */ |
evanso | 54:d46459104dea | 59 | void display_saved_games(N5110 &lcd); |
evanso | 59:0b2e43312d6b | 60 | |
evanso | 61:7c4ec680a428 | 61 | /** Draws the select save game select screen |
evanso | 60:55fdc6bb29b9 | 62 | * @param lcd @details N5110 object |
evanso | 60:55fdc6bb29b9 | 63 | */ |
evanso | 60:55fdc6bb29b9 | 64 | void save_game_screen(N5110 &lcd); |
evanso | 60:55fdc6bb29b9 | 65 | |
evanso | 67:a2984682d641 | 66 | /** Runs the save test unit test |
evanso | 67:a2984682d641 | 67 | * @param lcd @details N5110 object |
evanso | 67:a2984682d641 | 68 | * @param sd @details sd card object |
evanso | 67:a2984682d641 | 69 | */ |
evanso | 67:a2984682d641 | 70 | void run_save_test(SDFileSystem &sd, N5110 &lcd); |
evanso | 67:a2984682d641 | 71 | |
evanso | 49:ed569eceeaa4 | 72 | // Accessors and mutators -------------------------------------------------- |
evanso | 49:ed569eceeaa4 | 73 | |
evanso | 59:0b2e43312d6b | 74 | /** Gets the displayed saved game number |
evanso | 59:0b2e43312d6b | 75 | * @return display_data_number_; |
evanso | 59:0b2e43312d6b | 76 | */ |
evanso | 59:0b2e43312d6b | 77 | int get_display_data_number(); |
evanso | 59:0b2e43312d6b | 78 | |
evanso | 49:ed569eceeaa4 | 79 | private: |
evanso | 64:e9dfc35a1738 | 80 | // Function prototypes ----------------------------------------------------- |
evanso | 64:e9dfc35a1738 | 81 | |
evanso | 64:e9dfc35a1738 | 82 | /** Check if sd card is inserted and print message if not |
evanso | 64:e9dfc35a1738 | 83 | * @param lcd @details N5110 object |
evanso | 64:e9dfc35a1738 | 84 | * @param sd @details sd card object |
evanso | 85:87bc28b151d8 | 85 | * @note Dont think sd.card_present()function actually works |
evanso | 64:e9dfc35a1738 | 86 | */ |
evanso | 64:e9dfc35a1738 | 87 | void check_sd_present(SDFileSystem &sd,N5110 &lcd); |
evanso | 64:e9dfc35a1738 | 88 | |
evanso | 82:3211b31e9421 | 89 | /** Shows error if saved data files opens incorrectly |
evanso | 64:e9dfc35a1738 | 90 | * @param lcd @details N5110 object |
evanso | 64:e9dfc35a1738 | 91 | */ |
evanso | 64:e9dfc35a1738 | 92 | void error_open_file(N5110 &lcd); |
evanso | 64:e9dfc35a1738 | 93 | |
evanso | 64:e9dfc35a1738 | 94 | /** Draws no saved files screen |
evanso | 64:e9dfc35a1738 | 95 | * @param lcd @details N5110 object |
evanso | 64:e9dfc35a1738 | 96 | */ |
evanso | 64:e9dfc35a1738 | 97 | void no_saved_files(N5110 &lcd); |
evanso | 79:66bcf8fa2d2d | 98 | |
evanso | 79:66bcf8fa2d2d | 99 | /** Save test unit test, checks the saving and reading functions work |
evanso | 79:66bcf8fa2d2d | 100 | * @param lcd @details N5110 object |
evanso | 79:66bcf8fa2d2d | 101 | * @param sd @details sd card object |
evanso | 79:66bcf8fa2d2d | 102 | * @param d_ @details Direction of joystick |
evanso | 79:66bcf8fa2d2d | 103 | */ |
evanso | 79:66bcf8fa2d2d | 104 | bool save_test(Direction d_,SDFileSystem &sd, N5110 &lcd); |
evanso | 67:a2984682d641 | 105 | |
evanso | 49:ed569eceeaa4 | 106 | // Varibles ---------------------------------------------------------------- |
evanso | 49:ed569eceeaa4 | 107 | |
evanso | 54:d46459104dea | 108 | /** Variable for which vector data to select */ |
evanso | 54:d46459104dea | 109 | int display_data_number_; |
evanso | 61:7c4ec680a428 | 110 | |
evanso | 61:7c4ec680a428 | 111 | |
evanso | 49:ed569eceeaa4 | 112 | }; |
evanso | 85:87bc28b151d8 | 113 | #endif |