Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

luis21

Problema em jogo

Recommended Posts

Boa noite a todos, eu sou iniciante aqui no fórum e estou com uma dúvida que me impede de continuar o meu código. O Problema é o seguinte, eu queria que na tela fossem pedidos 2 nomes, Jogador 1 e Jogador 2, e a ideia era que quando fossem pedidas as coordenadas para jogar por parte do jogador 1 e do jogador 2 aparecesse o seu respectivo nome. Este é um jogo de tabuleiro onde são pedidas coordenadas iniciais e finais a 2 jogadores. O erro que me está a acontecer é o jogador 2 ser chamado com o mesmo nome que o jogador 1 o que não corresponde aquilo que eu queria. Se alguem tiver uma ideia de onde está o erro do código que diga alguma coisa.Obrigado a todos.

 

int jogadores()
       {

       char nome[15],apelido[15];
       printf("\nIntroduza o nome do jogador 1: ");scanf(" %s", nome);   
       printf("Introduza o nome do jogador 2: ");scanf(" %s", apelido);

       }






int jogada_Humano(int jog){ 


       char nome[15];
       int xi, yi, xf, yf;    
       printf("\n(Em caso de desistencia ou para voltar ao menu insira as coordenadas 0 0)\n\n");   
       printf(" %s, insira as coordenadas iniciais X e Y : ",nome); 
       scanf("%d %d", ξ, &yi);    

	if ((xi && yi) == 0){
		return 1;//quando jogador sair/desistir
	}else{

		printf("   	insira as coordenadas finais X e Y : ");    
       	scanf(" %d %d", &xf, &yf); 


		executa_movimento(xi-1,yi-1,xf-1,yf-1,jog); 	
       	tabul[xi][yi]=tabul[xf][yf];    
		tabul[xi][yi]=0;


	} 

return 0;//quando o jogo correr normalmente 

}
int jogada_Humano2(int jog){

     char apelido[15];
     int xi, yi, xf, yf; 
     printf("\n(Em caso de desistencia ou para voltar ao menu insira as coordenadas 0 0)\n\n");   
     printf(" %s, insira as coordenadas iniciais X e Y : ",apelido); 
     scanf(" %d %d", ξ, &yi);    

	if ((xi && yi) == 0){
		return 1;//quando jogador sair/desistir
	}else{

		printf("   	insira as coordenadas finais X e Y : ");    
       	scanf(" %d %d", &xf, &yf); 


		executa_movimento(xi-1,yi-1,xf-1,yf-1,jog); 	
       	tabul[xi][yi]=tabul[xf][yf];    
		tabul[xi][yi]=0;
       }
       }

O jogo ainda não esta acabado mas aqui só esta parte do codigo ja obtido, parte onde se encontra o erro de programação...

Compartilhar este post


Link para o post
Compartilhar em outros sites

luis21,

 

As duas funções são iguais. O erro que você reportou deve estar na função main. Verifique no momento onde chama as funções (int jogada_Humano(int jog) e int jogada_Humano2(int jog)) se não está repetindo as chamadas do jogador 1. Pelo sintoma é isto que está acontecendo ou pode tentar depirar o código.

 

Espero ter ajudado, FLW!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.