38 lines
535 B
C++
38 lines
535 B
C++
#pragma once
|
|
|
|
#include <string>
|
|
|
|
|
|
/**
|
|
* Every possible block type
|
|
*/
|
|
enum Block {
|
|
NOTHING,
|
|
OUT_OF_BOUNDS,
|
|
GARBAGE,
|
|
PURPLE,
|
|
ORANGE,
|
|
CYAN,
|
|
PINK,
|
|
YELLOW,
|
|
RED,
|
|
BLUE,
|
|
GREEN
|
|
};
|
|
|
|
|
|
/**
|
|
* Gets the first block type a piece can be
|
|
* @return The block type
|
|
*/
|
|
inline Block firstPieceBlockType() {
|
|
return Block(PURPLE);
|
|
}
|
|
|
|
/**
|
|
* Sets the block to the next available piece block type
|
|
*/
|
|
inline void nextPieceBlockType(Block& block) {
|
|
block = (block == GREEN) ? PURPLE : Block(block + 1);
|
|
}
|