My ELEC2645 project. Nikollao Sulollari. 200804685
Dependencies: N5110 SoftPWM mbed
main.h@21:6b02ef341358, 2016-05-04 (annotated)
- Committer:
- Nikollao
- Date:
- Wed May 04 09:19:50 2016 +0000
- Revision:
- 21:6b02ef341358
- Parent:
- 20:59aa6189a47d
Final Version for Submission! Well done!
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Nikollao | 5:ffa498d7071f | 1 | /** |
Nikollao | 5:ffa498d7071f | 2 | @file main.h |
Nikollao | 5:ffa498d7071f | 3 | @brief Header file contains functions and variables |
Nikollao | 5:ffa498d7071f | 4 | @brief Treasure Hunt - Embedded Systems Project |
Nikollao | 5:ffa498d7071f | 5 | @brief Revision 1.0 |
Nikollao | 5:ffa498d7071f | 6 | @author Nikollao Sulollari |
Nikollao | 5:ffa498d7071f | 7 | @Date 26/03/2016 |
Nikollao | 5:ffa498d7071f | 8 | */ |
Nikollao | 5:ffa498d7071f | 9 | |
Nikollao | 5:ffa498d7071f | 10 | #ifndef MAIN_H |
Nikollao | 5:ffa498d7071f | 11 | #define MAIN_H |
Nikollao | 5:ffa498d7071f | 12 | #include "mbed.h" |
Nikollao | 7:f31a4b4beb91 | 13 | #include "N5110.h" |
Nikollao | 11:53caf3d944a9 | 14 | #include "SoftPWM.h" |
Nikollao | 5:ffa498d7071f | 15 | |
Nikollao | 7:f31a4b4beb91 | 16 | #define DIRECTION_TOLERANCE 0.05 |
Nikollao | 7:f31a4b4beb91 | 17 | /** |
Nikollao | 7:f31a4b4beb91 | 18 | @nameSpace r_led |
Nikollao | 7:f31a4b4beb91 | 19 | @brief output for status of red LED |
Nikollao | 7:f31a4b4beb91 | 20 | */ |
Nikollao | 7:f31a4b4beb91 | 21 | DigitalOut r_led(LED_RED); |
Nikollao | 7:f31a4b4beb91 | 22 | |
Nikollao | 7:f31a4b4beb91 | 23 | /** |
Nikollao | 21:6b02ef341358 | 24 | @namespace g_led |
Nikollao | 7:f31a4b4beb91 | 25 | @brief output for status of green LED |
Nikollao | 7:f31a4b4beb91 | 26 | */ |
Nikollao | 7:f31a4b4beb91 | 27 | DigitalOut g_led(LED_GREEN); |
Nikollao | 5:ffa498d7071f | 28 | |
Nikollao | 5:ffa498d7071f | 29 | /** |
Nikollao | 21:6b02ef341358 | 30 | @namespace b_led |
Nikollao | 7:f31a4b4beb91 | 31 | @brief output for status of blue LED |
Nikollao | 5:ffa498d7071f | 32 | */ |
Nikollao | 2:af5b5d42e835 | 33 | DigitalOut b_led(LED_BLUE); |
Nikollao | 2:af5b5d42e835 | 34 | |
Nikollao | 7:f31a4b4beb91 | 35 | /** |
Nikollao | 21:6b02ef341358 | 36 | @namespace blue_led |
Nikollao | 17:2d424db3975f | 37 | @brief output for status of blue LED, lights when game tool is loaded |
Nikollao | 15:c7af2ea5f164 | 38 | */ |
Nikollao | 15:c7af2ea5f164 | 39 | DigitalOut blue_led(PTA1); |
Nikollao | 15:c7af2ea5f164 | 40 | |
Nikollao | 15:c7af2ea5f164 | 41 | /** |
Nikollao | 21:6b02ef341358 | 42 | @namespace led_output |
Nikollao | 17:2d424db3975f | 43 | @brief output for status of left tries for the user to win the game |
Nikollao | 15:c7af2ea5f164 | 44 | */ |
Nikollao | 17:2d424db3975f | 45 | BusOut led_output(PTC2,PTA2,PTB23); |
Nikollao | 15:c7af2ea5f164 | 46 | |
Nikollao | 15:c7af2ea5f164 | 47 | /** |
Nikollao | 21:6b02ef341358 | 48 | @namespace lcd |
Nikollao | 7:f31a4b4beb91 | 49 | @brief object of the N5110 class |
Nikollao | 7:f31a4b4beb91 | 50 | */ |
Nikollao | 7:f31a4b4beb91 | 51 | N5110 lcd(PTE26 , PTA0 , PTC4 , PTD0 , PTD2 , PTD1 , PTC3); |
Nikollao | 7:f31a4b4beb91 | 52 | |
Nikollao | 7:f31a4b4beb91 | 53 | /** |
Nikollao | 21:6b02ef341358 | 54 | @namespace pc |
Nikollao | 7:f31a4b4beb91 | 55 | @brief serial connection between mbed and pc |
Nikollao | 7:f31a4b4beb91 | 56 | */ |
Nikollao | 7:f31a4b4beb91 | 57 | Serial pc(USBTX,USBRX); |
Nikollao | 7:f31a4b4beb91 | 58 | |
Nikollao | 2:af5b5d42e835 | 59 | // K64F on-board switches |
Nikollao | 2:af5b5d42e835 | 60 | InterruptIn sw2(SW2); |
Nikollao | 2:af5b5d42e835 | 61 | InterruptIn sw3(SW3); |
Nikollao | 2:af5b5d42e835 | 62 | |
Nikollao | 7:f31a4b4beb91 | 63 | |
Nikollao | 7:f31a4b4beb91 | 64 | /** |
Nikollao | 21:6b02ef341358 | 65 | @namespace xPot |
Nikollao | 7:f31a4b4beb91 | 66 | @brief read x-axis position from the value of the joystick |
Nikollao | 7:f31a4b4beb91 | 67 | */ |
Nikollao | 10:1d229362c134 | 68 | AnalogIn xPot(PTB2); |
Nikollao | 7:f31a4b4beb91 | 69 | |
Nikollao | 7:f31a4b4beb91 | 70 | /** |
Nikollao | 21:6b02ef341358 | 71 | @namespace yPot |
Nikollao | 7:f31a4b4beb91 | 72 | @brief read y-axis position from the value of the joystick |
Nikollao | 7:f31a4b4beb91 | 73 | */ |
Nikollao | 10:1d229362c134 | 74 | AnalogIn yPot(PTB3); |
Nikollao | 10:1d229362c134 | 75 | |
Nikollao | 10:1d229362c134 | 76 | /** |
Nikollao | 21:6b02ef341358 | 77 | @namespace button |
Nikollao | 10:1d229362c134 | 78 | @brief interrupt executes an event triggered task |
Nikollao | 10:1d229362c134 | 79 | */ |
Nikollao | 10:1d229362c134 | 80 | InterruptIn button(PTB10); |
Nikollao | 10:1d229362c134 | 81 | |
Nikollao | 10:1d229362c134 | 82 | /** |
Nikollao | 21:6b02ef341358 | 83 | @namespace button |
Nikollao | 10:1d229362c134 | 84 | @brief interrupt executes an event triggered task |
Nikollao | 10:1d229362c134 | 85 | */ |
Nikollao | 10:1d229362c134 | 86 | InterruptIn button1(PTB18); |
Nikollao | 7:f31a4b4beb91 | 87 | |
Nikollao | 7:f31a4b4beb91 | 88 | /** |
Nikollao | 21:6b02ef341358 | 89 | @namespace buzzer |
Nikollao | 21:6b02ef341358 | 90 | @brief create PWM signal using the SoftPWM library to set buzzer duty cycle and period |
Nikollao | 7:f31a4b4beb91 | 91 | */ |
Nikollao | 11:53caf3d944a9 | 92 | SoftPWM buzzer(PTB9); |
Nikollao | 7:f31a4b4beb91 | 93 | |
Nikollao | 7:f31a4b4beb91 | 94 | /** |
Nikollao | 21:6b02ef341358 | 95 | @namespace ticker |
Nikollao | 7:f31a4b4beb91 | 96 | @brief interrupt executes a time-triggered task |
Nikollao | 7:f31a4b4beb91 | 97 | */ |
Nikollao | 7:f31a4b4beb91 | 98 | Ticker ticker; |
Nikollao | 7:f31a4b4beb91 | 99 | |
Nikollao | 20:59aa6189a47d | 100 | /** |
Nikollao | 21:6b02ef341358 | 101 | @namespace timer |
Nikollao | 20:59aa6189a47d | 102 | @brief interface is used to measure the time between start and stop |
Nikollao | 20:59aa6189a47d | 103 | */ |
Nikollao | 20:59aa6189a47d | 104 | Timer timer; |
Nikollao | 9:ce2d9c42edea | 105 | |
Nikollao | 7:f31a4b4beb91 | 106 | /** |
Nikollao | 21:6b02ef341358 | 107 | @namespace game_ticker |
Nikollao | 7:f31a4b4beb91 | 108 | @brief interrupt executes a time-triggered task |
Nikollao | 7:f31a4b4beb91 | 109 | */ |
Nikollao | 7:f31a4b4beb91 | 110 | Ticker game_ticker; |
Nikollao | 7:f31a4b4beb91 | 111 | |
Nikollao | 7:f31a4b4beb91 | 112 | /** |
Nikollao | 21:6b02ef341358 | 113 | @namespace timeout |
Nikollao | 7:f31a4b4beb91 | 114 | @brief interrupt calls a function after a specified amount of time |
Nikollao | 7:f31a4b4beb91 | 115 | */ |
Nikollao | 7:f31a4b4beb91 | 116 | Timeout timeout; |
Nikollao | 7:f31a4b4beb91 | 117 | |
Nikollao | 7:f31a4b4beb91 | 118 | |
Nikollao | 7:f31a4b4beb91 | 119 | /** |
Nikollao | 21:6b02ef341358 | 120 | @namespace DirectionName |
Nikollao | 7:f31a4b4beb91 | 121 | @brief define joystick's direction based on its x,y values |
Nikollao | 7:f31a4b4beb91 | 122 | */ |
Nikollao | 7:f31a4b4beb91 | 123 | enum DirectionName { |
Nikollao | 7:f31a4b4beb91 | 124 | UP, |
Nikollao | 7:f31a4b4beb91 | 125 | DOWN, |
Nikollao | 7:f31a4b4beb91 | 126 | LEFT, |
Nikollao | 7:f31a4b4beb91 | 127 | RIGHT, |
Nikollao | 7:f31a4b4beb91 | 128 | CENTRE, |
Nikollao | 7:f31a4b4beb91 | 129 | UP_LEFT, |
Nikollao | 7:f31a4b4beb91 | 130 | UP_RIGHT, |
Nikollao | 7:f31a4b4beb91 | 131 | DOWN_LEFT, |
Nikollao | 7:f31a4b4beb91 | 132 | DOWN_RIGHT |
Nikollao | 7:f31a4b4beb91 | 133 | }; |
Nikollao | 7:f31a4b4beb91 | 134 | |
Nikollao | 7:f31a4b4beb91 | 135 | /** |
Nikollao | 21:6b02ef341358 | 136 | @namespace Joystick |
Nikollao | 7:f31a4b4beb91 | 137 | @brief create strcut Joystick |
Nikollao | 7:f31a4b4beb91 | 138 | */ |
Nikollao | 7:f31a4b4beb91 | 139 | typedef struct JoyStick Joystick; |
Nikollao | 7:f31a4b4beb91 | 140 | struct JoyStick { |
Nikollao | 7:f31a4b4beb91 | 141 | double x; /// current x value |
Nikollao | 7:f31a4b4beb91 | 142 | double x0; /// 'centred' x value |
Nikollao | 7:f31a4b4beb91 | 143 | double y; /// current y value |
Nikollao | 7:f31a4b4beb91 | 144 | double y0; /// 'centred' y value |
Nikollao | 7:f31a4b4beb91 | 145 | int button; /// button state (assume pull-down used, so 1 = pressed, 0 = unpressed) |
Nikollao | 7:f31a4b4beb91 | 146 | DirectionName direction; // current direction |
Nikollao | 7:f31a4b4beb91 | 147 | }; |
Nikollao | 7:f31a4b4beb91 | 148 | /// create struct variable |
Nikollao | 7:f31a4b4beb91 | 149 | Joystick joystick; |
Nikollao | 2:af5b5d42e835 | 150 | |
Nikollao | 21:6b02ef341358 | 151 | /** |
Nikollao | 21:6b02ef341358 | 152 | The main function where the program takes place |
Nikollao | 21:6b02ef341358 | 153 | */ |
Nikollao | 11:53caf3d944a9 | 154 | int main(); |
Nikollao | 11:53caf3d944a9 | 155 | |
Nikollao | 5:ffa498d7071f | 156 | /** |
Nikollao | 5:ffa498d7071f | 157 | set-up serial port |
Nikollao | 5:ffa498d7071f | 158 | */ |
Nikollao | 2:af5b5d42e835 | 159 | void init_serial(); |
Nikollao | 5:ffa498d7071f | 160 | |
Nikollao | 5:ffa498d7071f | 161 | /** |
Nikollao | 5:ffa498d7071f | 162 | set-up the on-board LEDs and switches |
Nikollao | 5:ffa498d7071f | 163 | */ |
Nikollao | 2:af5b5d42e835 | 164 | void init_K64F(); |
Nikollao | 5:ffa498d7071f | 165 | |
Nikollao | 5:ffa498d7071f | 166 | /** |
Nikollao | 5:ffa498d7071f | 167 | Set-up random variables and game menu |
Nikollao | 5:ffa498d7071f | 168 | */ |
Nikollao | 2:af5b5d42e835 | 169 | void init_game(); |
Nikollao | 5:ffa498d7071f | 170 | |
Nikollao | 5:ffa498d7071f | 171 | /** |
Nikollao | 5:ffa498d7071f | 172 | Set-up flag to 1 |
Nikollao | 5:ffa498d7071f | 173 | */ |
Nikollao | 5:ffa498d7071f | 174 | |
Nikollao | 5:ffa498d7071f | 175 | /** |
Nikollao | 5:ffa498d7071f | 176 | Set-up flag to 1 |
Nikollao | 5:ffa498d7071f | 177 | */ |
Nikollao | 2:af5b5d42e835 | 178 | void timer_isr(); |
Nikollao | 5:ffa498d7071f | 179 | |
Nikollao | 5:ffa498d7071f | 180 | /** |
Nikollao | 5:ffa498d7071f | 181 | Set-up flag to 1 |
Nikollao | 5:ffa498d7071f | 182 | */ |
Nikollao | 5:ffa498d7071f | 183 | |
Nikollao | 5:ffa498d7071f | 184 | /** |
Nikollao | 5:ffa498d7071f | 185 | Set-up flag to 1 |
Nikollao | 5:ffa498d7071f | 186 | */ |
Nikollao | 2:af5b5d42e835 | 187 | void game_timer_isr(); |
Nikollao | 5:ffa498d7071f | 188 | |
Nikollao | 5:ffa498d7071f | 189 | /** |
Nikollao | 5:ffa498d7071f | 190 | Set-up flag to 1 |
Nikollao | 5:ffa498d7071f | 191 | */ |
Nikollao | 2:af5b5d42e835 | 192 | void sw2_isr(); |
Nikollao | 5:ffa498d7071f | 193 | |
Nikollao | 5:ffa498d7071f | 194 | /** |
Nikollao | 5:ffa498d7071f | 195 | Set-up flag to 1 |
Nikollao | 5:ffa498d7071f | 196 | */ |
Nikollao | 2:af5b5d42e835 | 197 | void sw3_isr(); |
Nikollao | 5:ffa498d7071f | 198 | |
Nikollao | 5:ffa498d7071f | 199 | /** |
Nikollao | 5:ffa498d7071f | 200 | Set-up flag to 1 |
Nikollao | 5:ffa498d7071f | 201 | */ |
Nikollao | 2:af5b5d42e835 | 202 | void button_isr(); |
Nikollao | 5:ffa498d7071f | 203 | |
Nikollao | 5:ffa498d7071f | 204 | /** |
Nikollao | 5:ffa498d7071f | 205 | Set-up flag to 1 |
Nikollao | 5:ffa498d7071f | 206 | */ |
Nikollao | 11:53caf3d944a9 | 207 | void button1_isr(); |
Nikollao | 11:53caf3d944a9 | 208 | |
Nikollao | 11:53caf3d944a9 | 209 | /** |
Nikollao | 11:53caf3d944a9 | 210 | Set-up flag to 1 |
Nikollao | 11:53caf3d944a9 | 211 | */ |
Nikollao | 2:af5b5d42e835 | 212 | void timeout_isr(); |
Nikollao | 2:af5b5d42e835 | 213 | |
Nikollao | 9:ce2d9c42edea | 214 | |
Nikollao | 5:ffa498d7071f | 215 | /** |
Nikollao | 5:ffa498d7071f | 216 | Set current position to default position of Joystick |
Nikollao | 5:ffa498d7071f | 217 | */ |
Nikollao | 2:af5b5d42e835 | 218 | void calibrateJoystick(); |
Nikollao | 5:ffa498d7071f | 219 | |
Nikollao | 5:ffa498d7071f | 220 | /** |
Nikollao | 5:ffa498d7071f | 221 | Update the values of the joystick to get current position |
Nikollao | 5:ffa498d7071f | 222 | */ |
Nikollao | 2:af5b5d42e835 | 223 | void updateJoystick(); |
Nikollao | 2:af5b5d42e835 | 224 | |
Nikollao | 5:ffa498d7071f | 225 | /** |
Nikollao | 5:ffa498d7071f | 226 | Create an enemy rectangular shape |
Nikollao | 5:ffa498d7071f | 227 | */ |
Nikollao | 2:af5b5d42e835 | 228 | void enemyRect(); |
Nikollao | 5:ffa498d7071f | 229 | |
Nikollao | 5:ffa498d7071f | 230 | /** |
Nikollao | 19:70d40dac5ae0 | 231 | Create an enemy rectangular shape |
Nikollao | 19:70d40dac5ae0 | 232 | */ |
Nikollao | 19:70d40dac5ae0 | 233 | void enemyRocket(); |
Nikollao | 19:70d40dac5ae0 | 234 | |
Nikollao | 19:70d40dac5ae0 | 235 | /** |
Nikollao | 5:ffa498d7071f | 236 | Create circle shape enemy |
Nikollao | 5:ffa498d7071f | 237 | */ |
Nikollao | 2:af5b5d42e835 | 238 | void enemyCircle(); |
Nikollao | 5:ffa498d7071f | 239 | |
Nikollao | 5:ffa498d7071f | 240 | /** |
Nikollao | 5:ffa498d7071f | 241 | creates the hero of the game |
Nikollao | 5:ffa498d7071f | 242 | */ |
Nikollao | 2:af5b5d42e835 | 243 | void hero(); |
Nikollao | 5:ffa498d7071f | 244 | |
Nikollao | 5:ffa498d7071f | 245 | /** |
Nikollao | 5:ffa498d7071f | 246 | Shows the right direction |
Nikollao | 5:ffa498d7071f | 247 | */ |
Nikollao | 2:af5b5d42e835 | 248 | void guidance(); |
Nikollao | 5:ffa498d7071f | 249 | |
Nikollao | 5:ffa498d7071f | 250 | /** |
Nikollao | 5:ffa498d7071f | 251 | Locates obstacles in the screen |
Nikollao | 5:ffa498d7071f | 252 | */ |
Nikollao | 2:af5b5d42e835 | 253 | void obstacles(); |
Nikollao | 5:ffa498d7071f | 254 | |
Nikollao | 5:ffa498d7071f | 255 | /** |
Nikollao | 5:ffa498d7071f | 256 | Gets enemies depending on the level |
Nikollao | 5:ffa498d7071f | 257 | */ |
Nikollao | 3:d2cc054e8605 | 258 | void enemies(); |
Nikollao | 5:ffa498d7071f | 259 | |
Nikollao | 5:ffa498d7071f | 260 | /** |
Nikollao | 20:59aa6189a47d | 261 | Implement Menu in the game and display on screen |
Nikollao | 5:ffa498d7071f | 262 | */ |
Nikollao | 20:59aa6189a47d | 263 | void menu(); |
Nikollao | 4:f31bdc212241 | 264 | |
Nikollao | 20:59aa6189a47d | 265 | /** |
Nikollao | 20:59aa6189a47d | 266 | Check for overlap between hero and enemies or obstacles |
Nikollao | 20:59aa6189a47d | 267 | */ |
Nikollao | 6:c11bb31a06b3 | 268 | void checkOverlap(); |
Nikollao | 6:c11bb31a06b3 | 269 | |
Nikollao | 5:ffa498d7071f | 270 | /** |
Nikollao | 5:ffa498d7071f | 271 | Check for intrersection |
Nikollao | 5:ffa498d7071f | 272 | @param i loops through x direction |
Nikollao | 5:ffa498d7071f | 273 | @param j loops through y direction |
Nikollao | 21:6b02ef341358 | 274 | @returns the number of pixels around the hero detected |
Nikollao | 5:ffa498d7071f | 275 | */ |
Nikollao | 5:ffa498d7071f | 276 | int intersection(int i, int j); |
Nikollao | 5:ffa498d7071f | 277 | |
Nikollao | 5:ffa498d7071f | 278 | |
Nikollao | 7:f31a4b4beb91 | 279 | //vars |
Nikollao | 7:f31a4b4beb91 | 280 | volatile int rectX; /*!< used to determine x-axis position of the rect enemy */ |
Nikollao | 7:f31a4b4beb91 | 281 | |
Nikollao | 7:f31a4b4beb91 | 282 | volatile int rectY ;/*!< used to determine y-axis position of the rect enemy */ |
Nikollao | 5:ffa498d7071f | 283 | |
Nikollao | 6:c11bb31a06b3 | 284 | volatile int circleX;/*!< used to determine x-axis position of the circular enemy */ |
Nikollao | 5:ffa498d7071f | 285 | |
Nikollao | 6:c11bb31a06b3 | 286 | volatile int circleY;/*!< used to determine y-axis position of the circular enemy */ |
Nikollao | 5:ffa498d7071f | 287 | |
Nikollao | 6:c11bb31a06b3 | 288 | volatile int heroX;/*!< used to move the hero along x-axis */ |
Nikollao | 5:ffa498d7071f | 289 | |
Nikollao | 6:c11bb31a06b3 | 290 | volatile int heroY;/*!< used to move the hero along y-axis */ |
Nikollao | 5:ffa498d7071f | 291 | |
Nikollao | 6:c11bb31a06b3 | 292 | volatile int level = 0; /*!< initiate the level difficulty of the game */ |
Nikollao | 2:af5b5d42e835 | 293 | |
Nikollao | 6:c11bb31a06b3 | 294 | volatile int g_timer_flag = 0; /*!< set timer flag in the isr, timer trigger interrupt */ |
Nikollao | 5:ffa498d7071f | 295 | |
Nikollao | 6:c11bb31a06b3 | 296 | volatile int g_game_timer_flag = 0; /*!< set timer flag in the isr, timer trigger interrupt */ |
Nikollao | 5:ffa498d7071f | 297 | |
Nikollao | 6:c11bb31a06b3 | 298 | volatile int g_sw2_flag = 0; /*!< set timer flag in the isr, event trigger interrupt */ |
Nikollao | 5:ffa498d7071f | 299 | |
Nikollao | 6:c11bb31a06b3 | 300 | volatile int g_sw3_flag = 0; /*!< set timer flag in the isr, event trigger interrupt */ |
Nikollao | 5:ffa498d7071f | 301 | |
Nikollao | 10:1d229362c134 | 302 | volatile int g_button_flag = 0; /*!< set flag in the isr, event trigger interrupt */ |
Nikollao | 10:1d229362c134 | 303 | |
Nikollao | 10:1d229362c134 | 304 | volatile int g_button1_flag = 0; /*!< set flag in the isr, event trigger interrupt */ |
Nikollao | 2:af5b5d42e835 | 305 | |
Nikollao | 6:c11bb31a06b3 | 306 | volatile int option = 0; /*!< select option in menu based on Joystick's movement */ |
Nikollao | 5:ffa498d7071f | 307 | |
Nikollao | 6:c11bb31a06b3 | 308 | volatile int play = 0; /*!< counts the number of plays */ |
Nikollao | 5:ffa498d7071f | 309 | |
Nikollao | 15:c7af2ea5f164 | 310 | volatile int tries = 3;/*!< counts the number of trials */ |
Nikollao | 4:f31bdc212241 | 311 | |
Nikollao | 6:c11bb31a06b3 | 312 | volatile int n;/*!< number of pixels overlapping */ |
Nikollao | 13:359d3aa66352 | 313 | |
Nikollao | 16:a6ca6858af24 | 314 | volatile float game_speed = 0.05; /*!< value is set to the ticker, allows user to select game speed */ |
Nikollao | 4:f31bdc212241 | 315 | |
Nikollao | 17:2d424db3975f | 316 | int fsm[4] = {7,6,4,0}; /*!< array of elements in the FSM, each element is the output of the counter */ |
Nikollao | 17:2d424db3975f | 317 | |
Nikollao | 17:2d424db3975f | 318 | int fsm_state = 0; /*!< variable is used to access the array of states and produce an output */ |
Nikollao | 17:2d424db3975f | 319 | |
Nikollao | 6:c11bb31a06b3 | 320 | int reset = 0; /*!< used to save current level of difficulty */ |
Nikollao | 4:f31bdc212241 | 321 | |
Nikollao | 8:606a488fa720 | 322 | int objectX = 0; /*!< used to move obstacles in the x-axis */ |
Nikollao | 7:f31a4b4beb91 | 323 | |
Nikollao | 8:606a488fa720 | 324 | int objectY = 20; /*!< used to move obstacles in the y-axis */ |
Nikollao | 8:606a488fa720 | 325 | |
Nikollao | 8:606a488fa720 | 326 | int state = 0; /*!< controls the direction of the objtacle */ |
Nikollao | 9:ce2d9c42edea | 327 | |
Nikollao | 9:ce2d9c42edea | 328 | int objectX1 = 58; /*!< used to move obstacles in the x-axis */ |
Nikollao | 10:1d229362c134 | 329 | |
Nikollao | 9:ce2d9c42edea | 330 | int state1 = 1; /*!< controls the direction of the objtacle */ |
Nikollao | 9:ce2d9c42edea | 331 | |
Nikollao | 16:a6ca6858af24 | 332 | int speed = 1; /*!< controls the speed menu display */ |
Nikollao | 11:53caf3d944a9 | 333 | |
Nikollao | 16:a6ca6858af24 | 334 | bool normal=0; /*!< controls the lcd mode selection on menu */ |
Nikollao | 16:a6ca6858af24 | 335 | |
Nikollao | 16:a6ca6858af24 | 336 | bool sound = 0; /*!< determines if sound is on or off */ |
Nikollao | 7:f31a4b4beb91 | 337 | |
Nikollao | 18:5405ee7e243b | 338 | #endif |