Não estou conseguindo fazer a função de escolha de niveis funcionar corretamente. Não importa qual eu escolha ela só me da 5 tentativas !
#include <stdlib.h>
#include <stdio.h>
#include <locale.h>
#include <time.h>
/*#define numero_de_tentativas 3
foi alterado para loop de repetição infinito
com contagem de erros do usuario a partir do momento em que o usuario acertar
sera reproduzido quantas vezes ele errou para poder acertar !*/
int main(){
setlocale(LC_ALL, "");
int chute;
printf("***********\n");
printf("Bem Vindo!\n");
printf("***********\n");
printf("Vamos jogar ? \n");
// um laço de repetiçao simples "for"(int i = 1; i <= numero_de_tentativas; i++){
int segundos = time(0);
srand(segundos);
int acertou = 0;
int nivel;
int numerodetentativas;
printf("Qual nivel de dificuldade você prefere jogar?\n");
printf("[1] Facil, [2] Mediano, [3] Dificil.\n\n");
printf("Escolha:");
scanf("%d",&nivel);
switch(nivel){
case 1:
numerodetentativas = 20;
case 2:
numerodetentativas = 15;
default :
numerodetentativas = 5;
}
int numerogrande = rand();
int numerosecreto = numerogrande % 100 ;
int ganhou = 0;
int tentativas = 1;
double pontos = 1000;
for(int i = 1; i <= numerodetentativas; i++){
printf("Tentativa %d \n\n", tentativas);
printf("Tente adivinhar o numero que eu estou pensando! \n\n");
scanf("%d", &chute);
if(chute < 0){
printf("Voce deve Digitar apenas numeros Positivos!\n\n");
continue;
}
printf("Seu chute foi %d \n",chute);
int acertou = (chute == numerosecreto);
int maior = chute > numerosecreto;
if (acertou ){
break;
}
else if (maior) {
printf("Seu chute foi maior do que o numero Secreto!\n");
}
else{
printf("Seu chute foi menor que o numero Secreto!\n\n");
}
tentativas++;
// a função abs me da o absoluto da somatoria (EXEMPLO: - com - = +;)
double pontosperdidos = abs(chute - numerosecreto) /2.0; // soma de pontos do usuario
pontos = pontos - pontosperdidos;
}
if (acertou){
printf("FIM DE JOGO \n");
printf("Parabéns você é um bom jogador ! Jogue de Novo.");
printf("Voce acertou em %d Tentativas\n\n", tentativas -1);
printf("Total de Pontos %.1f\n\n", pontos);
}
else{ printf("FIM DE JOGO \n");
printf("Vc perdeu !");
printf("Tente de Novo! ");
}
return 0;
}