ELEC2645 (2018/19) / Mbed 2 deprecated el17ajf

Dependencies:   mbed

Fork of el17ajf by Angus Findlay

Tetromino/Tetromino.h

Committer:
el17ajf
Date:
2019-03-15
Revision:
8:5066ce13a430
Parent:
7:2e37bad816cb
Child:
15:afeefa3ceb61

File content as of revision 8:5066ce13a430:

#include "Block.h"

class Tetromino {
public:
    enum Type {
        I, O, T, J, L, S, Z
    };
    static Tetromino getTetrominoOfType(Tetromino::Type type);
    Tetromino movedLeft();
    Tetromino movedRight();
    Tetromino movedDown();
    Tetromino rotatedClockwise();
    Tetromino rotatedAnticlockwise();
    void draw();
    static Type getRandomTetrominoType();
    Tetromino(); // TODO is this needed
    ~Tetromino();
    Block blocks[4];
    
private:
    Tetromino translated(int dx, int dy);
    static Tetromino getTetrominoFromString(const char * str);
    Tetromino(Block a, Block b, Block c, Block d);
};