#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);
}
