Josh Davy / Mbed 2 deprecated Flip

Dependencies:   mbed el17jd

Level/Level.h

Committer:
joshdavy
Date:
2019-04-24
Revision:
9:96969b1c6bde
Parent:
8:21b6d4dbce44
Child:
11:db27d3838514

File content as of revision 9:96969b1c6bde:

#ifndef LEVEL_H
#define LEVEL_H

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


struct Block {
    Vector2D first; 
    Vector2D second;
};

struct MovingBlock {
    int index;
    int distance;
    
    int initial_pos;  
    bool extending;
    

};

const int goalMap[11][6] = {
    {0,1,0,0,0,0},
    {0,1,0,0,0,0},
    {0,1,1,0,0,0},
    {0,1,1,1,1,0},
    {0,1,1,1,1,1},
    {0,1,1,1,1,0},
    {0,1,1,0,0,0},
    {0,1,0,0,0,0},
    {0,1,0,0,0,0},
    {0,1,0,0,0,0},
    {1,1,1,1,0,0}
};

/*Level Class*/


class Level {

public:
    Level();
    ~Level();
    void init(Block blocks [],
              int number_of_blocks,
              Vector2D goal);
    void update_moving_blocks();
    void render(N5110 &lcd);
    void declare_moving_block(int index,bool extending,int distance);
    Block * get_blocks();
    int get_number_of_blocks();
    Vector2D get_goal();


    
private:  
    Block _blocks [20] ;
    int _number_of_blocks;
    int _number_of_moving_blocks;
    Vector2D _goal;
    MovingBlock _moving_blocks [10];
};

#endif