Andreas Garmannslund / Mbed 2 deprecated SimplePlatformGame

Dependencies:   N5110 PinDetect PowerControl mbed

Committer:
Siriagus
Date:
Mon May 11 03:52:18 2015 +0000
Revision:
17:d6a3b29cab31
Child:
18:709ea375b0df
Added sound effects ++

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Siriagus 17:d6a3b29cab31 1 #ifndef SUBMIT_HIGHSCORE_H
Siriagus 17:d6a3b29cab31 2 #define SUBMIT_HIGHSCORE_H
Siriagus 17:d6a3b29cab31 3
Siriagus 17:d6a3b29cab31 4 #include "State.h"
Siriagus 17:d6a3b29cab31 5 #include "Global.h"
Siriagus 17:d6a3b29cab31 6 #include <cstdlib>
Siriagus 17:d6a3b29cab31 7 #include <string>
Siriagus 17:d6a3b29cab31 8 #include <sstream>
Siriagus 17:d6a3b29cab31 9
Siriagus 17:d6a3b29cab31 10 /// @file SubmitHighscore.h
Siriagus 17:d6a3b29cab31 11
Siriagus 17:d6a3b29cab31 12 /// State: Submit Highscore
Siriagus 17:d6a3b29cab31 13 /// Displays a screen where the user is promted to input his or her initials
Siriagus 17:d6a3b29cab31 14 class SubmitHighscore : public State
Siriagus 17:d6a3b29cab31 15 {
Siriagus 17:d6a3b29cab31 16 public:
Siriagus 17:d6a3b29cab31 17 SubmitHighscore(StateManager* fsm, N5110 *lcd, InputManager* input, Sound* sound)
Siriagus 17:d6a3b29cab31 18 : State(fsm, lcd, input, sound) {init();}
Siriagus 17:d6a3b29cab31 19
Siriagus 17:d6a3b29cab31 20 void init();
Siriagus 17:d6a3b29cab31 21 virtual void update(float dt); /// Update logic
Siriagus 17:d6a3b29cab31 22 virtual void render(); /// Draw to screen
Siriagus 17:d6a3b29cab31 23
Siriagus 17:d6a3b29cab31 24 private:
Siriagus 17:d6a3b29cab31 25 static void btnAPress(); /// Interrupt callback function when button A is pressed
Siriagus 17:d6a3b29cab31 26 static void btnBPress(); /// Interrupt callback function when button B is pressed
Siriagus 17:d6a3b29cab31 27 static void btnCPress(); /// Interrupt callback function when button C is pressed
Siriagus 17:d6a3b29cab31 28
Siriagus 17:d6a3b29cab31 29
Siriagus 17:d6a3b29cab31 30 private:
Siriagus 17:d6a3b29cab31 31 enum SubmitHighscoreState{LETTER1, LETTER2, LETTER3, SEL_SUBMIT, WRITE_TO_FILE, LOAD_GAME_OVER};
Siriagus 17:d6a3b29cab31 32 static int currentState;
Siriagus 17:d6a3b29cab31 33 /** Changes the current selected letter.
Siriagus 17:d6a3b29cab31 34 * @param index The index of the letter to be changed (0, 1 or 2)
Siriagus 17:d6a3b29cab31 35 * @param next Goes to the next letter in the alphabet if true. Goes to the previous letter if false.
Siriagus 17:d6a3b29cab31 36 */
Siriagus 17:d6a3b29cab31 37 static void changeLetter(int index, bool next);
Siriagus 17:d6a3b29cab31 38 static int letters[3];
Siriagus 17:d6a3b29cab31 39 };
Siriagus 17:d6a3b29cab31 40
Siriagus 17:d6a3b29cab31 41 #endif