Hello, I was solving a college question about a "game" where you should think of a number and the machine should try to hit your number. I was able to do this work by creating a "formula" for it to find the value that the user thinks, but I would like the program to be a little more random, with no need for formulas. So the question is: is there any possibility of changing the rand interval in the middle of the code? For each time it "kicks" a value, the range decreases and it increases your chances of hitting the number.
#include<stdio.h>
#include<locale.h>
#include<string.h>
#include<stdlib.h>
#include <time.h>
int main(void){
setlocale(LC_ALL,"");
int t, in=0, f=100, cont=1, c;
char a[10];
printf("------------------------------Bem vindo(a) ao jogo de adivinhar um número!!!-----------------------\n\n");
printf("Funciona assim: você deve pensar em um número de 1 a 100 e eu vou tentar adivinhar seu número.\n");
printf("Eu vou dizer meu palpite e você responde se ele é maior ou menor que o número que você está pensando.\n");
printf("Você deve me dizer se eu acertei o número ou se o número que eu disse é maior ou menor que o número que você pensou.\n");
printf("Para vencer, eu devo acertar exatamente o número que você pensou.\n");
printf("Vamos começar? Pense num número para eu adivinhar.\n");
printf("\n\nQuando tiver terminado de pensar, digite 1 para continuar com o jogo: ");
scanf("%i", &c);
if(c==1){
while(1){
srand( (unsigned)time(NULL) );
t = in+ (rand () % f);
if(cont==1){
t=f/2;
}else if(cont>1 && (f/2)>in){
t=f/2;
}printf("Seu número é %i, estou certo?\n", t);
printf("Se acertei, digite (acertou), se não, digite se seu número é (maior) ou (menor) que meu número: ");
fflush(stdin);
gets(a);
if(strcmp(a, "acertou")==0){
printf("\n\n\nSou muito bom, não? Já acertei seu número!!\n\n\n");
break;
}else if(strcmp(a, "maior")==0){
f = f + in;
in = t;
f = f-in;
in++;
printf("\n\nSeu número é maior do que o que eu disse? Ok, vou tentar novamente! \n\n\n");
}else if(strcmp(a, "menor")==0){
f = t - in;
if(f>1){
f--;
}printf("\n\nSeu número é menor do que o que eu disse? Ok, vou tentar novamente! \n\n\n");
}
cont++;
}
}else{
printf("\n\nDígito inválido! Da próxima vez digite 1 para continuar com o jogo!\n\n");
}
return 0;
}