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
Sprites/Sprites.h@33:023f57d52b1c, 2019-04-10 (annotated)
- Committer:
- el17arm
- Date:
- Wed Apr 10 17:56:13 2019 +0000
- Revision:
- 33:023f57d52b1c
- Child:
- 34:c5a042973e0c
Miner class changed name to Sprites as more appropriate
Who changed what in which revision?
User | Revision | Line number | New 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 | 33:023f57d52b1c | 55 | 1,1,1, |
el17arm | 33:023f57d52b1c | 56 | 0,1,0, |
el17arm | 33:023f57d52b1c | 57 | 1,1,1, |
el17arm | 33:023f57d52b1c | 58 | }; |
el17arm | 33:023f57d52b1c | 59 | |
el17arm | 33:023f57d52b1c | 60 | const int solid_block[9] = { |
el17arm | 33:023f57d52b1c | 61 | |
el17arm | 33:023f57d52b1c | 62 | 1,1,1, |
el17arm | 33:023f57d52b1c | 63 | 1,0,1, |
el17arm | 33:023f57d52b1c | 64 | 1,1,1, |
el17arm | 33:023f57d52b1c | 65 | }; |
el17arm | 33:023f57d52b1c | 66 | |
el17arm | 33:023f57d52b1c | 67 | const int door[30] = { |
el17arm | 33:023f57d52b1c | 68 | |
el17arm | 33:023f57d52b1c | 69 | 1,1,1,1,1, |
el17arm | 33:023f57d52b1c | 70 | 1,0,1,0,1, |
el17arm | 33:023f57d52b1c | 71 | 1,1,0,1,1, |
el17arm | 33:023f57d52b1c | 72 | 1,0,1,0,1, |
el17arm | 33:023f57d52b1c | 73 | 1,1,0,1,1, |
el17arm | 33:023f57d52b1c | 74 | 1,0,1,0,1, |
el17arm | 33:023f57d52b1c | 75 | }; |
el17arm | 33:023f57d52b1c | 76 | |
el17arm | 33:023f57d52b1c | 77 | struct enemies { |
el17arm | 33:023f57d52b1c | 78 | bool eflag[5]; |
el17arm | 33:023f57d52b1c | 79 | double ex[5]; |
el17arm | 33:023f57d52b1c | 80 | double ey[5]; |
el17arm | 33:023f57d52b1c | 81 | int counter[5]; |
el17arm | 33:023f57d52b1c | 82 | int distance[5]; |
el17arm | 33:023f57d52b1c | 83 | }; |
el17arm | 33:023f57d52b1c | 84 | |
el17arm | 33:023f57d52b1c | 85 | struct Key{ |
el17arm | 33:023f57d52b1c | 86 | bool key[5]; |
el17arm | 33:023f57d52b1c | 87 | }; |
el17arm | 33:023f57d52b1c | 88 | |
el17arm | 33:023f57d52b1c | 89 | class Sprites |
el17arm | 33:023f57d52b1c | 90 | { |
el17arm | 33:023f57d52b1c | 91 | |
el17arm | 33:023f57d52b1c | 92 | public: |
el17arm | 33:023f57d52b1c | 93 | |
el17arm | 33:023f57d52b1c | 94 | Sprites(); |
el17arm | 33:023f57d52b1c | 95 | ~Sprites(); |
el17arm | 33:023f57d52b1c | 96 | |
el17arm | 33:023f57d52b1c | 97 | void miner_init(int x, int y); |
el17arm | 33:023f57d52b1c | 98 | void miner_move(Direction d, N5110 &lcd); |
el17arm | 33:023f57d52b1c | 99 | void miner_draw(N5110 &lcd); |
el17arm | 33:023f57d52b1c | 100 | void miner_gravity(N5110 &lcd); |
el17arm | 33:023f57d52b1c | 101 | void miner_jump(N5110 &lcd, Gamepad &pad); |
el17arm | 33:023f57d52b1c | 102 | void miner_land(N5110 &lcd); |
el17arm | 33:023f57d52b1c | 103 | |
el17arm | 33:023f57d52b1c | 104 | void enemy_init(int i, int x, int y, int d); |
el17arm | 33:023f57d52b1c | 105 | void enemy_move(int i, double v, N5110 &lcd); |
el17arm | 33:023f57d52b1c | 106 | bool enemy_collision(int i); |
el17arm | 33:023f57d52b1c | 107 | |
el17arm | 33:023f57d52b1c | 108 | void key_collect(int k, int x, int y, N5110 &lcd, Gamepad &pad); |
el17arm | 33:023f57d52b1c | 109 | int keys_collected(); |
el17arm | 33:023f57d52b1c | 110 | |
el17arm | 33:023f57d52b1c | 111 | bool exit_level(int x, int y, N5110 &lcd); |
el17arm | 33:023f57d52b1c | 112 | |
el17arm | 33:023f57d52b1c | 113 | bool trap(int x, int y, N5110 &lcd); |
el17arm | 33:023f57d52b1c | 114 | void draw_solid_block(int x, int y, N5110 &lcd); |
el17arm | 33:023f57d52b1c | 115 | void soft_blocks(int x, int y, N5110 &lcd); |
el17arm | 33:023f57d52b1c | 116 | |
el17arm | 33:023f57d52b1c | 117 | Vector2D get_pos(); |
el17arm | 33:023f57d52b1c | 118 | |
el17arm | 33:023f57d52b1c | 119 | private: |
el17arm | 33:023f57d52b1c | 120 | |
el17arm | 33:023f57d52b1c | 121 | int _direction; |
el17arm | 33:023f57d52b1c | 122 | int _gravity; |
el17arm | 33:023f57d52b1c | 123 | bool _jump; |
el17arm | 33:023f57d52b1c | 124 | int _y; |
el17arm | 33:023f57d52b1c | 125 | int _x; |
el17arm | 33:023f57d52b1c | 126 | bool _j_flag; |
el17arm | 33:023f57d52b1c | 127 | int _j_counter; |
el17arm | 33:023f57d52b1c | 128 | |
el17arm | 33:023f57d52b1c | 129 | Key _k; |
el17arm | 33:023f57d52b1c | 130 | int _keys; |
el17arm | 33:023f57d52b1c | 131 | |
el17arm | 33:023f57d52b1c | 132 | enemies _enem; |
el17arm | 33:023f57d52b1c | 133 | |
el17arm | 33:023f57d52b1c | 134 | }; |
el17arm | 33:023f57d52b1c | 135 | #endif |