ELEC2645 (2018/19) / Mbed 2 deprecated el17arm

Dependencies:   mbed

Committer:
el17arm
Date:
Fri Apr 12 18:10:11 2019 +0000
Revision:
37:4d525a37d5d2
Parent:
36:203ec93b4cc7
Child:
38:55bb9da08a52
started using structs in Level1 class to build level, far more efficient and presenetable

Who changed what in which revision?

UserRevisionLine numberNew contents of line
el17arm 33:023f57d52b1c 1 #ifndef SPRITES_H
el17arm 33:023f57d52b1c 2 #define SPRITES_H
el17arm 33:023f57d52b1c 3
el17arm 33:023f57d52b1c 4 #include "mbed.h"
el17arm 33:023f57d52b1c 5 #include "N5110.h"
el17arm 33:023f57d52b1c 6 #include "Gamepad.h"
el17arm 33:023f57d52b1c 7
el17arm 33:023f57d52b1c 8 const int miner_right[24] = {
el17arm 33:023f57d52b1c 9 1,1,1,
el17arm 33:023f57d52b1c 10 1,1,0,
el17arm 33:023f57d52b1c 11 1,1,1,
el17arm 33:023f57d52b1c 12 0,1,0,
el17arm 33:023f57d52b1c 13 1,1,1,
el17arm 33:023f57d52b1c 14 1,1,1,
el17arm 33:023f57d52b1c 15 0,1,0,
el17arm 33:023f57d52b1c 16 0,1,1,
el17arm 33:023f57d52b1c 17
el17arm 33:023f57d52b1c 18 };
el17arm 33:023f57d52b1c 19
el17arm 33:023f57d52b1c 20 const int miner_left[24] = {
el17arm 33:023f57d52b1c 21 1,1,1,
el17arm 33:023f57d52b1c 22 0,1,1,
el17arm 33:023f57d52b1c 23 1,1,1,
el17arm 33:023f57d52b1c 24 0,1,0,
el17arm 33:023f57d52b1c 25 1,1,1,
el17arm 33:023f57d52b1c 26 1,1,1,
el17arm 33:023f57d52b1c 27 0,1,0,
el17arm 33:023f57d52b1c 28 1,1,0,
el17arm 33:023f57d52b1c 29 };
el17arm 33:023f57d52b1c 30
el17arm 33:023f57d52b1c 31 const int enemy[15] = {
el17arm 33:023f57d52b1c 32
el17arm 33:023f57d52b1c 33 1,1,1,
el17arm 33:023f57d52b1c 34 1,0,1,
el17arm 33:023f57d52b1c 35 1,1,1,
el17arm 33:023f57d52b1c 36 0,1,0,
el17arm 33:023f57d52b1c 37 1,1,1,
el17arm 33:023f57d52b1c 38 };
el17arm 33:023f57d52b1c 39
el17arm 33:023f57d52b1c 40 const int key[12] = {
el17arm 33:023f57d52b1c 41 1,1,0,0,
el17arm 33:023f57d52b1c 42 1,0,1,1,
el17arm 33:023f57d52b1c 43 1,1,0,1,
el17arm 33:023f57d52b1c 44 };
el17arm 33:023f57d52b1c 45
el17arm 33:023f57d52b1c 46 const int key_collected[12] = {
el17arm 33:023f57d52b1c 47
el17arm 33:023f57d52b1c 48 0,0,0,0,
el17arm 33:023f57d52b1c 49 0,0,0,0,
el17arm 33:023f57d52b1c 50 0,0,0,0,
el17arm 33:023f57d52b1c 51 };
el17arm 33:023f57d52b1c 52
el17arm 33:023f57d52b1c 53 const int spike[9] = {
el17arm 33:023f57d52b1c 54
el17arm 34:c5a042973e0c 55 1,0,1,
el17arm 33:023f57d52b1c 56 0,1,0,
el17arm 34:c5a042973e0c 57 1,0,1,
el17arm 33:023f57d52b1c 58 };
el17arm 33:023f57d52b1c 59
el17arm 34:c5a042973e0c 60 const int solid_block[18] = {
el17arm 33:023f57d52b1c 61
el17arm 34:c5a042973e0c 62 1,1,1,1,1,1,
el17arm 34:c5a042973e0c 63 1,0,1,1,0,1,
el17arm 34:c5a042973e0c 64 1,1,1,1,1,1,
el17arm 34:c5a042973e0c 65
el17arm 33:023f57d52b1c 66 };
el17arm 33:023f57d52b1c 67
el17arm 33:023f57d52b1c 68 const int door[30] = {
el17arm 33:023f57d52b1c 69
el17arm 33:023f57d52b1c 70 1,1,1,1,1,
el17arm 33:023f57d52b1c 71 1,0,1,0,1,
el17arm 33:023f57d52b1c 72 1,1,0,1,1,
el17arm 33:023f57d52b1c 73 1,0,1,0,1,
el17arm 33:023f57d52b1c 74 1,1,0,1,1,
el17arm 33:023f57d52b1c 75 1,0,1,0,1,
el17arm 33:023f57d52b1c 76 };
el17arm 33:023f57d52b1c 77
el17arm 33:023f57d52b1c 78 struct enemies {
el17arm 33:023f57d52b1c 79 bool eflag[5];
el17arm 33:023f57d52b1c 80 double ex[5];
el17arm 33:023f57d52b1c 81 double ey[5];
el17arm 33:023f57d52b1c 82 int counter[5];
el17arm 33:023f57d52b1c 83 int distance[5];
el17arm 34:c5a042973e0c 84
el17arm 34:c5a042973e0c 85
el17arm 33:023f57d52b1c 86 };
el17arm 33:023f57d52b1c 87
el17arm 33:023f57d52b1c 88 class Sprites
el17arm 33:023f57d52b1c 89 {
el17arm 33:023f57d52b1c 90
el17arm 33:023f57d52b1c 91 public:
el17arm 33:023f57d52b1c 92
el17arm 33:023f57d52b1c 93 Sprites();
el17arm 33:023f57d52b1c 94 ~Sprites();
el17arm 33:023f57d52b1c 95
el17arm 33:023f57d52b1c 96 void miner_init(int x, int y);
el17arm 33:023f57d52b1c 97 void miner_move(Direction d, N5110 &lcd);
el17arm 33:023f57d52b1c 98 void miner_draw(N5110 &lcd);
el17arm 33:023f57d52b1c 99 void miner_gravity(N5110 &lcd);
el17arm 37:4d525a37d5d2 100 int miner_jump(N5110 &lcd, Gamepad &pad);
el17arm 33:023f57d52b1c 101 void miner_land(N5110 &lcd);
el17arm 33:023f57d52b1c 102
el17arm 33:023f57d52b1c 103 void enemy_init(int i, int x, int y, int d);
el17arm 33:023f57d52b1c 104 void enemy_move(int i, double v, N5110 &lcd);
el17arm 33:023f57d52b1c 105 bool enemy_collision(int i);
el17arm 33:023f57d52b1c 106
el17arm 33:023f57d52b1c 107 void key_collect(int k, int x, int y, N5110 &lcd, Gamepad &pad);
el17arm 33:023f57d52b1c 108 int keys_collected();
el17arm 33:023f57d52b1c 109
el17arm 33:023f57d52b1c 110 bool exit_level(int x, int y, N5110 &lcd);
el17arm 33:023f57d52b1c 111
el17arm 37:4d525a37d5d2 112 bool trap(int x, int y, N5110 &lcd);
el17arm 36:203ec93b4cc7 113 void blocks(Direction d, int b, int x, int y, N5110 &lcd);
el17arm 33:023f57d52b1c 114 void soft_blocks(int x, int y, N5110 &lcd);
el17arm 33:023f57d52b1c 115
el17arm 33:023f57d52b1c 116 Vector2D get_pos();
el17arm 33:023f57d52b1c 117
el17arm 33:023f57d52b1c 118 private:
el17arm 33:023f57d52b1c 119
el17arm 33:023f57d52b1c 120 int _direction;
el17arm 33:023f57d52b1c 121 int _gravity;
el17arm 33:023f57d52b1c 122 bool _jump;
el17arm 33:023f57d52b1c 123 int _y;
el17arm 33:023f57d52b1c 124 int _x;
el17arm 33:023f57d52b1c 125 bool _j_flag;
el17arm 33:023f57d52b1c 126 int _j_counter;
el17arm 33:023f57d52b1c 127
el17arm 34:c5a042973e0c 128 bool block[5];
el17arm 36:203ec93b4cc7 129 bool right_collision;
el17arm 36:203ec93b4cc7 130 bool left_collision;
el17arm 36:203ec93b4cc7 131
el17arm 36:203ec93b4cc7 132 bool _collision;
el17arm 36:203ec93b4cc7 133 int _keys;
el17arm 36:203ec93b4cc7 134
el17arm 34:c5a042973e0c 135 double bx[5];
el17arm 34:c5a042973e0c 136 double by[5];
el17arm 33:023f57d52b1c 137 enemies _enem;
el17arm 37:4d525a37d5d2 138 bool _key[5];
el17arm 37:4d525a37d5d2 139 double kx[5];
el17arm 37:4d525a37d5d2 140 double ky[5];
el17arm 37:4d525a37d5d2 141
el17arm 36:203ec93b4cc7 142
el17arm 33:023f57d52b1c 143 };
el17arm 33:023f57d52b1c 144 #endif