ELEC2645 (2018/19) / Mbed 2 deprecated el17arm

Dependencies:   mbed

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?

UserRevisionLine numberNew 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