ELEC2645 (2018/19) / Mbed 2 deprecated el17arm

Dependencies:   mbed

Levelengine/Levelengine.h

Committer:
el17arm
Date:
2019-04-03
Revision:
23:1ee8686af747
Parent:
22:a259bcbb1233
Child:
24:9c7aca60e374

File content as of revision 23:1ee8686af747:

#ifndef Levelengine_H
#define Levelengine_H

#include "mbed.h"
#include "N5110.h"
#include "Gamepad.h"

const int solid_block[9] =   {
        1,1,1,
        1,0,1,
        1,1,1,

    };
    
const int key[12] =   {
        1,1,0,0,
        1,0,1,1,
        1,1,0,1,

    };

const int key_collected[12] =   {
        0,0,0,0,
        0,0,0,0,
        0,0,0,0,

    };
    
const int spike[9] =   {
        
        1,1,1,
        0,1,0,
        1,1,1,
 

    };
    
const int door[30] = {
        
        1,1,1,1,1,
        1,0,1,0,1,
        1,1,0,1,1,
        1,0,1,0,1,
        1,1,0,1,1,
        1,0,1,0,1,
};

struct Key {
    bool key1;
    bool key2;
    bool key3;
    bool key4;
    bool key5;
};
    

class Levelengine
{
public:

    Levelengine();
    ~Levelengine();
    
    void soft_blocks(int x, int y, N5110 &lcd);
    void draw_solid_block(int x, int y, N5110 &lcd);
    
    void draw_key1(Key k, int x, int y, N5110 &lcd, Gamepad &pad);
    void draw_key2(int x, int y, N5110 &lcd, Gamepad &pad);
    void draw_key3(int x, int y, N5110 &lcd, Gamepad &pad);
    void draw_key4(int x, int y, N5110 &lcd, Gamepad &pad);
    void draw_key5(int x, int y, N5110 &lcd, Gamepad &pad);
    bool key_collect(Key _k, int x, int y, N5110 &lcd, Gamepad &pad);
    int keys_collected();
    
    int spike1(int x, int y, N5110 &lcd);
    int spike2(int x, int y, N5110 &lcd);
    int spike3(int x, int y, N5110 &lcd);
    int spike4(int x, int y, N5110 &lcd);
    
    bool exit(int x, int y, N5110 &lcd);
    Key _k;

private:

    int _collision;
    bool key_collect1; //ensures loop is only executed once and key does not reappear
    bool key_collect2; 
    bool key_collect3; 
    bool key_collect4; 
    bool key_collect5;
    int _keys;
       
    
};

#endif