ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_el18jkeo

Dependencies:   mbed

Committer:
josh_ohara
Date:
Tue May 12 15:33:50 2020 +0000
Revision:
21:970807533b10
Parent:
20:0b6f1cfc5be6
Child:
22:3e978b1d7958
Alien ship and alien cover collisions programmed;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
josh_ohara 6:5bea67cc96f9 1 #ifndef SPACEINVADERENGINE_H
josh_ohara 6:5bea67cc96f9 2 #define SPACEINVADERENGINE_H
josh_ohara 6:5bea67cc96f9 3
josh_ohara 6:5bea67cc96f9 4 #include "mbed.h"
josh_ohara 6:5bea67cc96f9 5 #include "N5110.h"
josh_ohara 6:5bea67cc96f9 6 #include "Gamepad.h"
josh_ohara 6:5bea67cc96f9 7 #include "Ship.h"
josh_ohara 12:be491ab6e742 8 #include "Armada.h"
josh_ohara 15:dde4ce4bf7fe 9 #include "Cover.h"
josh_ohara 11:c174d84e4866 10 #include <vector>
josh_ohara 6:5bea67cc96f9 11
josh_ohara 6:5bea67cc96f9 12 #define BORDER 2
josh_ohara 6:5bea67cc96f9 13
josh_ohara 6:5bea67cc96f9 14 class SpaceInvaderEngine
josh_ohara 6:5bea67cc96f9 15 {
josh_ohara 6:5bea67cc96f9 16
josh_ohara 6:5bea67cc96f9 17 public:
josh_ohara 6:5bea67cc96f9 18 SpaceInvaderEngine();
josh_ohara 8:86cb9a9f8a73 19 ~SpaceInvaderEngine();
josh_ohara 15:dde4ce4bf7fe 20 void init(int ship_height, int ship_width, int alien_size, int no_aliens, int armada_column_size, int armada_row_size, int cover_y, int cover1_x, int cover2_x, int cover3_x, int no_rocks);
josh_ohara 6:5bea67cc96f9 21 void read_input(Gamepad &pad);
josh_ohara 16:987f72d9bb8f 22 void update(Gamepad &pad, N5110 &lcd, int counter);
josh_ohara 8:86cb9a9f8a73 23 void render(N5110 &lcd);
josh_ohara 11:c174d84e4866 24 void shoot_bullet();
josh_ohara 14:e88bcf5c0887 25 void get_ship_pos();
josh_ohara 14:e88bcf5c0887 26 void ship_bullet_alien_collision(Gamepad &pad, N5110 &lcd);
josh_ohara 15:dde4ce4bf7fe 27 void ship_bullet_cover1_collision(Gamepad &pad, N5110 &lcd);
josh_ohara 15:dde4ce4bf7fe 28 void ship_bullet_cover2_collision(Gamepad &pad, N5110 &lcd);
josh_ohara 15:dde4ce4bf7fe 29 void ship_bullet_cover3_collision(Gamepad &pad, N5110 &lcd);
josh_ohara 20:0b6f1cfc5be6 30 void alien_bullet_ship_collision(Gamepad &pad, N5110 &lcd);
josh_ohara 20:0b6f1cfc5be6 31 void alien_bullet_cover3_collision(Gamepad &pad, N5110 &lcd);
josh_ohara 20:0b6f1cfc5be6 32 void alien_bullet_cover1_collision(Gamepad &pad, N5110 &lcd);
josh_ohara 20:0b6f1cfc5be6 33 void alien_bullet_cover2_collision(Gamepad &pad, N5110 &lcd);
josh_ohara 21:970807533b10 34 void alien_ship_collision(Gamepad &pad, N5110 &lcd);
josh_ohara 21:970807533b10 35 void alien_cover1_collision(Gamepad &pad, N5110 &lcd);
josh_ohara 21:970807533b10 36 void alien_cover2_collision(Gamepad &pad, N5110 &lcd);
josh_ohara 21:970807533b10 37 void alien_cover3_collision(Gamepad &pad, N5110 &lcd);
josh_ohara 14:e88bcf5c0887 38
josh_ohara 6:5bea67cc96f9 39 private:
josh_ohara 6:5bea67cc96f9 40
josh_ohara 12:be491ab6e742 41 Armada A1;
josh_ohara 6:5bea67cc96f9 42 Ship S1;
josh_ohara 11:c174d84e4866 43 BulletS BS1;
josh_ohara 15:dde4ce4bf7fe 44 Cover C1;
josh_ohara 15:dde4ce4bf7fe 45 Cover C2;
josh_ohara 15:dde4ce4bf7fe 46 Cover C3;
josh_ohara 6:5bea67cc96f9 47
josh_ohara 6:5bea67cc96f9 48 int S1_height;
josh_ohara 6:5bea67cc96f9 49 int S1_width;
josh_ohara 9:8e695df3cc36 50 int A1_size;
josh_ohara 12:be491ab6e742 51 int N;
josh_ohara 12:be491ab6e742 52 int CS;
josh_ohara 12:be491ab6e742 53 int RS;
josh_ohara 6:5bea67cc96f9 54
josh_ohara 9:8e695df3cc36 55 int A1y;
josh_ohara 14:e88bcf5c0887 56 int S1x;
josh_ohara 14:e88bcf5c0887 57 int S1y;
josh_ohara 15:dde4ce4bf7fe 58 int Cy;
josh_ohara 15:dde4ce4bf7fe 59 int C1x;
josh_ohara 15:dde4ce4bf7fe 60 int C2x;
josh_ohara 15:dde4ce4bf7fe 61 int C3x;
josh_ohara 15:dde4ce4bf7fe 62 int NR;
josh_ohara 6:5bea67cc96f9 63
josh_ohara 12:be491ab6e742 64
josh_ohara 6:5bea67cc96f9 65 Direction D;
josh_ohara 6:5bea67cc96f9 66 float Mag;
josh_ohara 6:5bea67cc96f9 67
josh_ohara 6:5bea67cc96f9 68 };
josh_ohara 6:5bea67cc96f9 69
josh_ohara 6:5bea67cc96f9 70 #endif