ELEC2645 (2018/19) / Mbed 2 deprecated el17arm

Dependencies:   mbed

Committer:
el17arm
Date:
Wed Apr 10 17:19:51 2019 +0000
Revision:
32:5dc769ba4a58
Parent:
30:6d6b48fe3679
All sprites and functions now contained in one class

Who changed what in which revision?

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