Ir para conteúdo

POWERED BY:

Arquivado

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

John Kepler

função interrompendo o loop

Recommended Posts

Olá, estou fazendo um sistema de jogo da velha e fiz com que da 5ª jogada em diante ele verificasse se existe um vencedor. Para fazer essa verificação eu utilizei uma função. O problema é que quando chamo essa função em main() ela interrompe o loop. o codigo:

#include<conio.h>
#include<stdio.h>
#include<iostream>
int g[7][3],j=0,i,conta=0,contb=0,j1=0,j2=0,k,jo[1][9],b,ver,v=0;
char nome1[0],nome2[0];
int verifica();
int verifica(){
   g[0][0]=1; g[0][1]=2; g[0][2]=3;
   g[1][0]=1; g[1][1]=4; g[1][2]=7;
   g[2][0]=1; g[2][1]=5; g[2][2]=9;
   g[3][0]=2; g[3][1]=5; g[3][2]=8;
   g[4][0]=3; g[4][1]=6; g[4][2]=9;
   g[5][0]=3; g[5][1]=5; g[5][2]=7;
   g[6][0]=4; g[6][1]=5; g[6][2]=6;
   g[7][0]=7; g[7][1]=8; g[7][2]=9;

   conta=0;j=0;b=0;
   while ((j<8) && (conta<3)) {
       conta=0;
       for(b=0;b<=j1;b++){
           if(jo[0][b]==g[j][0]) conta++;
           if(jo[0][b]==g[j][1]) conta++;
           if(jo[0][b]==g[j][2]) conta++;
       }
       j++;
   }
   contb=0;j=0;b=0;
   while ((j<8) && (contb<3)) {
       contb=0;
       for(b=0;b<=j2;b++){
           if(jo[1][b]==g[j][0]) contb++;
           if(jo[1][b]==g[j][1]) contb++;
           if(jo[1][b]==g[j][2]) contb++;
       }
       j++;
   }

   if(conta>=3) return 1;
   if(contb>=3) return 2;
   if(contb<3 && conta<3) return 0;
}
main() {
   while(i<9 && v==0) {
       if((i%2)==0) {
           k=j1; j1++;
           printf("0 -> digite sua jogada: ");
           scanf("%i",&jo[0][k]);
       }
       else {
           k=j2; j2++;
           printf("1 -> digite sua jogada: ");
           scanf("%i",&jo[1][k]);
       }
       if(i>=4) {
           ver=verifica();
           if(ver == 0) v=0;
       }
       i++;
   }
   if (v==1) printf("jog 1 ganhou");
   if (v==2) printf("jog 2 ganhou");
   getch();
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

muriloccf,

 

Está confuso seu código.

 

1)Tente dar nomes que tenha relação com o que fazem.

Ex.:

- int iLaco

- int iContadorJogadas

- char NomeJogador[80]

 

2) Se você está programando em C, não precisa incluir a biblioteca iostream.Ela é a biblioteca padrão de C++.

 

3) Não utilize a biblioteca conio. Pois além de antiga e desatualizada não é portável.

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.