Ir para conteúdo
Fórum Script Brasil
  • 0

Jogo RPG(c++)


Elon Neto

Pergunta

estou tentando fazer um jogo de console RPG em c++, ate agora tou fazendo so  a parte de uma batalha, o problema e que quando eu entro para batalhar tudo funciona normal, ate que eu faço qualquer asao e ele morre mesmo sendo para não morrer, alguém pode me ajudar e se quizerem me falar algo pra adicionar também ficarei grato :)?OBS: o codigo e meio grande então olhe bem ele e suas variaveis 

Aqui o codigo: 

#include <iostream>
#include <cstdio>
#include <conio.h>
#include <stdlib.h>
using namespace std;
bool inicio = true, botataca = true, volt = false, morrer = false, morreria = false;
float vida, vidai, energy, energiai, semjog, dano;
float maximo, minimo;
int escolha, escatq, escitem, poe, poh, esccon;
int item(){
    system("cls");
    while (true){
        cout << "Pocao de energia: " << poe << "     Pocao de vida: " << poh << endl;
        cout << "1 - Pocao de energia (50 de energia)" << endl;
        cout << "2 - Pocao de vida (30 de vida)" << endl;
        cout << "3 - Voltar" << endl;
        escitem = getche();
        if (escitem == 49){
            if (poe > 0){
            energy += 50;
            poe--;
            break;
        }else{
            system("cls");
            cout << "Sem item!" << endl;
            continue;
        }
        }
        else if (escitem == 50){
            if (poh > 0){
            vida += 30;
            poh--;
            break;
        }else{
            system("cls");
            cout << "Sem item!" << endl;
            continue;
        }
        }
        else if (escitem == 51){
            volt = true;
            break;
        }
        else{
            continue;
            cout << "Escolha errada!" << endl; 
        }
    }
}
int defesa(){
    if (energiai <= 50){
        botataca = false;
    }
}
int reseta(){
    maximo = 100;
    minimo = 100;
    vida = 100;
    vidai = 100;
    energy = 100;
    energiai = 100;
    poe = 1;
    poh = 2;
    inicio = true;
}
int ataque(){
    system("cls");
    while (true){
    cout << "1 - Ataque normal (15 de energia) (15 de dano)" << endl;
    cout << "2 - Ataque forte (40 de energia) (30 de dano) (tira 10 de energia do inimigo)" << endl;
    cout << "3 - Ataque magico (60 de energia) (20 de dano) (o inimigo não ataca por 2 turnos)" << endl;
    cout << "4 - Voltar" << endl;
    escatq = getche();
    if (escatq == 49){
        vidai -= 15;
        energy -= 15;
        break;
    }
    else if (escatq == 50){
        vidai -= 30;
        energy -= 40;
        energiai -= 10;
        break;
    }
    else if (escatq == 51){
        vidai -= 20;
        energy -= 60;
        semjog += 2;
        break;
    }
    else if (escatq == 52){
        volt = true;
        break;
    }
    else{
        continue;
        system("cls");
        cout << "Escolha errada!" << endl;
    }
}
}
int imprime(){
    if (inicio == true){
        cout << "VAMOS BATALHAR!!!!" << endl;
        cout << endl;
        inicio = false;
    }
    cout << "Voce                                     Computador" << endl;
    cout << "Vida: " << vida << "                             Vida inimiga: " << vidai << endl;
    cout << "Energia: " << energy << "                       Energia inimiga: " << energiai << endl;
    cout << "1 - Ataque    2 - Defesa     3 - Item    4 - Passar" << endl; 
    escolha = getche();
}
int main(){
    maximo = 100;
    minimo = 100;
    vida = 100;
    vidai = 100;
    energy = 100;
    energiai = 100;
    bool morrer = false;
    bool morreria = false;
    while (true){
    if (esccon == 50){
        break;
    }
    system("cls");
    imprime();
    botataca = true;
    if (escolha == 49){
        ataque();
        if (volt == true){
            volt = false;
            continue;
        }
    }
    else if (escolha == 50){
        defesa();
    }
    else if (escolha == 51){
        item();
        if (volt == true){
            continue;
            volt = false;
        }
    }
    else if (escolha == 52){
    }
    else{
        system("cls");
        cout << "Escolha errada!" << endl;
        continue;
    }
    if (vida > maximo){
        vida = 100;
    }
    if (vida < minimo){
        vida = 0;
    }
    if (vidai > maximo){
        vidai = 100;
    }
    if (vidai < minimo){
        vidai = 0;
    }
    if (semjog > 0){
        semjog--;
        botataca = false;
    }
    if (energy < 0){
        energy = 0;
    }
    if (energiai < 0){
        energiai = 0;
    }
    if (botataca == true){
        if (vidai == 100){
            if (energiai >= 50){
            dano = 40;
            energiai -= 50;
        }else{
            continue;
        }
        }
        if (vidai <= 99 && vida > 60){
            if (energiai >= 40){
            dano = 35;
            energiai -= 40;
        }else{
            continue;
        }
        }
        if (vidai <= 60 && vida > 30){
            if (energiai >= 30){
                dano = 20;
                energiai -= 30;
            }else{
                continue;
            }
        }
        if (vidai <= 30){
            if (energiai >= 15){
                dano = 10;
                energiai -= 15;
            }else{
                continue;
            }
        }
        vida -= dano;
    }
    if (vida == 0){
        morrer = true;
    }
    if (vidai == 0){
        morreria = true;
    }
    while (true){
    if (morreria == true){
        cout << "Ai voce me derrotou ;-;" << endl;
        cout << "Continuar?(1 e ss) (2 e nn)" << endl;
        int esccon = getche();
        if (esccon == 49){
            reseta();
            break;
        }
        else if (esccon == 50){
            break;
        }
        else{
            system("cls");
            continue;
        }
    }
    if (morrer == true){
        cout << "MUAHAHAHAHAHAHAH" << endl;
        cout << "Continuar?(1 e ss) (2 e nn)" << endl;
        int esccon = getche();
        if (esccon == 49){
            reseta();
            break;
        }
        else if (esccon == 50){
            break;
        }
        else{
            system("cls");
            continue;
        }
    }
    energy += 5;
    energiai += 5;
}
}
}

Editado por Elon Neto
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...