The final(?) edition of el14jbed's ELEC2645 project

Dependencies:   N5110 SDFileSystem mbed

Jacob Markl 200852678

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?

UserRevisionLine numberNew 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