ELEC2645 (2018/19) / Mbed 2 deprecated el17ajf

Dependencies:   mbed

Fork of el17ajf by Angus Findlay

Grid/Grid.h

Committer:
el17ajf
Date:
2019-04-13
Revision:
29:d59fbe128d1f
Parent:
19:370d83a8dc33
Child:
36:c854f1f51f43

File content as of revision 29:d59fbe128d1f:

#ifndef GRID_H
#define GRID_H

#include "Tetromino.h"

class Grid {
public:
    bool isSpaceForTetromino(Tetromino tetromino);
    int placeTetromino(Tetromino tetromino);
    void clear();
    void draw();
    Grid();
    const static int HIDDEN_HEIGHT = 4;
    const static int GRID_HEIGHT = 24;
    const static int GRID_WIDTH = 10;
    
private:
    int checkForLines();
    void moveDownIfNeeded();
    void shiftDownFrom(int row);
    bool grid[GRID_WIDTH][GRID_HEIGHT];
    bool isSpaceForBlock(Block block);
};
#endif