Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Miner/Miner.h@32:5dc769ba4a58, 2019-04-10 (annotated)
- 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?
| User | Revision | Line number | New 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 |