infolivee 0 Denunciar post Postado Outubro 24, 2009 Ola pessoal , fiz esse jogo da velha em C, so que o jogo ta meio burrinho... Ele so mostra o resultado so depois que todos os campos sao marcados... me ajuda ae #include <stdio.h> #include <conio.h> int matriz[3][3],i,j; int main () { char jog1[30],jog2[30]; int vez=1,coluna,linha,jogadas=1,velha=0; printf ("Digite nome JOGADOR 1: "); scanf ("%s",&jog1); printf ("\n\nDigite nome JOGADOR 2: "); scanf ("%s",&jog2); printf("\n-----------------------"); for (i=0;i<3;i++) { for (j=0;j<3;j++) { matriz[i][j]= 9; } } printf("\n\n"); for (i=0;i<3;i++) { for(j=0;j<3;j++) { printf ("%d ",matriz[i][j]); } printf("\n"); } printf ("\nJogador 1: %s",jog1); printf ("\nJogador 2: %s",jog2); printf ("\n\n------------------------"); printf ("\n\nJogador 1 => 0 e Jogador 2 => 1"); while (jogadas<10) { if (vez==1) { printf ("\n\n------------------------"); printf ("\n\nJogador 1: %s",jog1); printf ("\n\nPosicao X (coluna): ",coluna); scanf ("%d",&coluna); printf ("\nPosicao Y (linha): ",linha); scanf ("%d",&linha); if (linha<=3&&coluna<=3) { if (matriz[linha-1][coluna-1] == 9) { matriz[linha-1][coluna-1] = 0; printf ("\n\n"); for (i=0;i<3;i++) { for(j=0;j<3;j++) { printf ("%d ",matriz[i][j]); } printf("\n"); } if ((matriz[0][0]==0)&&(matriz[1][0]==0)&&(matriz[2][0]==0)) { printf ("\n\n------------------------\n\n"); printf ("Jogador 1, vencedor!!!!"); printf ("\n\n------------------------"); velha=1; break; } if ((matriz[0][1]==0)&&(matriz[1][1]==0)&&(matriz[2][1]==0)) { printf ("\n\n------------------------\n\n"); printf ("Jogador 1, vencedor!!!!"); printf ("\n\n------------------------"); velha=1; break; } if ((matriz[0][2]==0)&&(matriz[1][2]==0)&&(matriz[2][2]==0)) { printf ("\n\n------------------------\n\n"); printf ("Jogador 1, vencedor!!!!"); printf ("\n\n------------------------"); velha=1; break; } if ((matriz[0][0]==0)&&(matriz[0][1]==0)&&(matriz[0][2]==0)) { printf ("\n\n------------------------\n\n"); printf ("Jogador 1, vencedor!!!!"); printf ("\n\n------------------------"); velha=1; break; } if ((matriz[1][0]==0)&&(matriz[1][1]==0)&&(matriz[1][2]==0)) { printf ("\n\n------------------------\n\n"); printf ("Jogador 1, vencedor!!!!"); printf ("\n\n------------------------"); velha=1; break; } if ((matriz[3][0]==0)&&(matriz[3][1]==0)&&(matriz[3][2]==0)) { printf ("\n\n------------------------\n\n"); printf ("Jogador 1, vencedor!!!!"); printf ("\n\n------------------------"); velha=1; break; } if ((matriz[0][0]==0)&&(matriz[1][1]==0)&&(matriz[2][2]==0)) { printf ("\n\n------------------------\n\n"); printf ("Jogador 1, vencedor!!!!"); printf ("\n\n------------------------"); velha=1; break; } if ((matriz[2][0]==0)&&(matriz[1][1]==0)&&(matriz[0][2]==0)) { printf ("\n\n------------------------\n\n"); printf ("Jogador 1, vencedor!!!!"); printf ("\n\n------------------------"); velha=1; break; } jogadas=jogadas+1; vez=vez+1; } else { printf ("\n\n------------------------\n\n"); printf ("!!!! Posicao Ocupada !!!!\n\n !!! Jogue Novamente !!!"); } } else { printf ("\n\n------------------------\n\n"); printf ("!!!! Jogada Invalida !!!!"); } } if (vez==2) { printf ("\n\n------------------------"); printf ("\n\nJogador 2: %s",jog2); printf ("\n\nPosicao X (coluna): ",coluna); scanf ("%d",&coluna); printf ("\nPosicao Y (linha): ",linha); scanf ("%d",&linha); if (linha<=3&&coluna<=3) { if (matriz[linha-1][coluna-1] == 9) { matriz[linha-1][coluna-1] = 1; printf ("\n\n"); for (i=0;i<3;i++) { for(j=0;j<3;j++) { printf ("%d ",matriz[i][j]); } printf("\n"); } if ((matriz[0][0]==1)&&(matriz[1][0]==1)&&(matriz[2][0]==1)) { printf ("\n\n------------------------\n\n"); printf ("Jogador 2, vencedor!!!!"); printf ("\n\n------------------------"); velha=1; break; } if ((matriz[0][1]==1)&&(matriz[1][1]==1)&&(matriz[2][1]==1)) { printf ("\n\n------------------------\n\n"); printf ("Jogador 2, vencedor!!!!"); printf ("\n\n------------------------"); velha=1; break; } if ((matriz[0][2]==1)&&(matriz[1][2]==1)&&(matriz[2][2]==1)) { printf ("\n\n------------------------\n\n"); printf ("Jogador 2, vencedor!!!!"); printf ("\n\n------------------------"); velha=1; break; } if ((matriz[0][0]==1)&&(matriz[0][1]==1)&&(matriz[0][2]==1)) { printf ("\n\n------------------------\n\n"); printf ("Jogador 2, vencedor!!!!"); printf ("\n\n------------------------"); velha=1; break; } if ((matriz[1][0]==1)&&(matriz[1][1]==1)&&(matriz[1][2]==1)) { printf ("\n\n------------------------\n\n"); printf ("Jogador 2, vencedor!!!!"); printf ("\n\n------------------------"); velha=1; break; } if ((matriz[3][0]==1)&&(matriz[3][1]==1)&&(matriz[3][2]==1)) { printf ("\n\n------------------------\n\n"); printf ("Jogador 2, vencedor!!!!"); printf ("\n\n------------------------"); velha=1; break; } if ((matriz[0][0]==1)&&(matriz[1][1]==1)&&(matriz[2][2]==1)) { printf ("\n\n------------------------\n\n"); printf ("Jogador 2, vencedor!!!!"); printf ("\n\n------------------------"); velha=1; break; } if ((matriz[2][0]==1)&&(matriz[1][1]==1)&&(matriz[0][2]==1)) { printf ("\n\n------------------------\n\n"); printf ("Jogador 2, vencedor!!!!"); printf ("\n\n------------------------"); velha=1; break; } jogadas=jogadas+1; vez=vez-1; } else { printf ("\n\n------------------------\n\n"); printf("!!!! Posicao Ocupada !!!!\n\n !!! Jogue Novamente !!!"); } } else { printf ("\n\n------------------------\n\n"); printf ("!!!! Jogada Invalida !!!!"); } } } if (velha==0) { printf ("\n\n------------------------\n\n"); printf ("!!!! VELHA !!!!"); printf ("\n\n------------------------"); } getch(); return 1; } Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Outubro 24, 2009 Ué...Só fazer exibir a matriz a cada jogada... Compartilhar este post Link para o post Compartilhar em outros sites