ELEC2645 (2018/19) / Mbed 2 deprecated ll16o2l_ELEC2645

Dependencies:   mbed Gamepad

Committer:
ll16o2l
Date:
Thu Apr 25 17:46:13 2019 +0000
Revision:
6:98ddf5eade49
Parent:
3:aa82968b7a8e
Child:
7:67c00839f188
Member declaration

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ll16o2l 2:888634fff8ff 1 #ifndef DODGENGINE_H
ll16o2l 2:888634fff8ff 2 #define DODGEENGINE_H
ll16o2l 2:888634fff8ff 3
ll16o2l 2:888634fff8ff 4 #include "mbed.h"
ll16o2l 2:888634fff8ff 5 #include "N5110.h"
ll16o2l 2:888634fff8ff 6 #include "Gamepad.h"
ll16o2l 2:888634fff8ff 7 #include "Objects.h"
ll16o2l 2:888634fff8ff 8 #include "Player.h"
ll16o2l 3:aa82968b7a8e 9 #include "Health_Kit.h"
ll16o2l 2:888634fff8ff 10
ll16o2l 3:aa82968b7a8e 11 /**
ll16o2l 3:aa82968b7a8e 12 * @file DodgeEngine.h
ll16o2l 3:aa82968b7a8e 13 * @author Oliver Luong, University of Leeds
ll16o2l 3:aa82968b7a8e 14 * @brief Controls the functionality of the Dodge game
ll16o2l 3:aa82968b7a8e 15 * @date 22/04/2019
ll16o2l 3:aa82968b7a8e 16 */
ll16o2l 2:888634fff8ff 17
ll16o2l 2:888634fff8ff 18 class DodgeEngine
ll16o2l 2:888634fff8ff 19 {
ll16o2l 2:888634fff8ff 20
ll16o2l 2:888634fff8ff 21 public:
ll16o2l 2:888634fff8ff 22 DodgeEngine();
ll16o2l 2:888634fff8ff 23 ~DodgeEngine();
ll16o2l 6:98ddf5eade49 24
ll16o2l 6:98ddf5eade49 25 /// This method will be used to set the global variables to local variable
ll16o2l 6:98ddf5eade49 26 /// @param player_width, player_height, objects_size, speed, lives, kit_size
ll16o2l 3:aa82968b7a8e 27 void init(int player_width,int player_height,int objetcs_size,int speed,int lives, int kit_size);
ll16o2l 6:98ddf5eade49 28 /// This method will be used to execute methods from Gamepad and store the returned variables
ll16o2l 2:888634fff8ff 29 void read_input(Gamepad &pad);
ll16o2l 6:98ddf5eade49 30
ll16o2l 2:888634fff8ff 31 void update(Gamepad &pad);
ll16o2l 2:888634fff8ff 32 void draw(N5110 &lcd);
ll16o2l 3:aa82968b7a8e 33 void time(float time);
ll16o2l 2:888634fff8ff 34 int get_lose();
ll16o2l 2:888634fff8ff 35
ll16o2l 2:888634fff8ff 36 private:
ll16o2l 2:888634fff8ff 37
ll16o2l 3:aa82968b7a8e 38 void check_wall_collision1(Gamepad &pad);
ll16o2l 3:aa82968b7a8e 39 void check_wall_collision2(Gamepad &pad);
ll16o2l 3:aa82968b7a8e 40 void check_wall_collision3(Gamepad &pad);
ll16o2l 3:aa82968b7a8e 41 void check_wall_collision4(Gamepad &pad);
ll16o2l 3:aa82968b7a8e 42 void check_player_collisions1(Gamepad &pad);
ll16o2l 3:aa82968b7a8e 43 void check_player_collisions2(Gamepad &pad);
ll16o2l 3:aa82968b7a8e 44 void check_player_collisions3(Gamepad &pad);
ll16o2l 3:aa82968b7a8e 45 void check_player_collisions4(Gamepad &pad);
ll16o2l 3:aa82968b7a8e 46 void check_player_health_kit_collison(Gamepad &pad);
ll16o2l 3:aa82968b7a8e 47 void life_up(Gamepad &pad);
ll16o2l 3:aa82968b7a8e 48 void life_leds(Gamepad &pad);
ll16o2l 2:888634fff8ff 49
ll16o2l 3:aa82968b7a8e 50 void player_hit(Gamepad &pad);
ll16o2l 3:aa82968b7a8e 51 void print_lives_time(N5110 &lcd);
ll16o2l 3:aa82968b7a8e 52
ll16o2l 2:888634fff8ff 53 Player _player;
ll16o2l 2:888634fff8ff 54
ll16o2l 2:888634fff8ff 55 int _player_width;
ll16o2l 2:888634fff8ff 56 int _player_height;
ll16o2l 2:888634fff8ff 57 int _objects_size;
ll16o2l 2:888634fff8ff 58 int _speed;
ll16o2l 2:888634fff8ff 59 int lose;
ll16o2l 3:aa82968b7a8e 60 int _lives;
ll16o2l 3:aa82968b7a8e 61
ll16o2l 3:aa82968b7a8e 62 int l; //counter for loop
ll16o2l 3:aa82968b7a8e 63 int n; //counter for loop
ll16o2l 3:aa82968b7a8e 64 int m; //counter for loop
ll16o2l 2:888634fff8ff 65
ll16o2l 3:aa82968b7a8e 66 float _time;
ll16o2l 3:aa82968b7a8e 67
ll16o2l 3:aa82968b7a8e 68 Objects _objects1;
ll16o2l 3:aa82968b7a8e 69 Objects _objects2;
ll16o2l 3:aa82968b7a8e 70 Objects _objects3;
ll16o2l 3:aa82968b7a8e 71 Objects _objects4;
ll16o2l 2:888634fff8ff 72
ll16o2l 2:888634fff8ff 73 Direction _d;
ll16o2l 2:888634fff8ff 74 float _mag;
ll16o2l 3:aa82968b7a8e 75
ll16o2l 3:aa82968b7a8e 76 Health_Kit _health_kit;
ll16o2l 3:aa82968b7a8e 77 int _kit_size;
ll16o2l 3:aa82968b7a8e 78 bool collect;
ll16o2l 3:aa82968b7a8e 79 bool used;
ll16o2l 2:888634fff8ff 80 };
ll16o2l 2:888634fff8ff 81
ll16o2l 2:888634fff8ff 82 #endif