Example #1
0
void Drawer::DrawMine(Block ***obj, Miner obj2, int startDrawX, int startDrawY, int Vision, int Colunas, int Linhas)
{

    int rMinimum = (obj2.getY() - Vision > 0) ? obj2.getY() - Vision : 0;
    int rMaximum = (obj2.getY() + Vision < Linhas) ? obj2.getY() + Vision : obj2.getY() + (Linhas - obj2.getY());

    int cMinimum = (obj2.getX() - Vision > 0) ? obj2.getX() - Vision : 0;
    int cMaximum = (obj2.getX() + Vision < Colunas) ? obj2.getX() + Vision : obj2.getX() + (Colunas - obj2.getX());

    for (int r = 0, mineR = startDrawY; r < 7; r++, mineR++)
        {
            for (int c = 0, mineC = startDrawX; c < 7; c++, mineC++)
                {
                    if (obj2.getX() == mineC && obj2.getY() == mineR)
                        {
                            if (typeid(*obj[mineR][mineC]).name() == typeid(Escada).name())
                                {
                                    Draw(obj2, c * 5, r * 5, SHOW, 1);
                                }
                            else if (typeid(*obj[mineR][mineC]).name() == typeid(Viga).name())
                                {
                                    Draw(obj2, c * 5, r * 5, SHOW, 2);
                                }
                            else
                                Draw(obj2, c * 5, r * 5, SHOW, 0);
                        }
                    else if (mineR >= rMinimum && mineR <= rMaximum && mineC >= cMinimum && mineC <= cMaximum)
                        {
                            DrawBlock(obj[mineR][mineC]->getDrawSequence(), c * 5, r * 5);
                        }
                }
        }
}
Example #2
0
void Drawer::DrawStats(Miner obj, int ACTION)
{
    switch (ACTION)
        {
        case SHOW:
            myConsole->setTextColor(myConsole->PRETO);
            myConsole->gotoxy(1, 35);
            std::cout << "X: " << obj.getX() << " Y: " << obj.getY();

            myConsole->gotoxy(1, 36);
            std::cout << "Lives: ";
            myConsole->setTextColor(myConsole->VERDE);
            for (int i = 0; i < obj.getExtraLiveCount(); i++)
                std::cout << (char)3;

            myConsole->setTextColor(myConsole->PRETO);
            myConsole->gotoxy(1, 37);
            std::cout << "Energy: ";
            myConsole->setTextColor(myConsole->VERDE);
            std::cout << obj.getEnergyLevel();
            myConsole->setTextColor(myConsole->PRETO);
            myConsole->gotoxy(1, 38);
            std::cout << "Coins: ";
            myConsole->setTextColor(myConsole->VERDE);
            std::cout << obj.getCoins();
            myConsole->gotoxy(1, 39);
            myConsole->setTextColor(myConsole->PRETO);
            std::cout << "Bag: ";
            myConsole->setTextColor(myConsole->VERDE);
            std::cout << obj.getCapacity() << "/" << obj.getMaxCapacity();
            myConsole->gotoxy(1, 40);
            myConsole->setTextColor(myConsole->PRETO);
            std::cout << "Ladders: ";
            myConsole->setTextColor(myConsole->VERDE);
            std::cout << obj.getLadderCount();
            myConsole->gotoxy(1, 41);
            myConsole->setTextColor(myConsole->PRETO);
            std::cout << "Beams: ";
            myConsole->setTextColor(myConsole->VERDE);
            std::cout << obj.getBeamCount();
            myConsole->setTextColor(myConsole->PRETO);
            myConsole->gotoxy(1, 42);
            myConsole->setTextColor(myConsole->PRETO);
            std::cout << "Dynamites: ";
            myConsole->setTextColor(myConsole->VERDE);
            std::cout << obj.getDynamiteCount();
            myConsole->setTextColor(myConsole->PRETO);
            myConsole->gotoxy(1, 43);
            std::cout << "Parachutes: ";
            myConsole->setTextColor(myConsole->VERDE);
            std::cout << obj.getParachuteCount();
            myConsole->setTextColor(myConsole->PRETO);
            break;
        case REMOVE:
            break;
        }
}