eai galera, meu primeiro post.
Assim, eu comecei a estudar C inicio desse ano e parei durante a greve, consegui aprender umas coisas e outras, o suficiente pra me virar, porém, empaquei nesse problema que encontrei no começo do meu joguinho.
bem o problema é assim: a minha variavel "escolha" recebe o valor que eu quero na primeira etapa mais logo depois eu chamo ela de novo tentando atribuir um novo valor pra ela mas é como se o compilador ignorasse o meu segundo scanf (linha 38) ai eu pensei que podia ser porque ela já tinha um valor atribuido e por isso não dava pra alterar...
eu ja bati cabeça varias vezes e deixei parado por um tempão esse meu projetinho mas agora to afim de voltar a mexer nele e preciso passar esse problema, alguem pode me ajudar nessa missão? dicas pro jogo, sugestões para o codigo, ensinamentos de algum mago da programação, sou um tanto novo nessa area então eu posso ter passado batido em alguma besteira e não saber, enfim.
#include <stdio.h>#include <stdlib.h>#include <string.h>//----------cabeçalho de funções----------------- //-------funções de menu------------ void status(float vida,float mana,float exp); //-------funções de batalha------------ int experiencia_nivel (float exp, float exp_ganha, float nivel); //-----------------FUNÇÃO PRINCIPAL---------------int main(int argc, char *argv[]) { char loop; //variavel do loop. char escolha; // usada pra escolha de opções no menu. float status [4];/*status [0] = vida do personagem. status [1] = mana do personagem. status [2] = exp do personagem. status [3] = level do personagem.*/ do { system ("cls"); printf(" BATALHA DE RPG\n\n\n\n"); printf(" '1' - Novo Jogo\n"); printf(" '2' - Sair\n "); scanf("%c", &escolha); if (escolha = 1) { printf ("%c", escolha); printf ("\n\n qual sua classe?\n\n\n"); printf (" '1' - Assassino\n"); printf (" '2' - Mago\n"); printf (" '3' - guerreiro\n "); scanf ("%c", &escolha); system ("pause"); switch(escolha) { case '1': //classe assassino status [0]= 150; status [1]= 150; status [2]= 0; status [3]= 1; break; case '2': //classe mago status [0]= 100; status [1]= 200; status [2]= 0; status [3]= 1; break; case '3': //classe guerreiro status [0]= 200; status [1]= 100; status [2]= 0; status [3]= 1; break; } } else if (escolha = 2) { printf ("\n\n\n\n\n\n ate mais!\n"); loop = 2; } else { } } while(loop != 2); return 0;}//---------------------------------------------FUNÇÕES-------------------------------------// exibir status do personagem:void status (float vida, float mana, float exp) { printf ("--------------------------------------------------------------------------------"); printf ("-----l Life l--------l Mana l------------l Exp l-------------"); printf ("-----l %.0f l--------l %.0f l------------l %.2f l-------------", vida, mana, exp); printf ("--------------------------------------------------------------------------------\n\n");} // calcular o ganho de experiencia e possivel passagem de nivel:int experiencia_nivel (float exp, float exp_ganha, float nivel) { exp += exp_ganha; if (exp >= 100){ nivel++; exp -= 100; }}