The final(?) edition of el14jbed's ELEC2645 project
Dependencies: N5110 SDFileSystem mbed
Jacob Markl 200852678
Main.h@0:cba7494d5dff, 2016-05-05 (annotated)
- Committer:
- horizontalwolf
- Date:
- Thu May 05 13:33:38 2016 +0000
- Revision:
- 0:cba7494d5dff
Final(?) version of ELEC2645 project
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
horizontalwolf | 0:cba7494d5dff | 1 | /** |
horizontalwolf | 0:cba7494d5dff | 2 | @file Main.h |
horizontalwolf | 0:cba7494d5dff | 3 | @brief The header file containing the main functions for the game. |
horizontalwolf | 0:cba7494d5dff | 4 | @brief Revision 9.9. |
horizontalwolf | 0:cba7494d5dff | 5 | @author Jacob Markl |
horizontalwolf | 0:cba7494d5dff | 6 | @date May 2016 |
horizontalwolf | 0:cba7494d5dff | 7 | */ |
horizontalwolf | 0:cba7494d5dff | 8 | #ifndef MAIN_H |
horizontalwolf | 0:cba7494d5dff | 9 | #define MAIN_H |
horizontalwolf | 0:cba7494d5dff | 10 | |
horizontalwolf | 0:cba7494d5dff | 11 | #include "mbed.h" |
horizontalwolf | 0:cba7494d5dff | 12 | #include "N5110.h" |
horizontalwolf | 0:cba7494d5dff | 13 | #include <vector> |
horizontalwolf | 0:cba7494d5dff | 14 | |
horizontalwolf | 0:cba7494d5dff | 15 | |
horizontalwolf | 0:cba7494d5dff | 16 | |
horizontalwolf | 0:cba7494d5dff | 17 | |
horizontalwolf | 0:cba7494d5dff | 18 | /** |
horizontalwolf | 0:cba7494d5dff | 19 | Initialises the mbed and peripherals |
horizontalwolf | 0:cba7494d5dff | 20 | */ |
horizontalwolf | 0:cba7494d5dff | 21 | void init_K64F(); |
horizontalwolf | 0:cba7494d5dff | 22 | |
horizontalwolf | 0:cba7494d5dff | 23 | /** |
horizontalwolf | 0:cba7494d5dff | 24 | Toggles the Up button flag |
horizontalwolf | 0:cba7494d5dff | 25 | */ |
horizontalwolf | 0:cba7494d5dff | 26 | void BUI_isr(); |
horizontalwolf | 0:cba7494d5dff | 27 | /** |
horizontalwolf | 0:cba7494d5dff | 28 | Toggles the Right button flag |
horizontalwolf | 0:cba7494d5dff | 29 | */ |
horizontalwolf | 0:cba7494d5dff | 30 | void BRI_isr(); |
horizontalwolf | 0:cba7494d5dff | 31 | /** |
horizontalwolf | 0:cba7494d5dff | 32 | Toggles the Down button flag |
horizontalwolf | 0:cba7494d5dff | 33 | */ |
horizontalwolf | 0:cba7494d5dff | 34 | void BDI_isr(); |
horizontalwolf | 0:cba7494d5dff | 35 | /** |
horizontalwolf | 0:cba7494d5dff | 36 | Toggles the Left button flag |
horizontalwolf | 0:cba7494d5dff | 37 | */ |
horizontalwolf | 0:cba7494d5dff | 38 | void BLI_isr(); |
horizontalwolf | 0:cba7494d5dff | 39 | /** |
horizontalwolf | 0:cba7494d5dff | 40 | Toggles the A button flag |
horizontalwolf | 0:cba7494d5dff | 41 | */ |
horizontalwolf | 0:cba7494d5dff | 42 | void BAI_isr(); |
horizontalwolf | 0:cba7494d5dff | 43 | /** |
horizontalwolf | 0:cba7494d5dff | 44 | Toggles the B button flag |
horizontalwolf | 0:cba7494d5dff | 45 | */ |
horizontalwolf | 0:cba7494d5dff | 46 | void BBI_isr(); |
horizontalwolf | 0:cba7494d5dff | 47 | /** |
horizontalwolf | 0:cba7494d5dff | 48 | Selects the current layout and bulids the map for the game, with the sprites for each point |
horizontalwolf | 0:cba7494d5dff | 49 | @param mapnumber - the current mapnumber, passed from the game function |
horizontalwolf | 0:cba7494d5dff | 50 | @returns a filled g_screen array |
horizontalwolf | 0:cba7494d5dff | 51 | */ |
horizontalwolf | 0:cba7494d5dff | 52 | void map_builder(int mapnumber); |
horizontalwolf | 0:cba7494d5dff | 53 | /** |
horizontalwolf | 0:cba7494d5dff | 54 | Bulids the current player sprite for the game and draws it on g_screen |
horizontalwolf | 0:cba7494d5dff | 55 | */ |
horizontalwolf | 0:cba7494d5dff | 56 | void player_builder(); |
horizontalwolf | 0:cba7494d5dff | 57 | /** |
horizontalwolf | 0:cba7494d5dff | 58 | Draws the screen onto the lcd. Loops through g_screen and sets each pixel |
horizontalwolf | 0:cba7494d5dff | 59 | */ |
horizontalwolf | 0:cba7494d5dff | 60 | void screen_builder(); |
horizontalwolf | 0:cba7494d5dff | 61 | /** |
horizontalwolf | 0:cba7494d5dff | 62 | changes the next location and direction of the player sprite based on the inputs from the player |
horizontalwolf | 0:cba7494d5dff | 63 | */ |
horizontalwolf | 0:cba7494d5dff | 64 | void player_movement(); |
horizontalwolf | 0:cba7494d5dff | 65 | /** |
horizontalwolf | 0:cba7494d5dff | 66 | calls the attack animation and checks for the mobs in the attacked space |
horizontalwolf | 0:cba7494d5dff | 67 | */ |
horizontalwolf | 0:cba7494d5dff | 68 | void Attack(); |
horizontalwolf | 0:cba7494d5dff | 69 | /** |
horizontalwolf | 0:cba7494d5dff | 70 | calculates and displays the stats on the side of the screen |
horizontalwolf | 0:cba7494d5dff | 71 | */ |
horizontalwolf | 0:cba7494d5dff | 72 | void stats(); |
horizontalwolf | 0:cba7494d5dff | 73 | /** |
horizontalwolf | 0:cba7494d5dff | 74 | toggles the timer1 flag |
horizontalwolf | 0:cba7494d5dff | 75 | */ |
horizontalwolf | 0:cba7494d5dff | 76 | void timer1_isr(); |
horizontalwolf | 0:cba7494d5dff | 77 | /** |
horizontalwolf | 0:cba7494d5dff | 78 | toggles the timer 2 flag |
horizontalwolf | 0:cba7494d5dff | 79 | */ |
horizontalwolf | 0:cba7494d5dff | 80 | void timer2_isr(); |
horizontalwolf | 0:cba7494d5dff | 81 | /** |
horizontalwolf | 0:cba7494d5dff | 82 | checks each button flag for the next movement or action |
horizontalwolf | 0:cba7494d5dff | 83 | */ |
horizontalwolf | 0:cba7494d5dff | 84 | void buttons(); |
horizontalwolf | 0:cba7494d5dff | 85 | /** |
horizontalwolf | 0:cba7494d5dff | 86 | initializes the game variables |
horizontalwolf | 0:cba7494d5dff | 87 | */ |
horizontalwolf | 0:cba7494d5dff | 88 | void init_game(); |
horizontalwolf | 0:cba7494d5dff | 89 | /** |
horizontalwolf | 0:cba7494d5dff | 90 | raises the isidle flag when triggered |
horizontalwolf | 0:cba7494d5dff | 91 | */ |
horizontalwolf | 0:cba7494d5dff | 92 | void outidle(); |
horizontalwolf | 0:cba7494d5dff | 93 | /** |
horizontalwolf | 0:cba7494d5dff | 94 | shows the win screen and calls the score saving function |
horizontalwolf | 0:cba7494d5dff | 95 | */ |
horizontalwolf | 0:cba7494d5dff | 96 | void win(); |
horizontalwolf | 0:cba7494d5dff | 97 | /** |
horizontalwolf | 0:cba7494d5dff | 98 | show the lose screen and calls the score saving function |
horizontalwolf | 0:cba7494d5dff | 99 | */ |
horizontalwolf | 0:cba7494d5dff | 100 | void lose(); |
horizontalwolf | 0:cba7494d5dff | 101 | /** |
horizontalwolf | 0:cba7494d5dff | 102 | displays the main menu and controls the inputs for it |
horizontalwolf | 0:cba7494d5dff | 103 | */ |
horizontalwolf | 0:cba7494d5dff | 104 | void main_menu(); |
horizontalwolf | 0:cba7494d5dff | 105 | /** |
horizontalwolf | 0:cba7494d5dff | 106 | displays the game screen and stats, runs untill the win or lose screen is called |
horizontalwolf | 0:cba7494d5dff | 107 | */ |
horizontalwolf | 0:cba7494d5dff | 108 | void game(); |
horizontalwolf | 0:cba7494d5dff | 109 | /** |
horizontalwolf | 0:cba7494d5dff | 110 | displays the settings menu and controls the inputs for it |
horizontalwolf | 0:cba7494d5dff | 111 | */ |
horizontalwolf | 0:cba7494d5dff | 112 | void settings(); |
horizontalwolf | 0:cba7494d5dff | 113 | |
horizontalwolf | 0:cba7494d5dff | 114 | /** |
horizontalwolf | 0:cba7494d5dff | 115 | sorts the current score into the high score array |
horizontalwolf | 0:cba7494d5dff | 116 | */ |
horizontalwolf | 0:cba7494d5dff | 117 | void addtopscore(); |
horizontalwolf | 0:cba7494d5dff | 118 | /** |
horizontalwolf | 0:cba7494d5dff | 119 | displayes the highscore screen |
horizontalwolf | 0:cba7494d5dff | 120 | */ |
horizontalwolf | 0:cba7494d5dff | 121 | void highscores(); |
horizontalwolf | 0:cba7494d5dff | 122 | /** |
horizontalwolf | 0:cba7494d5dff | 123 | displays the tutorial for the game |
horizontalwolf | 0:cba7494d5dff | 124 | */ |
horizontalwolf | 0:cba7494d5dff | 125 | void tutorial(); |
horizontalwolf | 0:cba7494d5dff | 126 | /** |
horizontalwolf | 0:cba7494d5dff | 127 | turns the current note off when called from tout |
horizontalwolf | 0:cba7494d5dff | 128 | */ |
horizontalwolf | 0:cba7494d5dff | 129 | void timeoutsound(); |
horizontalwolf | 0:cba7494d5dff | 130 | /** |
horizontalwolf | 0:cba7494d5dff | 131 | shows the intro screen for the game |
horizontalwolf | 0:cba7494d5dff | 132 | */ |
horizontalwolf | 0:cba7494d5dff | 133 | void startscreen(); |
horizontalwolf | 0:cba7494d5dff | 134 | /** |
horizontalwolf | 0:cba7494d5dff | 135 | draws lines for the tutorial |
horizontalwolf | 0:cba7494d5dff | 136 | */ |
horizontalwolf | 0:cba7494d5dff | 137 | void drawlines(); |
horizontalwolf | 0:cba7494d5dff | 138 | /** |
horizontalwolf | 0:cba7494d5dff | 139 | pauses on the Level 2 intro screen between levels |
horizontalwolf | 0:cba7494d5dff | 140 | */ |
horizontalwolf | 0:cba7494d5dff | 141 | void level2screen(); |
horizontalwolf | 0:cba7494d5dff | 142 | |
horizontalwolf | 0:cba7494d5dff | 143 | |
horizontalwolf | 0:cba7494d5dff | 144 | #endif |