#pragma once #include /** * 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); }