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
Levelengine/Levelengine.h@24:9c7aca60e374, 2019-04-08 (annotated)
- Committer:
- el17arm
- Date:
- Mon Apr 08 18:17:10 2019 +0000
- Revision:
- 24:9c7aca60e374
- Parent:
- 23:1ee8686af747
- Child:
- 25:7fb1b6fa9137
- Child:
- 26:bce40bf4c9fc
the previous 5 seperate key functions now reduced to one. I achieved this using a struct. Now, rather than 5 functions for five keys, one function can call the a key variable from the struct.; ; This makes it simple to change the number of keys needed.
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| el17arm | 2:725c213b2396 | 1 | #ifndef Levelengine_H |
| el17arm | 2:725c213b2396 | 2 | #define Levelengine_H |
| el17arm | 2:725c213b2396 | 3 | |
| el17arm | 2:725c213b2396 | 4 | #include "mbed.h" |
| el17arm | 2:725c213b2396 | 5 | #include "N5110.h" |
| el17arm | 2:725c213b2396 | 6 | #include "Gamepad.h" |
| el17arm | 2:725c213b2396 | 7 | |
| el17arm | 14:dc3524d11921 | 8 | const int solid_block[9] = { |
| el17arm | 14:dc3524d11921 | 9 | 1,1,1, |
| el17arm | 14:dc3524d11921 | 10 | 1,0,1, |
| el17arm | 14:dc3524d11921 | 11 | 1,1,1, |
| el17arm | 14:dc3524d11921 | 12 | |
| el17arm | 14:dc3524d11921 | 13 | }; |
| el17arm | 16:8384e9a480ef | 14 | |
| el17arm | 16:8384e9a480ef | 15 | const int key[12] = { |
| el17arm | 16:8384e9a480ef | 16 | 1,1,0,0, |
| el17arm | 16:8384e9a480ef | 17 | 1,0,1,1, |
| el17arm | 16:8384e9a480ef | 18 | 1,1,0,1, |
| el17arm | 16:8384e9a480ef | 19 | |
| el17arm | 16:8384e9a480ef | 20 | }; |
| el17arm | 16:8384e9a480ef | 21 | |
| el17arm | 17:b4079bd0e551 | 22 | const int key_collected[12] = { |
| el17arm | 17:b4079bd0e551 | 23 | 0,0,0,0, |
| el17arm | 17:b4079bd0e551 | 24 | 0,0,0,0, |
| el17arm | 17:b4079bd0e551 | 25 | 0,0,0,0, |
| el17arm | 17:b4079bd0e551 | 26 | |
| el17arm | 17:b4079bd0e551 | 27 | }; |
| el17arm | 18:ff0a53dcb862 | 28 | |
| el17arm | 18:ff0a53dcb862 | 29 | const int spike[9] = { |
| el17arm | 18:ff0a53dcb862 | 30 | |
| el17arm | 18:ff0a53dcb862 | 31 | 1,1,1, |
| el17arm | 18:ff0a53dcb862 | 32 | 0,1,0, |
| el17arm | 18:ff0a53dcb862 | 33 | 1,1,1, |
| el17arm | 18:ff0a53dcb862 | 34 | |
| el17arm | 18:ff0a53dcb862 | 35 | |
| el17arm | 18:ff0a53dcb862 | 36 | }; |
| el17arm | 20:78bd235f8caa | 37 | |
| el17arm | 20:78bd235f8caa | 38 | const int door[30] = { |
| el17arm | 20:78bd235f8caa | 39 | |
| el17arm | 20:78bd235f8caa | 40 | 1,1,1,1,1, |
| el17arm | 20:78bd235f8caa | 41 | 1,0,1,0,1, |
| el17arm | 20:78bd235f8caa | 42 | 1,1,0,1,1, |
| el17arm | 20:78bd235f8caa | 43 | 1,0,1,0,1, |
| el17arm | 20:78bd235f8caa | 44 | 1,1,0,1,1, |
| el17arm | 20:78bd235f8caa | 45 | 1,0,1,0,1, |
| el17arm | 20:78bd235f8caa | 46 | }; |
| el17arm | 17:b4079bd0e551 | 47 | |
| el17arm | 24:9c7aca60e374 | 48 | typedef struct { |
| el17arm | 24:9c7aca60e374 | 49 | bool key[5]; |
| el17arm | 24:9c7aca60e374 | 50 | } Key; |
| el17arm | 23:1ee8686af747 | 51 | |
| el17arm | 14:dc3524d11921 | 52 | |
| el17arm | 2:725c213b2396 | 53 | class Levelengine |
| el17arm | 2:725c213b2396 | 54 | { |
| el17arm | 2:725c213b2396 | 55 | public: |
| el17arm | 2:725c213b2396 | 56 | |
| el17arm | 2:725c213b2396 | 57 | Levelengine(); |
| el17arm | 2:725c213b2396 | 58 | ~Levelengine(); |
| el17arm | 18:ff0a53dcb862 | 59 | |
| el17arm | 16:8384e9a480ef | 60 | void soft_blocks(int x, int y, N5110 &lcd); |
| el17arm | 16:8384e9a480ef | 61 | void draw_solid_block(int x, int y, N5110 &lcd); |
| el17arm | 18:ff0a53dcb862 | 62 | |
| el17arm | 24:9c7aca60e374 | 63 | void key_collect(int k, int x, int y, N5110 &lcd, Gamepad &pad); |
| el17arm | 17:b4079bd0e551 | 64 | int keys_collected(); |
| el17arm | 12:adf4ec04ced2 | 65 | |
| el17arm | 18:ff0a53dcb862 | 66 | int spike1(int x, int y, N5110 &lcd); |
| el17arm | 18:ff0a53dcb862 | 67 | int spike2(int x, int y, N5110 &lcd); |
| el17arm | 18:ff0a53dcb862 | 68 | int spike3(int x, int y, N5110 &lcd); |
| el17arm | 18:ff0a53dcb862 | 69 | int spike4(int x, int y, N5110 &lcd); |
| el17arm | 18:ff0a53dcb862 | 70 | |
| el17arm | 20:78bd235f8caa | 71 | bool exit(int x, int y, N5110 &lcd); |
| el17arm | 23:1ee8686af747 | 72 | Key _k; |
| el17arm | 2:725c213b2396 | 73 | |
| el17arm | 2:725c213b2396 | 74 | private: |
| el17arm | 16:8384e9a480ef | 75 | |
| el17arm | 15:2bda80896a84 | 76 | int _collision; |
| el17arm | 17:b4079bd0e551 | 77 | bool key_collect1; //ensures loop is only executed once and key does not reappear |
| el17arm | 17:b4079bd0e551 | 78 | bool key_collect2; |
| el17arm | 17:b4079bd0e551 | 79 | bool key_collect3; |
| el17arm | 17:b4079bd0e551 | 80 | bool key_collect4; |
| el17arm | 17:b4079bd0e551 | 81 | bool key_collect5; |
| el17arm | 17:b4079bd0e551 | 82 | int _keys; |
| el17arm | 23:1ee8686af747 | 83 | |
| el17arm | 18:ff0a53dcb862 | 84 | |
| el17arm | 2:725c213b2396 | 85 | }; |
| el17arm | 2:725c213b2396 | 86 | |
| el17arm | 2:725c213b2396 | 87 | #endif |