Olá, estou precisando muito de ajuda em C, estou fazendo um jogo de dados e estou enroscado numa parte, criei uma função que retornasse um número aleatório, acontece que ele me dá um número aleatório mas repete o número quando vou pedir e não sei porque, vou postar pra vocês dois pedaços do meu código para entenderem melhor.
int main(void) {
int acao, jogador, computador;
printf("Deseja jogar? 1-Sim 2-Não: ");
scanf("%d", &acao);//pegando resposta do jogador
if(acao == 1) {}//abre o jogo
else {exit(0);}//fecha o jogo
int dado = random();
lancamento_inicial(dado);
printf("O numero sorteado foi: %d\nRodada n: %d\nO ponto do jogador é: %d\n", dado, rodada, dado);
jogador = random();
computador = random();
printf("Numero sorteado jogador: %d\nNumero sorteado computador: %d\n", jogador, computador);
lancamento_rodadas(jogador, computador, dado);
Bom, o problema está com esse random, quando eu chamo ele para me dar um número aleatório para o dado, ele funciona normal, o problema é quando vou pedir um numero aleatório para a variável jogador e computador, ele simplesmente está repetindo os valores que deu para variável dado. Aqui está a parte do código que está dando problema.
int random() {
int lanca_dado;
srand(time(NULL));
lanca_dado = rand() % 12+1;
return lanca_dado;
}