Ir ao conteúdo
  • Cadastre-se

C++ Comecei a Programar em C++


Ir à solução Resolvido por Dhionathan Jobim,

Posts recomendados

Eaw galera, comecei fazer faculdade de ADS e to aprendendo a programar em C++ , porém eu to tentando fazer um joguinho de turno e tá dando um erro, e eu n sei o motivo, se alguém conseguir me ajudar seg o erro :

 

C:\Users\dhion\Desktop\Programando em C++\Game\main.cpp|59|error: lvalue required as left operand of assignment|

código abaixo :

#include <iostream>
#include <locale.h>
#include <stdlib.h>
using namespace std;



float spelln1 (int personagem1, float DAMAGE1, float MP1 ){
     int spell;
    float DAMAGET = 0;
    if (personagem1 == 1  ) { cout << "Selecione a Habilidade : \n 1- SWORD ATACK (0 MP) \n 2- RAGE (2 MP) \n 3- FURIE OF BLOOD ( 5MP)  :";
    cin >> spell;
    if (MP1 <= 0 && spell =! 1) {DAMAGET = 0;}

    else if  (MP1 < 5 &&  MP1 >= 2 && spell =! 1 && spell =! 2)  {DAMAGET = 0;}
    else if (spell == 1) { DAMAGET = DAMAGE1 * 1 ;}
    else if (spell == 2) {DAMAGET = DAMAGE1 * 1.3 ;}
    else if (spell == 3) {DAMAGET = DAMAGE1 * 3.0;}

    }
    else if (personagem1 == 2) {cout << "Selecione a Habilidade : \n 1- MAGIC ATACK  (0 MP) \n 2- FIRE BALL (2 MP) \n 3- TORMENT OF FIRE ( 5MP)  :";
    cin >> spell;
    if (MP1 <= 0 && spell =! 1) {DAMAGET = 0;}

    else if  (MP1 < 5 &&  MP1 >= 2 && spell =! 1 && spell =! 2)  {DAMAGET = 0;}
    else if (spell == 1) { DAMAGET = DAMAGE1 * 1 ;}
    else if (spell == 2) {DAMAGET = DAMAGE1 * 1.5 ;}
    else if (spell == 3) {DAMAGET = DAMAGE1 * 4.0;}
    }
    else if (personagem1 == 3) {cout << "Selecione a Habilidade : \n 1- ARROW ATACK  (0 MP) \n 2- BRUTAL SHOOT (2 MP) \n 3- RAIN OF ARROW ( 5MP)  :";
    cin >> spell;
    if (MP1 <= 0 && spell =! 1) {DAMAGET = 0;}

    else if  (MP1 < 5 &&  MP1 >= 2 && spell =! 1 && spell =! 2)  {DAMAGET = 0;}
    else if (spell == 1) { DAMAGET = DAMAGE1 * 1 ;}
    else if (spell == 2) {DAMAGET = DAMAGE1 * 1.4 ;}
    else if (spell == 3) {DAMAGET = DAMAGE1 * 3.2;}
    }

return DAMAGET;
}

float spelln2 (int personagem2, float DAMAGE2, float MP2 ){
     int spell;
    float DAMAGET = 0;
    if (personagem2 == 1  ) { cout << "Selecione a Habilidade : \n 1- SWORD ATACK (0 MP) \n 2- RAGE (2 MP) \n 3- FURIE OF BLOOD ( 5MP)  :";
    cin >> spell;
    if (MP2 <= 0 && spell =! 1) {DAMAGET = 0;}

    else if  (MP2 < 5 &&  MP2 >= 2 && spell =! 1 && spell =! 2)  {DAMAGET = 0;}
    else if (spell == 1) { DAMAGET = DAMAGE2 * 1 ;}
    else if (spell == 2) {DAMAGET = DAMAGE2 * 1.3 ;}
    else if (spell == 3) {DAMAGET = DAMAGE2 * 3.0;}

    }
    else if (personagem2 = 2) {cout << "Selecione a Habilidade : \n 1- MAGIC ATACK  (0 MP) \n 2- FIRE BALL (2 MP) \n 3- TORMENT OF FIRE ( 5MP)  :";
    cin >> spell;
    float DAMAGET = 0;
    if (MP2 <= 0 && spell =! 1) {DAMAGET = 0;}

    else if  (MP2 < 5 &&  MP2 >= 2 && spell =! 1 && spell =! 2)  {DAMAGET = 0;}
    else if (spell == 1) { DAMAGET = DAMAGE2 * 1 ;}
    else if (spell == 2) {DAMAGET = DAMAGE2 * 1.5 ;}
    else if (spell == 3) {DAMAGET = DAMAGE2 * 4.0;}
    }
    else if (personagem2 = 3) {cout << "Selecione a Habilidade : \n 1- ARROW ATACK  (0 MP) \n 2- BRUTAL SHOOT (2 MP) \n 3- RAIN OF ARROW ( 5MP)  :";
    cin >> spell;
    if (MP2 <= 0 && spell =! 1) {DAMAGET = 0;}

    else if  (MP2 < 5 &&  MP2 >= 2 && spell =! 1 && spell =! 2)  {DAMAGET = 0;}
    else if (spell == 1) { DAMAGET = DAMAGE2 * 1 ;}
    else if (spell ==2) {DAMAGET = DAMAGE2 * 1.4 ;}
    else if (spell == 3) {DAMAGET = DAMAGE2 * 3.2;}
    }

return DAMAGET;
}

