Ben Evans / Mbed 2 deprecated Defender_Game

Dependencies:   mbed

Committer:
evanso
Date:
Tue May 19 16:46:40 2020 +0000
Revision:
51:35cb8e604b72
Parent:
50:13c8710985f4
Child:
52:feb8cf28bcff
Added check if the file can open function to saved games class.

Who changed what in which revision?

UserRevisionLine numberNew 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 51:35cb8e604b72 12 int score; /**< Bool to draw circle one */
evanso 51:35cb8e604b72 13 int lives; /**< Bool to draw circle two */
evanso 51:35cb8e604b72 14 int smart_bombs; /**< Fill type of circle one */
evanso 51:35cb8e604b72 15 int alien_number; /**< Fill type of circle two */
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 51:35cb8e604b72 44 /** Check if saveddata files opens correctly
evanso 51:35cb8e604b72 45 * @param lcd @details N5110 object
evanso 51:35cb8e604b72 46 * @param sd @details sd card object
evanso 51:35cb8e604b72 47 */
evanso 51:35cb8e604b72 48 void check_open_file(SDFileSystem &sd,N5110 &lcd);
evanso 51:35cb8e604b72 49
evanso 51:35cb8e604b72 50 /** Adds saved data to sd card
evanso 51:35cb8e604b72 51 * @param SavedGamesData @details Saved game data struct
evanso 51:35cb8e604b72 52 * @param sd @details sd card object
evanso 51:35cb8e604b72 53 */
evanso 51:35cb8e604b72 54 void add_saved_data(SDFileSystem &sd,struct SavedGamesData);
evanso 49:ed569eceeaa4 55
evanso 49:ed569eceeaa4 56 // Accessors and mutators --------------------------------------------------
evanso 49:ed569eceeaa4 57
evanso 50:13c8710985f4 58 /** Gets error flag
evanso 50:13c8710985f4 59 * @return error_;
evanso 50:13c8710985f4 60 */
evanso 50:13c8710985f4 61 bool get_error();
evanso 50:13c8710985f4 62
evanso 49:ed569eceeaa4 63 private:
evanso 49:ed569eceeaa4 64
evanso 49:ed569eceeaa4 65 // Varibles ----------------------------------------------------------------
evanso 49:ed569eceeaa4 66
evanso 50:13c8710985f4 67 /** Flag for error, true = error */
evanso 50:13c8710985f4 68 bool error_;
evanso 51:35cb8e604b72 69
evanso 51:35cb8e604b72 70 /** Vector to store saved game data*/
evanso 51:35cb8e604b72 71 std::vector<SavedGamesData> saved_data_vector;
evanso 49:ed569eceeaa4 72 };
evanso 49:ed569eceeaa4 73 #endif