luis21 0 Denunciar post Postado Dezembro 21, 2012 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
GBecker 51 Denunciar post Postado Dezembro 22, 2012 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