Ben Evans / Mbed 2 deprecated Defender_Game

Dependencies:   mbed

Committer:
evanso
Date:
Sun May 24 18:38:50 2020 +0000
Revision:
76:6daba3002424
Parent:
75:643a509cf9ed
Child:
78:6a6c93c19ed1
Added functions to high score that save and read the high score. Displays "NEW HIGH SOCRE" on the game over screen and plays a different song

Who changed what in which revision?

UserRevisionLine numberNew contents of line
evanso 75:643a509cf9ed 1 #ifndef HIGHSCORE_H
evanso 75:643a509cf9ed 2 #define HIGHSCORE_H
evanso 75:643a509cf9ed 3
evanso 75:643a509cf9ed 4 // Included libraries ----------------------------------------------------------
evanso 75:643a509cf9ed 5 #include "mbed.h"
evanso 75:643a509cf9ed 6 #include "N5110.h"
evanso 75:643a509cf9ed 7 #include "Gamepad.h"
evanso 75:643a509cf9ed 8 #include "SDFileSystem.h"
evanso 75:643a509cf9ed 9 #include "Sprites.h"
evanso 75:643a509cf9ed 10
evanso 75:643a509cf9ed 11 /** High Score class
evanso 75:643a509cf9ed 12 * @brief Displayes the highest score
evanso 75:643a509cf9ed 13 * @author Benjamin Evans, University of Leeds
evanso 75:643a509cf9ed 14 * @date May 2020
evanso 75:643a509cf9ed 15 */
evanso 75:643a509cf9ed 16 class HighScore{
evanso 75:643a509cf9ed 17 public:
evanso 75:643a509cf9ed 18 /** Constructor */
evanso 75:643a509cf9ed 19 HighScore();
evanso 75:643a509cf9ed 20
evanso 75:643a509cf9ed 21 /** Destructor */
evanso 75:643a509cf9ed 22 ~HighScore();
evanso 75:643a509cf9ed 23
evanso 75:643a509cf9ed 24 /** Initalises HighScore
evanso 75:643a509cf9ed 25 */
evanso 75:643a509cf9ed 26 void init();
evanso 75:643a509cf9ed 27
evanso 76:6daba3002424 28 /** Saves the the sore if a new High score
evanso 76:6daba3002424 29 * @param lcd @details N5110 object
evanso 76:6daba3002424 30 * @param sd @details sd card object
evanso 76:6daba3002424 31 * @param new_high_score
evanso 76:6daba3002424 32 */
evanso 76:6daba3002424 33 void save_new_high_score(SDFileSystem &sd, N5110 &lcd,
evanso 76:6daba3002424 34 int new_high_score);
evanso 76:6daba3002424 35
evanso 76:6daba3002424 36 /** Reads and returns the hgihest score
evanso 76:6daba3002424 37 * @param sd @details sd card object
evanso 76:6daba3002424 38 * @return high_score
evanso 76:6daba3002424 39 */
evanso 76:6daba3002424 40 int read_high_score(SDFileSystem &sd);
evanso 76:6daba3002424 41
evanso 76:6daba3002424 42 /** Draws no high scores screen
evanso 76:6daba3002424 43 * @param lcd @details N5110 object
evanso 76:6daba3002424 44 */
evanso 76:6daba3002424 45 void no_high_scores(N5110 &lcd);
evanso 76:6daba3002424 46
evanso 76:6daba3002424 47
evanso 76:6daba3002424 48 // Accessors and mutators --------------------------------------------------
evanso 76:6daba3002424 49
evanso 76:6daba3002424 50 /** Gets error flag
evanso 76:6daba3002424 51 * @return error_;
evanso 76:6daba3002424 52 */
evanso 76:6daba3002424 53 bool get_error();
evanso 76:6daba3002424 54
evanso 76:6daba3002424 55 /** set error
evanso 76:6daba3002424 56 * @param error;
evanso 76:6daba3002424 57 */
evanso 76:6daba3002424 58 void set_error(bool error);
evanso 76:6daba3002424 59
evanso 75:643a509cf9ed 60 private:
evanso 75:643a509cf9ed 61 // Function prototypes -----------------------------------------------------
evanso 76:6daba3002424 62
evanso 76:6daba3002424 63 /** shows error if high data files opens incorrectly
evanso 76:6daba3002424 64 * @param lcd @details N5110 object
evanso 76:6daba3002424 65 */
evanso 76:6daba3002424 66 void error_open_file(N5110 &lcd);
evanso 76:6daba3002424 67
evanso 75:643a509cf9ed 68
evanso 75:643a509cf9ed 69 // Varibles ----------------------------------------------------------------
evanso 75:643a509cf9ed 70
evanso 76:6daba3002424 71 /** Flag for error, true = error */
evanso 76:6daba3002424 72 bool error_;
evanso 75:643a509cf9ed 73
evanso 75:643a509cf9ed 74 };
evanso 75:643a509cf9ed 75 #endif