int main()
{
    setlocale(LC_ALL , "Portuguese");

    float HP1 = 0;
    float MP1 = 0;
    float HP2 = 0;
    float MP2 = 0;
    float DAMAGE1 = 0;
    float DAMAGE2 = 0;
    float DAMAGET = 0;

    int personagem1, personagem2 ;
    cout << "WELCOME THE GAME" << endl;
    cout << " Escolha sua classe Play 1 : \n 1- Warrior HP: 5000 / Damage : Baixo (Damage: Físico - Energy : Stamina)  \n 2- Mage HP: 3000 / Damage : Alto  (Damage : Magic - Energy : Mana) \n 3- Archer HP : 3500 Damage : Médio  (Damage : Dexterity - Energy : Stamina ) :";
    cin >> personagem1 ;
    if (personagem1 == 1) {HP1 = 5000;
    DAMAGE1 = 250;
    }
    else if (personagem1 == 2 ) {HP1 = 3000;
    DAMAGE1 = 450;
    }
    else if (personagem1 == 3 ) {HP1 = 3500;
    DAMAGE1 = 300;
     }
    else { exit(0) ;
    }



    cout << " Escolha sua Classe Play 2 : \n Warrior (Damage: Físico - Energy : Stamina)  \n Mage (Damage : Magic - Energy : Mana) \n Archer (Damage : Dexterity - Energy : Stamina )";
    cin >> personagem2 ;
    if (personagem2 == 1) {HP2 = 5000;
    DAMAGE1 = 250;
    }
    else if (personagem2 == 2 ) {HP2 = 3000;
    DAMAGE1 = 450;
    }
    else if (personagem2 == 3 ) {HP2 = 3500;
    DAMAGE1 = 300;
     }
    else { exit(0) ;
    }




    while (HP1 == 0 || HP2 ==0){
            int turno = 1;
    cout << "START BATTLE : \n PLAY1 HP : " << HP1 <<" MANA/STAMINA : " <<MP1 << "\n" << "PLAY2 HP : " <<HP2 <<" MANA/STAMINA : " << MP2 << "\n";
    cout << "TURNO : " << turno << "\n";
    cout << "Player 1 Atack : " << "\n" ;
    DAMAGET = spelln1(personagem1, DAMAGE1, MP1);
    HP2 = HP2 - DAMAGET;
    cout << "O Jogador 1 Causou : " << DAMAGET << "De Dano ao Jogador 2";
    cout << "Player 2 Atack : " << "\n";
    DAMAGET = spelln2(personagem2, DAMAGE2, MP2);
    HP1 = HP2 -DAMAGET;
    cout << "O Jogador 2 Causou : " << DAMAGET << "De Dano ao Jogador 1";






    turno++;



    }
    if (HP1 > HP2) { cout << "Jogador 1 Venceu" << "\n";}
    else if (HP2 > HP1) {cout << "Jogador 2 Venceu" << "\n" ;}

    return 0;
}

 

 

Link para o comentário
Compartilhar em outros sites

@Dhionathan Jobim Como vai, eu até tentei pegar seu código e corrigi-lo, mas seu problema é simples, você deve usar ponteiros para alterar variáveis fora(main) dentro de funções.

 

por exemplo

void altera (int* a){
    *a = 10;
}

void main(){

   int a = 0;
   altera(&a);

}

 

assim a variável a terá seu valor alterado para 10.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...