Project Submission (late)

Dependencies:   mbed

Committer:
el17tc
Date:
Fri May 10 08:07:10 2019 +0000
Revision:
0:72f372170a73
Child:
3:83e79d31930c
Save at functioning version;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
el17tc 0:72f372170a73 1 #ifndef MENUS_H
el17tc 0:72f372170a73 2 #define MENUS_H
el17tc 0:72f372170a73 3
el17tc 0:72f372170a73 4 #include <string>
el17tc 0:72f372170a73 5 #include <sstream>
el17tc 0:72f372170a73 6
el17tc 0:72f372170a73 7 #include "N5110.h"
el17tc 0:72f372170a73 8 //#include "MenuGraphics.h"
el17tc 0:72f372170a73 9
el17tc 0:72f372170a73 10 /* because these classes are so short and so closely linked, they are declared
el17tc 0:72f372170a73 11 and defined in the same files for convenience and clarity */
el17tc 0:72f372170a73 12
el17tc 0:72f372170a73 13 // abstract class for Button
el17tc 0:72f372170a73 14 class Button {
el17tc 0:72f372170a73 15 public:
el17tc 0:72f372170a73 16 int x;
el17tc 0:72f372170a73 17 int y;
el17tc 0:72f372170a73 18 Button() {
el17tc 0:72f372170a73 19 x = y = 0;
el17tc 0:72f372170a73 20 }
el17tc 0:72f372170a73 21 void virtual run() {
el17tc 0:72f372170a73 22 printf("Button\n");
el17tc 0:72f372170a73 23 }
el17tc 0:72f372170a73 24 void virtual runBack() {
el17tc 0:72f372170a73 25 printf("Back functionality\n");
el17tc 0:72f372170a73 26 // only overridden in functions that can be pressed backwards e.g. sliders
el17tc 0:72f372170a73 27 // for contrast and brightness
el17tc 0:72f372170a73 28 }
el17tc 0:72f372170a73 29 };
el17tc 0:72f372170a73 30
el17tc 0:72f372170a73 31 // abstract class for Menu
el17tc 0:72f372170a73 32 class Menu {
el17tc 0:72f372170a73 33 public:
el17tc 0:72f372170a73 34 Button* buttons[3];
el17tc 0:72f372170a73 35 int score; // used in the victory and defeat menus
el17tc 0:72f372170a73 36 int numOfButtons;
el17tc 0:72f372170a73 37 int buttonIndex;
el17tc 0:72f372170a73 38 N5110* lcd;
el17tc 0:72f372170a73 39 Menu(N5110* screenPtr) : lcd(screenPtr) {
el17tc 0:72f372170a73 40 numOfButtons = buttonIndex = 0;
el17tc 0:72f372170a73 41 }
el17tc 0:72f372170a73 42 void virtual draw() {
el17tc 0:72f372170a73 43 printf("This is a menu\n");
el17tc 0:72f372170a73 44 }
el17tc 0:72f372170a73 45 };
el17tc 0:72f372170a73 46
el17tc 0:72f372170a73 47 // important flags used throughout the menus to interact with the game's settings
el17tc 0:72f372170a73 48 Menu *currentMenu;
el17tc 0:72f372170a73 49 Button *currentButton;
el17tc 0:72f372170a73 50 double contrastVal = 0.5;
el17tc 0:72f372170a73 51 double brightnessVal = 0.5;
el17tc 0:72f372170a73 52 int mazeSize = 12;
el17tc 0:72f372170a73 53 bool beginFlag = false;
el17tc 0:72f372170a73 54 bool restartFlag = false;
el17tc 0:72f372170a73 55 bool menuFlag = false;
el17tc 0:72f372170a73 56 bool timerFlag = true;
el17tc 0:72f372170a73 57
el17tc 0:72f372170a73 58
el17tc 0:72f372170a73 59 #endif // MENUS_H