Esempio n. 1
0
void Game::play()
{
    m_tank.display(m_screen);
    displayStatus();  //  score, rows left, level
    displayPrompt("Press the Enter key to begin playing Imitris!");
    waitForEnter();  // [in UserInterface.h]

    for(;;)
    {
        if ( ! playOneLevel())
            break;
        displayPrompt("Good job!  Press the Enter key to start next level!");
        waitForEnter();
    }
    displayPrompt("Game Over!  Press the Enter key to exit!");
    waitForEnter();
}
Esempio n. 2
0
///Controla o modo story
void storyMode()
{

    FILE *arq;
    int lifes;
    int score;
    int level;

    LEVEL_SCENE temple = {GREY,{176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,
                                176,176,176,176,176,176,176,178,178,178,178,178,178,176,176,176,176,176,176,176,
                                176,176,176,176,176,176,176,178,178,176,176,178,178,176,176,176,176,176,176,176,
                                176,176,176,176,176,176,176,178,178,176,176,178,178,176,176,176,176,176,176,176,
                                176,176,176,176,176,176,178,178,178,178,178,178,178,178,176,176,176,176,176,176,
                                176,176,176,176,176,178,178,178,178,178,178,178,178,178,178,176,176,176,176,176,
                                176,176,176,176,178,178,178,178,178,178,178,178,178,178,178,178,176,176,176,176,
                                176,176,176,178,178,178,178,178,178,178,178,178,178,178,178,178,178,176,176,176,
                                176,176,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,176,176,
                                176,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,176
                               }
                         };

    LEVEL_SCENE desert = {YELLOW,{176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,
                                  176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,
                                  176,176,176,176,176,176,176,176,176,176,176,178,178,176,176,176,176,176,176,176,
                                  176,176,176,176,176,176,176,176,176,176,178,178,178,178,176,176,176,176,176,176,
                                  176,176,176,176,176,176,176,176,176,178,178,178,178,178,178,176,176,176,176,176,
                                  176,176,178,178,178,176,176,176,178,178,178,178,178,178,178,178,176,176,176,176,
                                  176,178,178,178,178,178,176,177,177,178,178,178,178,178,178,178,178,176,176,176,
                                  178,178,178,178,178,178,178,178,177,177,177,178,178,178,178,178,178,178,176,176,
                                  178,178,178,178,178,178,178,178,178,177,177,177,178,178,178,178,178,178,178,176,
                                  178,178,178,178,178,178,178,178,178,178,178,177,178,178,178,178,178,178,178,178
                                 }
                         };

    LEVEL_SCENE forest = {GREEN,{176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,177,
                                 176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,177,
                                 176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,177,177,
                                 176,176,176,176,176,176,176,176,178,178,176,176,176,176,176,176,178,177,177,177,
                                 176,176,178,177,177,176,176,178,178,178,178,176,176,176,176,178,178,177,177,177,
                                 176,176,178,177,177,177,176,178,178,178,178,176,176,176,176,178,178,178,177,177,
                                 178,178,178,177,177,177,176,178,178,178,178,176,176,176,178,178,178,178,178,178,
                                 178,178,177,177,177,177,176,178,178,178,178,178,176,178,178,178,178,177,178,178,
                                 177,178,177,177,177,177,177,177,178,178,177,177,177,177,177,177,177,177,177,178,
                                 177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177
                                }
                         };

    LEVEL_SCENE sea = {LIGHT_BLUE, {176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,
                                    176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,
                                    176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,
                                    176,176,176,176,178,178,178,176,176,176,176,176,178,178,178,178,176,176,176,176,
                                    176,176,176,178,178,176,178,176,176,176,176,178,178,178,176,178,176,176,176,176,
                                    176,176,178,178,178,176,176,176,176,176,178,178,178,178,176,176,176,176,176,178,
                                    176,178,178,178,178,176,176,176,176,178,178,178,178,178,176,176,176,176,178,178,
                                    178,178,178,178,178,178,176,176,178,178,178,178,178,178,178,176,176,178,178,178,
                                    178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,
                                    178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178
                                   }
                      };

    system("mode con:cols=140 lines=40");

    level = 1;
    score = 0;
    lifes = 5;

    do
    {
        switch(level)
        {
        case 1:
            printLOBBYdeCONVERSA(GREY);
            print_lvlART(temple, 35, 0);
            printHistoryLines(1);
            playOneLevel(1, 5, 400, temple, &lifes, &score);
            break;

        case 2:
            playOneLevel(2, 10, 300, temple,  &lifes, &score);
            break;

        case 3:
            printLOBBYdeCONVERSA(GREY);
            gotoMapXY(25, 4);
            textcolor(13);
            printf("%c", 190);
            printHistoryLines(2);
            playOneLevel(3, 20, 250, temple, &lifes, &score);
            break;

        case 4:
            print_lvlART(temple, 35, 0);
            printLOBBYdeCONVERSA(GREY);
            gotoMapXY(25, 4);
            textcolor(PINK);
            printf("%c", 190); //printa personagem da história
            printHistoryLines(3);
            fadeOUT(10, 30, GREY, 1);
            printLOBBYdeCONVERSA(YELLOW);
            printHistoryLines(4);
            playOneLevel(4, 25, 200, desert, &lifes, &score);
            break;

        case 5:
            playOneLevel(5, 30, 200, desert, &lifes, &score);
            break;

        case 6:
            playOneLevel(6, 30, 150, desert, &lifes, &score);
            break;

        case 7:
            printHistoryLines(5);
            printLOBBYdeCONVERSA(GREEN);
            printHistoryLines(6);
            playOneLevel(7, 35, 150, forest, &lifes, &score);
            break;

        case 8:
            playOneLevel(8, 40, 150, forest, &lifes, &score);
            break;

        case 9:
            playOneLevel(9, 40, 100, forest, &lifes, &score);
            break;

        case 10:
            printHistoryLines(7);
            printLOBBYdeCONVERSA(LIGHT_BLUE);
            printHistoryLines(8);
            playOneLevel(10, 50, 100, sea, &lifes, &score);
            break;
        case 11:
            playOneLevel(11, 50, 100, sea, &lifes, &score);
            break;

        case 12:
            playOneLevel(12, 55, 90, sea, &lifes, &score);
            printHistoryLines(9);
            break;

        case 13:
            printHistoryLines(10);
            playOneLevel(13, 60, 80, temple, &lifes, &score);
            break;

        }

        if(lifes > 0)
        {
            level++; //passa de fase
            lifes++; //ganha uma vida
        }
        else if(lifes == 0)
        {
            printGameOver();
        }

    }
    while(lifes>0 && level <= 13);

    if(lifes > 0)
    {
        puts("\nYOU JUST WON THIS GAME, WOW!(You problably lost an expressive time of your life, or no)");
        puts("Now, check out these cheat codes:");
        puts("katiau\nbanban\nfofao");
        getch(); //pausa
        system("cls");
    }

    arq = fopen("highscore.bin", "rb+"); //Abre arquivo de highscore, informando caso de erro
    if(arq == NULL)
        printf("error");

    uptadeHighScore(score, arq); //Insere score no rank

}