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@54:d46459104dea, 2020-05-19 (annotated)
- Committer:
- evanso
- Date:
- Tue May 19 18:32:18 2020 +0000
- Revision:
- 54:d46459104dea
- Parent:
- 53:01be7898c23f
- Child:
- 59:0b2e43312d6b
Added display_saved_games function and scroll_saved_games function to SavedGames class.
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 | 49:ed569eceeaa4 | 4 | // Included libraries ---------------------------------------------------------- |
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 | 51:35cb8e604b72 | 9 | #include <vector> |
evanso | 51:35cb8e604b72 | 10 | |
evanso | 51:35cb8e604b72 | 11 | struct SavedGamesData{ |
evanso | 52:feb8cf28bcff | 12 | int score; /**< Score variable */ |
evanso | 52:feb8cf28bcff | 13 | int lives; /**< lives left variable */ |
evanso | 52:feb8cf28bcff | 14 | int smart_bombs; /**< smart_bombs left variable */ |
evanso | 52:feb8cf28bcff | 15 | int alien_number; /**< number of alien on screen variable*/ |
evanso | 51:35cb8e604b72 | 16 | }; |
evanso | 49:ed569eceeaa4 | 17 | |
evanso | 49:ed569eceeaa4 | 18 | /** SavedGames class |
evanso | 49:ed569eceeaa4 | 19 | * @brief Stores saved games on sd card, stores score, lives, smart bombs and |
evanso | 49:ed569eceeaa4 | 20 | * number of current alliens |
evanso | 49:ed569eceeaa4 | 21 | * @author Benjamin Evans, University of Leeds |
evanso | 49:ed569eceeaa4 | 22 | * @date May 2020 |
evanso | 49:ed569eceeaa4 | 23 | */ |
evanso | 49:ed569eceeaa4 | 24 | class SavedGames{ |
evanso | 49:ed569eceeaa4 | 25 | public: |
evanso | 49:ed569eceeaa4 | 26 | /** Constructor */ |
evanso | 49:ed569eceeaa4 | 27 | SavedGames(); |
evanso | 49:ed569eceeaa4 | 28 | |
evanso | 49:ed569eceeaa4 | 29 | /** Destructor */ |
evanso | 49:ed569eceeaa4 | 30 | ~SavedGames(); |
evanso | 49:ed569eceeaa4 | 31 | |
evanso | 51:35cb8e604b72 | 32 | /** Initalises SavedGames |
evanso | 51:35cb8e604b72 | 33 | * @param lcd @details N5110 object |
evanso | 51:35cb8e604b72 | 34 | * @param sd @details sd card object |
evanso | 51:35cb8e604b72 | 35 | */ |
evanso | 50:13c8710985f4 | 36 | void init(SDFileSystem &sd,N5110 &lcd); |
evanso | 49:ed569eceeaa4 | 37 | |
evanso | 51:35cb8e604b72 | 38 | /** Check if sd card is inserted and print message if not |
evanso | 51:35cb8e604b72 | 39 | * @param lcd @details N5110 object |
evanso | 51:35cb8e604b72 | 40 | * @param sd @details sd card object |
evanso | 51:35cb8e604b72 | 41 | */ |
evanso | 51:35cb8e604b72 | 42 | void check_sd_present(SDFileSystem &sd,N5110 &lcd); |
evanso | 51:35cb8e604b72 | 43 | |
evanso | 53:01be7898c23f | 44 | /** shows error if saved data files opens incorrectly |
evanso | 51:35cb8e604b72 | 45 | * @param lcd @details N5110 object |
evanso | 51:35cb8e604b72 | 46 | */ |
evanso | 53:01be7898c23f | 47 | void error_open_file(N5110 &lcd); |
evanso | 51:35cb8e604b72 | 48 | |
evanso | 51:35cb8e604b72 | 49 | /** Adds saved data to sd card |
evanso | 51:35cb8e604b72 | 50 | * @param sd @details sd card object |
evanso | 53:01be7898c23f | 51 | * @param data @details SavedGamesData struct |
evanso | 54:d46459104dea | 52 | * @param lcd @details N5110 object |
evanso | 51:35cb8e604b72 | 53 | */ |
evanso | 53:01be7898c23f | 54 | void add_saved_data(SDFileSystem &sd, SavedGamesData data, N5110 &lcd); |
evanso | 53:01be7898c23f | 55 | |
evanso | 53:01be7898c23f | 56 | /** Reads saved data to sd card |
evanso | 53:01be7898c23f | 57 | * @param sd @details sd card object |
evanso | 54:d46459104dea | 58 | * @param lcd @details N5110 object |
evanso | 53:01be7898c23f | 59 | */ |
evanso | 53:01be7898c23f | 60 | void read_saved_data(SDFileSystem &sd, N5110 &lcd); |
evanso | 54:d46459104dea | 61 | |
evanso | 54:d46459104dea | 62 | /** Scrolls through the diffent saved games parts |
evanso | 54:d46459104dea | 63 | * @param pad @details Gamepad object |
evanso | 54:d46459104dea | 64 | * @param d_ @details Direction of joystick |
evanso | 54:d46459104dea | 65 | */ |
evanso | 54:d46459104dea | 66 | void saved_games_scroll(Gamepad &pad, Direction d_); |
evanso | 54:d46459104dea | 67 | |
evanso | 54:d46459104dea | 68 | /** Draws the saved game screen |
evanso | 54:d46459104dea | 69 | * @param lcd @details N5110 object |
evanso | 54:d46459104dea | 70 | */ |
evanso | 54:d46459104dea | 71 | void display_saved_games(N5110 &lcd); |
evanso | 49:ed569eceeaa4 | 72 | |
evanso | 49:ed569eceeaa4 | 73 | // Accessors and mutators -------------------------------------------------- |
evanso | 49:ed569eceeaa4 | 74 | |
evanso | 50:13c8710985f4 | 75 | /** Gets error flag |
evanso | 50:13c8710985f4 | 76 | * @return error_; |
evanso | 50:13c8710985f4 | 77 | */ |
evanso | 50:13c8710985f4 | 78 | bool get_error(); |
evanso | 50:13c8710985f4 | 79 | |
evanso | 49:ed569eceeaa4 | 80 | private: |
evanso | 49:ed569eceeaa4 | 81 | |
evanso | 49:ed569eceeaa4 | 82 | // Varibles ---------------------------------------------------------------- |
evanso | 49:ed569eceeaa4 | 83 | |
evanso | 50:13c8710985f4 | 84 | /** Flag for error, true = error */ |
evanso | 50:13c8710985f4 | 85 | bool error_; |
evanso | 51:35cb8e604b72 | 86 | |
evanso | 51:35cb8e604b72 | 87 | /** Vector to store saved game data*/ |
evanso | 51:35cb8e604b72 | 88 | std::vector<SavedGamesData> saved_data_vector; |
evanso | 52:feb8cf28bcff | 89 | |
evanso | 53:01be7898c23f | 90 | /** Struct of game data types */ |
evanso | 53:01be7898c23f | 91 | //SavedGamesData data; |
evanso | 54:d46459104dea | 92 | |
evanso | 54:d46459104dea | 93 | /** Variable for which vector data to select */ |
evanso | 54:d46459104dea | 94 | int display_data_number_; |
evanso | 49:ed569eceeaa4 | 95 | }; |
evanso | 49:ed569eceeaa4 | 96 | #endif |