Musallam Bseiso / Engine
Committer:
musallambseiso
Date:
Tue Apr 25 10:13:53 2017 +0000
Revision:
10:b2dd5f484f98
Parent:
9:0efc8d7cdcf7
Child:
11:10c01766f774
Fixed game over feature

Who changed what in which revision?

UserRevisionLine numberNew contents of line
musallambseiso 4:e84724dcad49 1 #ifndef ENGINE_H
musallambseiso 4:e84724dcad49 2 #define ENGINE_H
musallambseiso 4:e84724dcad49 3
musallambseiso 4:e84724dcad49 4 #include "mbed.h"
musallambseiso 4:e84724dcad49 5 #include "N5110.h"
musallambseiso 4:e84724dcad49 6 #include "Gamepad.h"
musallambseiso 4:e84724dcad49 7 #include "Ship1.h"
musallambseiso 4:e84724dcad49 8 #include "Ship2.h"
musallambseiso 4:e84724dcad49 9 #include "Ship3.h"
musallambseiso 4:e84724dcad49 10 #include "Ship4.h"
musallambseiso 4:e84724dcad49 11 #include "Ship5.h"
musallambseiso 7:4c19433600c8 12 #include "Ship6.h"
musallambseiso 4:e84724dcad49 13 #include "Friendly.h"
musallambseiso 6:cae24a40ab34 14 #include "Bullet.h"
musallambseiso 7:4c19433600c8 15 #include "Stats.h"
musallambseiso 4:e84724dcad49 16
musallambseiso 4:e84724dcad49 17 // gap from edge of screen
musallambseiso 4:e84724dcad49 18 #define GAP 2
musallambseiso 4:e84724dcad49 19
musallambseiso 4:e84724dcad49 20 class Engine
musallambseiso 4:e84724dcad49 21 {
musallambseiso 4:e84724dcad49 22
musallambseiso 4:e84724dcad49 23 public:
musallambseiso 4:e84724dcad49 24 Engine();
musallambseiso 4:e84724dcad49 25 ~Engine();
musallambseiso 7:4c19433600c8 26
musallambseiso 8:1c0bc1a08153 27 int collisions;
musallambseiso 9:0efc8d7cdcf7 28 int wave_counter;
musallambseiso 4:e84724dcad49 29
musallambseiso 6:cae24a40ab34 30 void init(int friendly_width,int friendly_height,int ship_size,int speed,N5110 &lcd, Gamepad &pad);
musallambseiso 4:e84724dcad49 31 void read_input(Gamepad &pad);
musallambseiso 7:4c19433600c8 32 void checker(N5110 &lcd, Gamepad &pad);
musallambseiso 5:88886c1bd2c1 33 void update(N5110 &lcd, Gamepad &pad);
musallambseiso 7:4c19433600c8 34 void draw(N5110 &lcd);
musallambseiso 10:b2dd5f484f98 35 void shoot(N5110 &lcd, Gamepad &pad, int speed);
musallambseiso 4:e84724dcad49 36
musallambseiso 4:e84724dcad49 37 private:
musallambseiso 9:0efc8d7cdcf7 38
musallambseiso 9:0efc8d7cdcf7 39 void grid_draw(N5110 &lcd);
musallambseiso 9:0efc8d7cdcf7 40 void ships_draw(N5110 &lcd);
musallambseiso 4:e84724dcad49 41 void check_wall_collision(Gamepad &pad);
musallambseiso 4:e84724dcad49 42 void check_friendly_collisions(Gamepad &pad);
musallambseiso 4:e84724dcad49 43 void check_pass(Gamepad &pad);
musallambseiso 5:88886c1bd2c1 44 void check_death1(N5110 &lcd, Gamepad &pad);
musallambseiso 5:88886c1bd2c1 45 void check_death2(N5110 &lcd, Gamepad &pad);
musallambseiso 5:88886c1bd2c1 46 void check_death3(N5110 &lcd, Gamepad &pad);
musallambseiso 5:88886c1bd2c1 47 void check_death4(N5110 &lcd, Gamepad &pad);
musallambseiso 5:88886c1bd2c1 48 void check_death5(N5110 &lcd, Gamepad &pad);
musallambseiso 7:4c19433600c8 49 void check_death6(N5110 &lcd, Gamepad &pad);
musallambseiso 5:88886c1bd2c1 50 void check_death(N5110 &lcd, Gamepad &pad);
musallambseiso 8:1c0bc1a08153 51 void game_over(N5110 &lcd, Gamepad &pad);
musallambseiso 9:0efc8d7cdcf7 52 void wave_draw(N5110 &lcd);
musallambseiso 4:e84724dcad49 53
musallambseiso 4:e84724dcad49 54 Friendly _friendly;
musallambseiso 4:e84724dcad49 55
musallambseiso 4:e84724dcad49 56 int _friendly_width;
musallambseiso 4:e84724dcad49 57 int _friendly_height;
musallambseiso 4:e84724dcad49 58 int _ship_size;
musallambseiso 4:e84724dcad49 59 int _speed;
musallambseiso 4:e84724dcad49 60
musallambseiso 4:e84724dcad49 61 int _friendlyx;
musallambseiso 4:e84724dcad49 62
musallambseiso 8:1c0bc1a08153 63
musallambseiso 4:e84724dcad49 64 Ship1 _ship1;
musallambseiso 4:e84724dcad49 65 Ship2 _ship2;
musallambseiso 4:e84724dcad49 66 Ship3 _ship3;
musallambseiso 4:e84724dcad49 67 Ship4 _ship4;
musallambseiso 4:e84724dcad49 68 Ship5 _ship5;
musallambseiso 7:4c19433600c8 69 Ship6 _ship6;
musallambseiso 6:cae24a40ab34 70 Bullet _bullet;
musallambseiso 7:4c19433600c8 71 Stats _stats;
musallambseiso 4:e84724dcad49 72
musallambseiso 4:e84724dcad49 73 Direction _d;
musallambseiso 4:e84724dcad49 74 float _mag;
musallambseiso 4:e84724dcad49 75
musallambseiso 4:e84724dcad49 76 };
musallambseiso 4:e84724dcad49 77
musallambseiso 4:e84724dcad49 78 #endif