
Kamikaze Race. Bin Mohd Kamaludin. 200876993.
Dependencies: el14hzbm_Final_Project mbed
Fork of el14hzbm_FinalProject by
main.h@3:c2227b3e2f0c, 2018-02-20 (annotated)
- Committer:
- Zafranhernandez
- Date:
- Tue Feb 20 11:56:52 2018 +0000
- Revision:
- 3:c2227b3e2f0c
- Parent:
- 1:58b4f9dda460
hah
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Zafranhernandez | 1:58b4f9dda460 | 1 | /** |
Zafranhernandez | 1:58b4f9dda460 | 2 | @file main.h |
Zafranhernandez | 1:58b4f9dda460 | 3 | @brief Header file containing functions prototypes, defines and global variables. |
Zafranhernandez | 1:58b4f9dda460 | 4 | @brief Most of the things in this file consist of function for game part and the others are for a few interface. |
Zafranhernandez | 1:58b4f9dda460 | 5 | @brief Final Project 2.0. |
Zafranhernandez | 1:58b4f9dda460 | 6 | @author H. Zafran M. Kamaludin |
Zafranhernandez | 1:58b4f9dda460 | 7 | @date April 2016 |
Zafranhernandez | 1:58b4f9dda460 | 8 | */ |
Zafranhernandez | 1:58b4f9dda460 | 9 | |
Zafranhernandez | 1:58b4f9dda460 | 10 | #ifndef MAIN_H |
Zafranhernandez | 1:58b4f9dda460 | 11 | #define MAIN_H |
Zafranhernandez | 1:58b4f9dda460 | 12 | |
Zafranhernandez | 1:58b4f9dda460 | 13 | #define PI 3.14159265359 |
Zafranhernandez | 1:58b4f9dda460 | 14 | #define PAUSE 1 |
Zafranhernandez | 1:58b4f9dda460 | 15 | #define PLAY 0 |
Zafranhernandez | 1:58b4f9dda460 | 16 | |
Zafranhernandez | 1:58b4f9dda460 | 17 | #include "mbed.h" |
Zafranhernandez | 1:58b4f9dda460 | 18 | #include "N5110.h" |
Zafranhernandez | 1:58b4f9dda460 | 19 | #include "tone.h" |
Zafranhernandez | 1:58b4f9dda460 | 20 | |
Zafranhernandez | 1:58b4f9dda460 | 21 | /** |
Zafranhernandez | 1:58b4f9dda460 | 22 | @namespace lcd |
Zafranhernandez | 1:58b4f9dda460 | 23 | @brief connection for Nokia LCD |
Zafranhernandez | 1:58b4f9dda460 | 24 | */ |
Zafranhernandez | 1:58b4f9dda460 | 25 | N5110 lcd(PTE26,PTA0,PTC4,PTD0,PTD2,PTD1,PTC3); |
Zafranhernandez | 1:58b4f9dda460 | 26 | |
Zafranhernandez | 1:58b4f9dda460 | 27 | /** |
Zafranhernandez | 1:58b4f9dda460 | 28 | @namespace button |
Zafranhernandez | 1:58b4f9dda460 | 29 | @brief input from joystick button |
Zafranhernandez | 1:58b4f9dda460 | 30 | */ |
Zafranhernandez | 1:58b4f9dda460 | 31 | InterruptIn button(PTB11); |
Zafranhernandez | 1:58b4f9dda460 | 32 | |
Zafranhernandez | 1:58b4f9dda460 | 33 | /** |
Zafranhernandez | 1:58b4f9dda460 | 34 | @namespace yPot |
Zafranhernandez | 1:58b4f9dda460 | 35 | @brief get input from joystick movement (x-direction) |
Zafranhernandez | 1:58b4f9dda460 | 36 | */ |
Zafranhernandez | 1:58b4f9dda460 | 37 | AnalogIn yPot(PTB2); |
Zafranhernandez | 1:58b4f9dda460 | 38 | |
Zafranhernandez | 1:58b4f9dda460 | 39 | /** |
Zafranhernandez | 1:58b4f9dda460 | 40 | @namespace xPot |
Zafranhernandez | 1:58b4f9dda460 | 41 | @brief get input from joystick movement (y-direction) |
Zafranhernandez | 1:58b4f9dda460 | 42 | */ |
Zafranhernandez | 1:58b4f9dda460 | 43 | AnalogIn xPot(PTB3); |
Zafranhernandez | 1:58b4f9dda460 | 44 | |
Zafranhernandez | 1:58b4f9dda460 | 45 | /** |
Zafranhernandez | 1:58b4f9dda460 | 46 | @namespace buzzer |
Zafranhernandez | 1:58b4f9dda460 | 47 | @brief produce sound for the game |
Zafranhernandez | 1:58b4f9dda460 | 48 | */ |
Zafranhernandez | 1:58b4f9dda460 | 49 | DigitalOut buzzer(PTA2); |
Zafranhernandez | 1:58b4f9dda460 | 50 | |
Zafranhernandez | 1:58b4f9dda460 | 51 | /** |
Zafranhernandez | 1:58b4f9dda460 | 52 | @namespace green_LED |
Zafranhernandez | 1:58b4f9dda460 | 53 | @brief use as graphic LED during gameplay. |
Zafranhernandez | 1:58b4f9dda460 | 54 | */ |
Zafranhernandez | 1:58b4f9dda460 | 55 | DigitalOut green(PTC2); |
Zafranhernandez | 1:58b4f9dda460 | 56 | |
Zafranhernandez | 1:58b4f9dda460 | 57 | |
Zafranhernandez | 1:58b4f9dda460 | 58 | /** |
Zafranhernandez | 1:58b4f9dda460 | 59 | @namespace serial |
Zafranhernandez | 1:58b4f9dda460 | 60 | @brief Serial for debugging purpose |
Zafranhernandez | 1:58b4f9dda460 | 61 | */ |
Zafranhernandez | 1:58b4f9dda460 | 62 | Serial serial(USBTX,USBRX); |
Zafranhernandez | 1:58b4f9dda460 | 63 | |
Zafranhernandez | 1:58b4f9dda460 | 64 | /** |
Zafranhernandez | 1:58b4f9dda460 | 65 | @namespace noteTimer |
Zafranhernandez | 1:58b4f9dda460 | 66 | @brief Create timer for music to be played. |
Zafranhernandez | 1:58b4f9dda460 | 67 | */ |
Zafranhernandez | 1:58b4f9dda460 | 68 | Timer noteTimer; |
Zafranhernandez | 1:58b4f9dda460 | 69 | |
Zafranhernandez | 1:58b4f9dda460 | 70 | /** |
Zafranhernandez | 1:58b4f9dda460 | 71 | @namespace sleepTimer |
Zafranhernandez | 1:58b4f9dda460 | 72 | @brief Create timer for music to be played. |
Zafranhernandez | 1:58b4f9dda460 | 73 | */ |
Zafranhernandez | 1:58b4f9dda460 | 74 | Timer sleepTimer; |
Zafranhernandez | 1:58b4f9dda460 | 75 | |
Zafranhernandez | 1:58b4f9dda460 | 76 | |
Zafranhernandez | 1:58b4f9dda460 | 77 | int printFlag; /*!< print flag set in ISR */ |
Zafranhernandez | 1:58b4f9dda460 | 78 | int pointer_x=20; /*!<initiate the pointer on main menu (x-axis)*/ |
Zafranhernandez | 1:58b4f9dda460 | 79 | int pointer_y=38; /*!<initiate the pointer on main menu (y-axis)*/ |
Zafranhernandez | 1:58b4f9dda460 | 80 | int loop=0; /*!<to be use by the while loop at every interface view*/ |
Zafranhernandez | 1:58b4f9dda460 | 81 | int output=0; /*!<output initialize at zero*/ |
Zafranhernandez | 1:58b4f9dda460 | 82 | int state=0; /*!<state initialize at zero*/ |
Zafranhernandez | 1:58b4f9dda460 | 83 | float brightness_adjuster=0.0; /*!<set the initial brightness at 0.5*/ |
Zafranhernandez | 1:58b4f9dda460 | 84 | volatile int g_button_flag=0; /*!<use for button interrupt purpose*/ |
Zafranhernandez | 1:58b4f9dda460 | 85 | int g_crash=0; /*!<init crash at 0 (crash not occur)*/ |
Zafranhernandez | 1:58b4f9dda460 | 86 | int g_liveleft=3; /*!<give start life in total of three*/ |
Zafranhernandez | 1:58b4f9dda460 | 87 | float duration=0; /*!<use to control the gameplay speed */ |
Zafranhernandez | 1:58b4f9dda460 | 88 | int playerSpeed=0; /*!<use to control the player car speed*/ |
Zafranhernandez | 1:58b4f9dda460 | 89 | int g_level=1; /*!<init the level at 1*/ |
Zafranhernandez | 1:58b4f9dda460 | 90 | int g_score=0; /*!<init the score at 0*/ |
Zafranhernandez | 1:58b4f9dda460 | 91 | int carValue[10000]; /*!<provide array of 10000 for traffic car */ |
Zafranhernandez | 1:58b4f9dda460 | 92 | int car_x=22; /*!<initiate car position_x*/ |
Zafranhernandez | 1:58b4f9dda460 | 93 | int car_y=38; /*!<initiate car position_y*/ |
Zafranhernandez | 1:58b4f9dda460 | 94 | int delay=0; /*!<use to provide delay for next upcoming car that enter the screen*/ |
Zafranhernandez | 1:58b4f9dda460 | 95 | int lastCar=0; /*!<use to check whereis the last trafic car will enter the screen to stop the level*/ |
Zafranhernandez | 1:58b4f9dda460 | 96 | int game = PLAY; /*!<use for pause the game*/ |
Zafranhernandez | 1:58b4f9dda460 | 97 | int n = 32; /*!< number of samples*/ |
Zafranhernandez | 1:58b4f9dda460 | 98 | float y[32]; /*!< array to store samples*/ |
Zafranhernandez | 1:58b4f9dda460 | 99 | float BPM = 73.0; /*!< beats per minute*/ |
Zafranhernandez | 1:58b4f9dda460 | 100 | |
Zafranhernandez | 1:58b4f9dda460 | 101 | /** Introduction Page |
Zafranhernandez | 1:58b4f9dda460 | 102 | * |
Zafranhernandez | 1:58b4f9dda460 | 103 | * Function to display introduction page when power is turn on. |
Zafranhernandez | 1:58b4f9dda460 | 104 | * |
Zafranhernandez | 1:58b4f9dda460 | 105 | */ |
Zafranhernandez | 1:58b4f9dda460 | 106 | void intro(); |
Zafranhernandez | 1:58b4f9dda460 | 107 | |
Zafranhernandez | 1:58b4f9dda460 | 108 | /** FirstView |
Zafranhernandez | 1:58b4f9dda460 | 109 | * |
Zafranhernandez | 1:58b4f9dda460 | 110 | * Function to provide main menu screen of the game. |
Zafranhernandez | 1:58b4f9dda460 | 111 | * |
Zafranhernandez | 1:58b4f9dda460 | 112 | */ |
Zafranhernandez | 1:58b4f9dda460 | 113 | void firstView(); |
Zafranhernandez | 1:58b4f9dda460 | 114 | |
Zafranhernandez | 1:58b4f9dda460 | 115 | /** FirstViewPointer |
Zafranhernandez | 1:58b4f9dda460 | 116 | * |
Zafranhernandez | 1:58b4f9dda460 | 117 | * Function to control the pointer in main menu screen. |
Zafranhernandez | 1:58b4f9dda460 | 118 | * |
Zafranhernandez | 1:58b4f9dda460 | 119 | */ |
Zafranhernandez | 1:58b4f9dda460 | 120 | void firstViewPointer(); |
Zafranhernandez | 1:58b4f9dda460 | 121 | |
Zafranhernandez | 1:58b4f9dda460 | 122 | /** Sleep View |
Zafranhernandez | 1:58b4f9dda460 | 123 | * |
Zafranhernandez | 1:58b4f9dda460 | 124 | * Function to generate sleep mode to save energy & power. |
Zafranhernandez | 1:58b4f9dda460 | 125 | * Also include lcd off to switch of the lcd. |
Zafranhernandez | 1:58b4f9dda460 | 126 | * Improve power effciency for the game system |
Zafranhernandez | 1:58b4f9dda460 | 127 | * Expand the battery lifetime. |
Zafranhernandez | 1:58b4f9dda460 | 128 | * |
Zafranhernandez | 1:58b4f9dda460 | 129 | */ |
Zafranhernandez | 1:58b4f9dda460 | 130 | void SleepView(); |
Zafranhernandez | 1:58b4f9dda460 | 131 | |
Zafranhernandez | 1:58b4f9dda460 | 132 | /** GameView |
Zafranhernandez | 1:58b4f9dda460 | 133 | * |
Zafranhernandez | 1:58b4f9dda460 | 134 | * The main part of the game coding is in here. |
Zafranhernandez | 1:58b4f9dda460 | 135 | * Contain all the complex part for the game. |
Zafranhernandez | 1:58b4f9dda460 | 136 | * Use array to store the traffic's car before displaying them into the screen. |
Zafranhernandez | 1:58b4f9dda460 | 137 | * |
Zafranhernandez | 1:58b4f9dda460 | 138 | */ |
Zafranhernandez | 1:58b4f9dda460 | 139 | void gameView(); |
Zafranhernandez | 1:58b4f9dda460 | 140 | |
Zafranhernandez | 1:58b4f9dda460 | 141 | /** Initialise game display |
Zafranhernandez | 1:58b4f9dda460 | 142 | * |
Zafranhernandez | 1:58b4f9dda460 | 143 | * Initialise display with game interface when the user enter the game. |
Zafranhernandez | 1:58b4f9dda460 | 144 | * Show the background display of the game screen. |
Zafranhernandez | 1:58b4f9dda460 | 145 | * Also contain countdown timer before the game start. |
Zafranhernandez | 1:58b4f9dda460 | 146 | * |
Zafranhernandez | 1:58b4f9dda460 | 147 | */ |
Zafranhernandez | 1:58b4f9dda460 | 148 | void initialGameInterface(); |
Zafranhernandez | 1:58b4f9dda460 | 149 | |
Zafranhernandez | 1:58b4f9dda460 | 150 | /** draw Road Vehicle |
Zafranhernandez | 1:58b4f9dda460 | 151 | * |
Zafranhernandez | 1:58b4f9dda460 | 152 | * Choose randomly which vehicle will be drawn on the screen. |
Zafranhernandez | 1:58b4f9dda460 | 153 | * @param carValue[] - where to draw the car in the screen. |
Zafranhernandez | 1:58b4f9dda460 | 154 | * |
Zafranhernandez | 1:58b4f9dda460 | 155 | */ |
Zafranhernandez | 1:58b4f9dda460 | 156 | void drawVehicleType(int carValue[]); |
Zafranhernandez | 1:58b4f9dda460 | 157 | |
Zafranhernandez | 1:58b4f9dda460 | 158 | /** Crash |
Zafranhernandez | 1:58b4f9dda460 | 159 | * |
Zafranhernandez | 1:58b4f9dda460 | 160 | * Check if there are crash occur between the player and the traffic car. |
Zafranhernandez | 1:58b4f9dda460 | 161 | * Store the pixel of player's car and pixel of trafic's car and check if they overlap each other. |
Zafranhernandez | 1:58b4f9dda460 | 162 | * @param carValue[] - consist array of value for position of traffic's car (which column). |
Zafranhernandez | 1:58b4f9dda460 | 163 | * @param opponent_y - the position of array's car (which row). |
Zafranhernandez | 1:58b4f9dda460 | 164 | * @param g_score - display the score value of the game. |
Zafranhernandez | 1:58b4f9dda460 | 165 | * @param g_level - display current level of the gameplay. |
Zafranhernandez | 1:58b4f9dda460 | 166 | * @param k - read the position of player's car (x-direction). |
Zafranhernandez | 1:58b4f9dda460 | 167 | * @param l - read the position of player's car (y-direction). |
Zafranhernandez | 1:58b4f9dda460 | 168 | * @param delay - create delay for the next car to enter the screen at different time. |
Zafranhernandez | 1:58b4f9dda460 | 169 | */ |
Zafranhernandez | 1:58b4f9dda460 | 170 | void crash(int carValue[],int opponent_y,int g_score,int g_level,int k,int l,int delay); |
Zafranhernandez | 1:58b4f9dda460 | 171 | |
Zafranhernandez | 1:58b4f9dda460 | 172 | /** Game Interface |
Zafranhernandez | 1:58b4f9dda460 | 173 | * |
Zafranhernandez | 1:58b4f9dda460 | 174 | * Display the text use during gameplay. (eg. Score, Level). |
Zafranhernandez | 1:58b4f9dda460 | 175 | * @param g_score - display the score value of the game. |
Zafranhernandez | 1:58b4f9dda460 | 176 | * @param g_level - display current level of the gameplay. |
Zafranhernandez | 1:58b4f9dda460 | 177 | * @param g_liveleft - display how many life left in the gameplay. |
Zafranhernandez | 1:58b4f9dda460 | 178 | * |
Zafranhernandez | 1:58b4f9dda460 | 179 | */ |
Zafranhernandez | 1:58b4f9dda460 | 180 | void game_interface(int g_score,int g_level,int g_liveleft); |
Zafranhernandez | 1:58b4f9dda460 | 181 | |
Zafranhernandez | 1:58b4f9dda460 | 182 | /** LifeLeft |
Zafranhernandez | 1:58b4f9dda460 | 183 | * |
Zafranhernandez | 1:58b4f9dda460 | 184 | * Function to draw how many life left in game. |
Zafranhernandez | 1:58b4f9dda460 | 185 | * @param g_liveleft - display how many life left in the gameplay. |
Zafranhernandez | 1:58b4f9dda460 | 186 | * |
Zafranhernandez | 1:58b4f9dda460 | 187 | */ |
Zafranhernandez | 1:58b4f9dda460 | 188 | void live(int liveleft); |
Zafranhernandez | 1:58b4f9dda460 | 189 | |
Zafranhernandez | 1:58b4f9dda460 | 190 | /** Road Display |
Zafranhernandez | 1:58b4f9dda460 | 191 | * |
Zafranhernandez | 1:58b4f9dda460 | 192 | * Display the text use during gameplay. (eg. Score, Level) |
Zafranhernandez | 1:58b4f9dda460 | 193 | * Function to display the road line in the game. |
Zafranhernandez | 1:58b4f9dda460 | 194 | * @param moving - use to make the road look as it is moving. |
Zafranhernandez | 1:58b4f9dda460 | 195 | * |
Zafranhernandez | 1:58b4f9dda460 | 196 | */ |
Zafranhernandez | 1:58b4f9dda460 | 197 | void roadline(int moving); |
Zafranhernandez | 1:58b4f9dda460 | 198 | |
Zafranhernandez | 1:58b4f9dda460 | 199 | /** Player Movement |
Zafranhernandez | 1:58b4f9dda460 | 200 | * |
Zafranhernandez | 1:58b4f9dda460 | 201 | * Function to control the movement of the player's car. |
Zafranhernandez | 1:58b4f9dda460 | 202 | * @param g_level - provide different speed for the player's car at different level. |
Zafranhernandez | 1:58b4f9dda460 | 203 | * |
Zafranhernandez | 1:58b4f9dda460 | 204 | */ |
Zafranhernandez | 1:58b4f9dda460 | 205 | void playermovement(int g_level); |
Zafranhernandez | 1:58b4f9dda460 | 206 | |
Zafranhernandez | 1:58b4f9dda460 | 207 | /** Last Traffic Car |
Zafranhernandez | 1:58b4f9dda460 | 208 | * |
Zafranhernandez | 1:58b4f9dda460 | 209 | * Function to check where is the last car to stop the loop at different level. |
Zafranhernandez | 1:58b4f9dda460 | 210 | * @param g_level - check where is the last car at certain level to stop the level loop and proceed to next level. |
Zafranhernandez | 1:58b4f9dda460 | 211 | * |
Zafranhernandez | 1:58b4f9dda460 | 212 | */ |
Zafranhernandez | 1:58b4f9dda460 | 213 | void checkLastCar(int g_level); |
Zafranhernandez | 1:58b4f9dda460 | 214 | |
Zafranhernandez | 1:58b4f9dda460 | 215 | /** Level Finish |
Zafranhernandez | 1:58b4f9dda460 | 216 | * |
Zafranhernandez | 1:58b4f9dda460 | 217 | * Function to display a message when a level is completed. |
Zafranhernandez | 1:58b4f9dda460 | 218 | * @param g_level - Write a text where a certain level is completed. |
Zafranhernandez | 1:58b4f9dda460 | 219 | * |
Zafranhernandez | 1:58b4f9dda460 | 220 | */ |
Zafranhernandez | 1:58b4f9dda460 | 221 | void finishLevel(int g_level); |
Zafranhernandez | 1:58b4f9dda460 | 222 | |
Zafranhernandez | 1:58b4f9dda460 | 223 | /** Option |
Zafranhernandez | 1:58b4f9dda460 | 224 | * |
Zafranhernandez | 1:58b4f9dda460 | 225 | * Function to display the option menu at the beginning. |
Zafranhernandez | 1:58b4f9dda460 | 226 | * |
Zafranhernandez | 1:58b4f9dda460 | 227 | */ |
Zafranhernandez | 1:58b4f9dda460 | 228 | void optionView(); |
Zafranhernandez | 1:58b4f9dda460 | 229 | |
Zafranhernandez | 1:58b4f9dda460 | 230 | /** Pointer Controller |
Zafranhernandez | 1:58b4f9dda460 | 231 | * |
Zafranhernandez | 1:58b4f9dda460 | 232 | * Function to control pointer in option menu. |
Zafranhernandez | 1:58b4f9dda460 | 233 | * |
Zafranhernandez | 1:58b4f9dda460 | 234 | */ |
Zafranhernandez | 1:58b4f9dda460 | 235 | void optionPointer(); |
Zafranhernandez | 1:58b4f9dda460 | 236 | |
Zafranhernandez | 1:58b4f9dda460 | 237 | /** Finish View |
Zafranhernandez | 1:58b4f9dda460 | 238 | * |
Zafranhernandez | 1:58b4f9dda460 | 239 | * Function to display the end screen when the game is finally over. |
Zafranhernandez | 1:58b4f9dda460 | 240 | * @param g_score - display the final score at the end of the game. |
Zafranhernandez | 1:58b4f9dda460 | 241 | * |
Zafranhernandez | 1:58b4f9dda460 | 242 | */ |
Zafranhernandez | 1:58b4f9dda460 | 243 | void finishView(int g_score); |
Zafranhernandez | 1:58b4f9dda460 | 244 | |
Zafranhernandez | 1:58b4f9dda460 | 245 | /** Brightness Controller |
Zafranhernandez | 1:58b4f9dda460 | 246 | * |
Zafranhernandez | 1:58b4f9dda460 | 247 | * function to control the lcd brightness. |
Zafranhernandez | 1:58b4f9dda460 | 248 | * |
Zafranhernandez | 1:58b4f9dda460 | 249 | */ |
Zafranhernandez | 1:58b4f9dda460 | 250 | void brightnessController(); |
Zafranhernandez | 1:58b4f9dda460 | 251 | |
Zafranhernandez | 1:58b4f9dda460 | 252 | /** Brightness View |
Zafranhernandez | 1:58b4f9dda460 | 253 | * |
Zafranhernandez | 1:58b4f9dda460 | 254 | * function to display the brightnees controller screen. |
Zafranhernandez | 1:58b4f9dda460 | 255 | * |
Zafranhernandez | 1:58b4f9dda460 | 256 | */ |
Zafranhernandez | 1:58b4f9dda460 | 257 | void brightnessView(); |
Zafranhernandez | 1:58b4f9dda460 | 258 | |
Zafranhernandez | 1:58b4f9dda460 | 259 | /** Intruction Page |
Zafranhernandez | 1:58b4f9dda460 | 260 | * |
Zafranhernandez | 1:58b4f9dda460 | 261 | * function to provide game manual for the player. |
Zafranhernandez | 1:58b4f9dda460 | 262 | * |
Zafranhernandez | 1:58b4f9dda460 | 263 | */ |
Zafranhernandez | 1:58b4f9dda460 | 264 | void instructionView(); |
Zafranhernandez | 1:58b4f9dda460 | 265 | |
Zafranhernandez | 1:58b4f9dda460 | 266 | /** Button Interrupt |
Zafranhernandez | 1:58b4f9dda460 | 267 | * |
Zafranhernandez | 1:58b4f9dda460 | 268 | * Use for interrupt. |
Zafranhernandez | 1:58b4f9dda460 | 269 | * It will change the flag to one. |
Zafranhernandez | 1:58b4f9dda460 | 270 | * |
Zafranhernandez | 1:58b4f9dda460 | 271 | */ |
Zafranhernandez | 1:58b4f9dda460 | 272 | void button_isr(); |
Zafranhernandez | 1:58b4f9dda460 | 273 | |
Zafranhernandez | 1:58b4f9dda460 | 274 | /** Gameplay Music |
Zafranhernandez | 1:58b4f9dda460 | 275 | * |
Zafranhernandez | 1:58b4f9dda460 | 276 | * function to play sound during gameplay. |
Zafranhernandez | 1:58b4f9dda460 | 277 | * @param duration - play the note at duration equal to speed of the car. |
Zafranhernandez | 1:58b4f9dda460 | 278 | * |
Zafranhernandez | 1:58b4f9dda460 | 279 | */ |
Zafranhernandez | 1:58b4f9dda460 | 280 | void gameplaysound(float duration); |
Zafranhernandez | 1:58b4f9dda460 | 281 | |
Zafranhernandez | 1:58b4f9dda460 | 282 | /** Crash Music |
Zafranhernandez | 1:58b4f9dda460 | 283 | * |
Zafranhernandez | 1:58b4f9dda460 | 284 | * function to provide sound when crash occur. |
Zafranhernandez | 1:58b4f9dda460 | 285 | * |
Zafranhernandez | 1:58b4f9dda460 | 286 | */ |
Zafranhernandez | 1:58b4f9dda460 | 287 | void crashsound(); |
Zafranhernandez | 1:58b4f9dda460 | 288 | |
Zafranhernandez | 1:58b4f9dda460 | 289 | /** Pause Music |
Zafranhernandez | 1:58b4f9dda460 | 290 | * |
Zafranhernandez | 1:58b4f9dda460 | 291 | * function to provide sound when the gmae is paused. |
Zafranhernandez | 1:58b4f9dda460 | 292 | * |
Zafranhernandez | 1:58b4f9dda460 | 293 | */ |
Zafranhernandez | 1:58b4f9dda460 | 294 | void pausesound(); |
Zafranhernandez | 1:58b4f9dda460 | 295 | |
Zafranhernandez | 1:58b4f9dda460 | 296 | /** Finish Music |
Zafranhernandez | 1:58b4f9dda460 | 297 | * |
Zafranhernandez | 1:58b4f9dda460 | 298 | * function to provide sound when the game finished. |
Zafranhernandez | 1:58b4f9dda460 | 299 | * |
Zafranhernandez | 1:58b4f9dda460 | 300 | */ |
Zafranhernandez | 1:58b4f9dda460 | 301 | void finishsound(); |
Zafranhernandez | 1:58b4f9dda460 | 302 | |
Zafranhernandez | 1:58b4f9dda460 | 303 | /** Score Text |
Zafranhernandez | 1:58b4f9dda460 | 304 | * |
Zafranhernandez | 1:58b4f9dda460 | 305 | * function to display score text in screen. |
Zafranhernandez | 1:58b4f9dda460 | 306 | * @param m - locate the x-coordinate of the text |
Zafranhernandez | 1:58b4f9dda460 | 307 | * @param my - locate the y-coordinate of the text |
Zafranhernandez | 1:58b4f9dda460 | 308 | * |
Zafranhernandez | 1:58b4f9dda460 | 309 | */ |
Zafranhernandez | 1:58b4f9dda460 | 310 | void score(int m,int my); |
Zafranhernandez | 1:58b4f9dda460 | 311 | |
Zafranhernandez | 1:58b4f9dda460 | 312 | /** Level Text |
Zafranhernandez | 1:58b4f9dda460 | 313 | * |
Zafranhernandez | 1:58b4f9dda460 | 314 | * function to display level text in screen. |
Zafranhernandez | 1:58b4f9dda460 | 315 | * @param x1 - locate the x-coordinate of the text |
Zafranhernandez | 1:58b4f9dda460 | 316 | * @param y1 - locate the y-coordinate of the text |
Zafranhernandez | 1:58b4f9dda460 | 317 | * |
Zafranhernandez | 1:58b4f9dda460 | 318 | */ |
Zafranhernandez | 1:58b4f9dda460 | 319 | void level(int x1,int y1); |
Zafranhernandez | 1:58b4f9dda460 | 320 | |
Zafranhernandez | 1:58b4f9dda460 | 321 | /** Initiate Game Variable |
Zafranhernandez | 1:58b4f9dda460 | 322 | * |
Zafranhernandez | 1:58b4f9dda460 | 323 | * function to initialize back all game variable used for new game. |
Zafranhernandez | 1:58b4f9dda460 | 324 | * |
Zafranhernandez | 1:58b4f9dda460 | 325 | */ |
Zafranhernandez | 1:58b4f9dda460 | 326 | void initGameVar(); |
Zafranhernandez | 1:58b4f9dda460 | 327 | |
Zafranhernandez | 1:58b4f9dda460 | 328 | /** Initiate Music Array |
Zafranhernandez | 1:58b4f9dda460 | 329 | * |
Zafranhernandez | 1:58b4f9dda460 | 330 | * function to initialise sample array for music (sound) purpose. |
Zafranhernandez | 1:58b4f9dda460 | 331 | * |
Zafranhernandez | 1:58b4f9dda460 | 332 | */ |
Zafranhernandez | 1:58b4f9dda460 | 333 | void initArray(); |
Zafranhernandez | 1:58b4f9dda460 | 334 | |
Zafranhernandez | 1:58b4f9dda460 | 335 | /** Tone |
Zafranhernandez | 1:58b4f9dda460 | 336 | * |
Zafranhernandez | 1:58b4f9dda460 | 337 | * function to play a tone of set frequency for given duration |
Zafranhernandez | 1:58b4f9dda460 | 338 | * @param frequency - frequency that the tone is being played. |
Zafranhernandez | 1:58b4f9dda460 | 339 | * @param duration - time duration for a note to be played |
Zafranhernandez | 1:58b4f9dda460 | 340 | * |
Zafranhernandez | 1:58b4f9dda460 | 341 | */ |
Zafranhernandez | 1:58b4f9dda460 | 342 | void tone(float frequency,float duration); |
Zafranhernandez | 1:58b4f9dda460 | 343 | |
Zafranhernandez | 1:58b4f9dda460 | 344 | #endif |