#include <iostream>
#include <time.h>

#include "parts.h"

using namespace std;

int get_colour_code_from_string(string colour)
{
    if (colour == "black")
    { return 30; }

    else if (colour == "red")
    { return 31; }

    else if (colour == "green")
    { return 32; }

    else if (colour == "yellow")
    { return 33; }

    else if (colour == "blue")
    { return 34; }

    else if (colour == "magenta")
    { return 35; }

    else if (colour == "cyan")
    { return 36; }

    else if (colour == "white")
    { return 37; }

    else if (colour == "random")
    { 
        return 30 + rand() % 8;
    }

    else
    { return 0; }
    
}

void head(string colour)
{
    int colour_code = get_colour_code_from_string(colour);

    cout << "\033[" << colour_code << "m" 
        << "         .-." << endl
        << "       ,'   '." << endl
        << "      /       \\" << endl
        << "     /         \\" << endl
        << "    /_,.-----.,_\\" << endl
        << "   ('_.-.---.-._')" << "\033[0m" << endl
        << "    ()(o)   (o)()" << endl
        << "    \\(_.-(_)-._)/" << endl;
}

void body(string colour)
{
    int colour_code = get_colour_code_from_string(colour);
    
    cout << "\033[" << colour_code << "m"
        << "   _/    '-'    \\_" << endl
        << "  / \\_         _/ \\" << endl
        << " /  / '-.___.-' \\  \\" << endl
        << "|__/'._  ___  _.'\\__|" << "\033[0m" << endl
        << "(__)\\__'|[-]|'__/(__)" << endl;
}

void legs(string colour)
{
    int colour_code = get_colour_code_from_string(colour);

    cout << "\033[" << colour_code << "m"
        << "    |           |" << endl
        << "    |_____|_____|" << "\033[0m" << endl
        << "    (____) (____)" << endl;
}