#pragma once

#include <string>


/**
 * Every gamemode supported by the game
 */
enum Gamemode {
    SPRINT,
    MARATHON,
    ULTRA,
    MASTER,
    INVISIBLE,
    ZEN
};


/**
 * @return A string containing the name of the gamemode
 */
inline std::string getGamemodeName(Gamemode gamemode) {
    static const std::string GAMEMODE_NAMES[] = {
        "SPRINT",
        "MARATHON",
        "ULTRA",
        "MASTER",
        "INVISIBLE",
        "ZEN"
    };

    return GAMEMODE_NAMES[gamemode];
}

/**
 * @return A tiny string containing the goal of the gamemode
 */
inline std::string getGamemodeGoal(Gamemode gamemode) {
    static const std::string GAMEMODE_DESCRIPTIONS[] = {
        "40 lines",
        "200 lines",
        "2 minutes",
        "200 lines",
        "1000 grade",
        "Infinite"
    };

    return GAMEMODE_DESCRIPTIONS[gamemode];
}
