sexta-feira, 13 de abril de 2012

4º Ladrão de Cofre 1.0

Nussa, hoje mesmo ja fiz aquela implementação no joguinho Ladrão de Cofre...
Coloquei um menu onde você pode escolher entre ...Jogar, Dificuldade, Credito e Sair
agora a senha do cofre esta randomica e dependente do nivel de dificuldade. Bem, antes de postar o codigo vou explicar que estou programando no OS Fedora Linux usando o g++, este codigo não ira funcionar no windows, pra funcionar tera de fazer algumas modificações. Qualquer duvida só perguntar...

/**************************************
Programação C++
Autor: Adelson Inácio
Data: 13 de Abril de 2012
Versão: Ladrao de Cofre 1.0
Desc.: Tente advinhar a senha para abrir o cofre

***************************************/

#include
#include
using namespace std;

//VARIÁVEIS GLOBAIS Estas variáveis podem ser usadas por todas as funções do programa!

int opcao = 0; // Opções para o menu
int senha; //o numero para adivinhar
int chute = 0; //este é seu paupite para abrir o cofre.
int num_tentativa = 0; // armazena o numero de veses que vc tentou abrir o cofre.
int vida = 10;    //numero disponivel de tentativas
int dificuldade = 1; //grau de dificuldade
bool jogando = false; // true para jogando e false para menu

//Escopo das funções utilizadas.
void Menu(); //menu do jogo
void Jogo(); // dentro do jogo
void Dificuldade(); //Função para escolha do grau de dificuldade
void Credito(); //Função que mostra os creditos do autor
void Sair();
void Resultado(); //Mostra se vc ganhou ou perdeu
int Randomize(); // Autera a senha

int main()
{
    Menu();
}

void Menu()
{
    system("clear");
    cout << "\n\n\n\t\t\t1 - Iniciar Jogo" << endl;
    cout << "\t\t\t2 - Dificuldades" << endl;
    cout << "\t\t\t3 - Credito" << endl;
    cout << "\t\t\t4 - Sair do Jogo" << endl;

    cout << "\t\t\tDigite o numero da opção...";
    cin >> opcao;

    switch(opcao)
    {
        case 1:
            jogando = true;
            vida = 10;
            num_tentativa = 0;
            Jogo();
            break;
        case 2:
            Dificuldade();
            break;
        case 3:
            Credito();
            break;       
        case 4:
            system("exit"); //Sai do jogo
            system("clear");
            break;
        default:
            cout << "\nErro...Tecla errada" << endl;
            Menu(); //volta ao menu
            break;
    }
}

void Jogo()
{
    senha = Randomize(); // Declara uma senha randomica
    vida = 10;
   
    while (jogando)
    {
system("clear");

        cout << "\nCOFRE DE SEGURANÇA MAXIMA" << endl;
        cout << "\nSenha: ";
        cin >> chute;

        num_tentativa++; //incrementa o numero de tentativas
        vida--;

        Resultado();
    }
    system("clear");
    sleep(2);
    Menu();
}

int Randomize()
{
    int num;
    if (dificuldade == 1)
    {
        srand(time(NULL));
        num= rand() % 10;
    }else if (dificuldade == 2)
    {
        srand(time(NULL));
        num= rand() % 100;
    }else
    {
        srand(time(NULL));
        num= rand() % 1000;
    }   
    return num;
}

void Resultado() // funcao responsavel pelo resultado do jogo
{
    int i;

    if (chute == senha) //verifica se sua tentativa esta correta
    {
        cout << "\n\t\tSenha Correta!" << endl;
        cout << "\t\tCofre aberto!" << endl;
        cout << "\nParabens você acertou em " << num_tentativa << " tentativas." << endl;
        cout << "Finalizando missão...\n" << endl;
        cin.get();
        cin.get();
        jogando = false; // finaliza loop
    } else
    {
        cout << "\n\t\tSenha Incorreta!" << endl;
        cout << "\t\t Cofre Fechado!" << endl;

        if (vida > 0)
        {
            cout << "\t\tVoce tem mais " << vida << " tentativas " << endl;
            cout << "##################################################" << endl;
            sleep(2);      
        }else
        {
            for(i=0; i < 100; i++)
            {
                cout << "\a";
            }     
            cout << "Você perdeu!!!";
            cin.get();
            cin.get();
            Menu();

        }

    }
}

void Dificuldade() // funcao para a escolha do nivel de dificuldade
{
    system("clear"); //limpa a tela
    cout << "\t\t\tGRAU DE DIFICULDADE\n" << endl;
    cout << "\n\t\t\t1 - Facil: de 0 a 9" << endl;
    cout << "\t\t\t2 - Moderado: de 10 a 99" << endl;
    cout << "\t\t\t3 - Dificil: de 100 a 999" << endl;

    cout << "\n\t\t\tEscolha o grau de Dificuldade...";
    cin >> dificuldade;

    switch(dificuldade) // Condição para que a escolha seja de 1 a 3
    {
        case 1:
        case 2:
        case 3:
            Menu();
            break;
        default:
            Dificuldade();
            break;   
    }

}

void Credito() // função responsavel por mostrar os credito do autor
{
    system("clear");
    cout << "\n\t\t\t\tCRÉDITO" << endl;
    cout << "\n\t\t\tAutor: Adelson Inácio" << endl;
    cout << "\t\t\tEmail: acinacio@gmail.com" << endl;
    cout << "\t\t\tSkype: adelson.inacio" << endl;
    cout << "\t\t\tData de Criação: 13 de Abril de 2012" << endl;

    cout << "\n\t\t\tTecle ENTER para voltar ao menu...";

    cin.get();// aguada o precionament
    cin.get();
    Menu();

}

Nenhum comentário:

Postar um comentário