Ir para conteúdo

Arquivado

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

Shivans

Jogo da Velha

Recommended Posts

Ta ai um jogo da velha pronto para estudo! agora preciso fazer em java...

pq q esse nao ta funcionando???

 

#include <stdio.h>int main(int argc, char *argv[]){	void main(void){	char mat[3][3]={'1','2','3','4','5','6','7','8','9'};	int a,b,z,c;	a=b=0;	for(a=0;a<3;a++)	{		for(b=0;b<3;b++)		{			printf(" %c |",mat[a][b]);		}		printf("\n");	}	for(z=0;z<9;z++)	{		if(z==0||z%2==0)			printf("Player 1");		else			printf("Player 2");		if(z%2==0)		{			if((mat[0][0]==mat[0][1]&&mat[0][2]==mat[0][0])||					(mat[1][0]==mat[1][1]&&mat[1][2]==mat[1][1])||						(mat[2][0]==mat[2][1]&&mat[2][2]==mat[2][1])||							(mat[0][0]==mat[1][0]&&mat[2][0]==mat[1][0])||					& nbsp;		   (mat[0][1]==mat[1][1]&&mat[2][1]==mat[1][1])||									(mat[0][2]==mat[1][2]&&mat[2][2]==mat[1][2])||										(mat[0][0]==mat[1][1]&&mat[2][2]==mat[1][1])||											(mat[0][2]==mat[1][1]&a mp;&mat[2][0]==mat[0][2]))			{				printf(" Player 2  vencedo");				z=9;			}		}		if(z%2==1)		{			if((mat[0][0]==mat[0][1]&&mat[0][2]==mat[0][0])||					(mat[1][0]==mat[1][1]&&mat[1][2]==mat[1][1])||						(mat[2][0]==mat[2][1]&&mat[2][2]==mat[2][1])||							 (mat[0][0]==mat[1][0]&&mat[2][0]==mat[1][0])||								(mat[0][1]==mat[1][1]&&mat[2][1]==mat[1][1])||									(mat[0][2]==mat[1][2]&&mat[2][2]==mat[1][2])||										(mat[0][0]==mat[1][1]&&mat[2][2]==mat[1][1])||											 (mat[0][2]==mat[1][1]&&mat[2][0]==mat[0][2]))			{				printf(" Player 1  vencedo");				z=9;			}		}		if(z<8)		{			scanf("%d",&c);			clrscr();			switch(c)			{				case 1:						  {							  if(z==0||z%2==0)							  {									if(mat[0][0]=='1')								;	   mat[0][0]='X';									else										z--;							  }							  else			 &nbs p;				{									if(mat[0][0]=='1')										mat[0][0]='O';									else						   &nb sp;			z--;							  }							break;						  }			  case 2:						  {								if(z==0||z%2==0)								{									if(mat[0][1]=='2')							;		   mat[0][1]='X';									else										z--;							  }							  else		 &nbs p;					{									if(mat[0][1]=='2')										mat[0][1]='O';									else					   &nb sp;				z--;							  }							break;						  }			  case 3:						  {								 if(z==0||z%2==0)								 {									 if(mat[0][2]=='3')										 mat[0][2]='X';									 else										 z--;								 }								 else								 {									if(mat[0][2]=='3')										mat[0][2]='O';									else										z--;  &n bsp;							  }							break;						  }				case 4:						  {								if(z==0||z%2==0)								{									if(mat[1][0]=='4')							;		   mat[1][0]='X';									else										z--;								}								else	 &nbs p;						  {									if(mat[1][0]=='4')										mat[1][0]='O';									else				 &nb sp;					  z--;								}							break;						  }				case 5:						  {							  if(z==0||z%2==0)							  {								  if(mat[1][1]=='5')								  ;   mat[1][1]='X';								  else									 z--;							  }							  else							  {									if(mat[1][1]=='5')							  &nb sp;		 mat[1][1]='O';									else										z--;							  }						  break;			  &n bsp;		  }			  case 6:						 {							 if(z==0||z%2==0)							 {								 if(mat[1][2]=='6')									 mat[1][2]='X';								 else									 z--;							 }							 else							 {									if(mat[1][2]=='6')										mat[1][2]='O';									else										z--;  &n bsp;						  }						break;						 }			  case 7:						 {							  if(z==0||z%2==0)							  {									if(mat[2][0]=='7')										mat[2][0]='X';				;				   else										z--;							  }							  else							  {		 ;						  if(mat[2][0]=='7')										mat[2][0]='O';									else										z--;			 & nbsp;				}						break;						 }			  case 8:						 {							  if(z==0||z%2==0)							  {								  if(mat[2][1]=='8')									  mat[2][1]='X';					;			 else								  z--;							  }							  else							  {					 ;			if(mat[2][1]=='8')									  mat[2][1]='O';								  else									  z--;							  } &nbs p;					  break;						 }			 case 9:						 {							  if(z==0||z%2==0)							  {									if(mat[2][2]=='9')										mat[2][2]='X';				;				   else									  z--;							  }							  else							  {		;					  if(mat[2][2]=='9')									  mat[2][2]='O';								  else									  z--;					   & nbsp;	  }							break;						}			default:					  {							printf("Posiçao invalida");							z--;					  }		 }//switch		for(a=0;a<3;a++)		{			for(b=0;b<3;b++)			{				printf(" %c |",mat[a][b]);			}			printf("\n");		}	 }	}	if(z==9)		printf("Empate");}	}

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem esse aqui q ta funcionando!!!

huhu

 

//horizontal = 80;//vertical = 25;#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <string.h>#include <ctype.h>#define sJog1 'X'#define sJog2 'O'void PegaNome(int opc);void MontaTela();void TelaInicial();void Jogador1();void Jogador2();void Computador();int VerificaJogada(int posicao);int Ganhador();void Vencedor(int opc);void JogarNovamente();void CarregaMatriz();void SalvarJogo();char jogo[3][3];char *Jog1,*Jog2;int *pOpc,pJog1=0,pJog2=0,pComp=0;int nJogadas = 0;// monta a tela com a matrizvoid MontaTela(){	clrscr();	puts("\t	|\t	|");	puts("\t	|\t	|");	puts("\t	|\t	|");	puts("	 -------+-------+-------");	puts("\t	|\t	|");	puts("\t	|\t	|");	puts("\t	|\t	|");	puts("	 -------+-------+-------");	puts("\t	|\t	|");	puts("\t	|\t	|");	puts("\t	|\t	|");	gotoxy(9,2);	if(jogo[0][0] == '1')			printf("%c",jogo[0][0]);	else	{		if(jogo[0][0] == 'X')		{			printf("\\/");			gotoxy(9,3);			printf("/\\");		}		else		{			printf("/\\");			gotoxy(9,3);			printf("\\/");		}	}	gotoxy(17,2);	if(jogo[0][1] == '2')		printf("%c",jogo[0][1]);	else	{		if(jogo[0][1] == 'X')		{			printf("\\/");			gotoxy(17,3);			printf("/\\");		}		else		{			printf("/\\");			gotoxy(17,3);			printf("\\/");		}	}	gotoxy(25,2);	if(jogo[0][2] == '3')		printf("%c",jogo[0][2]);	else	{		if(jogo[0][2] == 'X')		{			printf("\\/");			gotoxy(25,3);			printf("/\\");		}		else		{			printf("/\\");			gotoxy(25,3);			printf("\\/");		}	}	gotoxy(9,6);	if(jogo[1][0] == '4')		printf("%c",jogo[1][0]);	else	{		if(jogo[1][0] == 'X')		{			printf("\\/");			gotoxy(9,7);			printf("/\\");		}		else		{			printf("/\\");			gotoxy(9,7);			printf("\\/");		}	}	gotoxy(17,6);	if(jogo[1][1] == '5')		printf("%c",jogo[1][1]);	else	{		if(jogo[1][1] == 'X')		{			printf("\\/");			gotoxy(17,7);			printf("/\\");		}		else		{			printf("/\\");			gotoxy(17,7);			printf("\\/");		}	}	gotoxy(25,6);	if(jogo[1][2] == '6')		printf("%c",jogo[1][2]);	else	{		if(jogo[1][2] == 'X')		{			printf("\\/");			gotoxy(25,7);			printf("/\\");		}		else		{			printf("/\\");			gotoxy(25,7);			printf("\\/");		}	}	gotoxy(9,10);	if(jogo[2][0] == '7')		printf("%c",jogo[2][0]);	else	{		if(jogo[2][0] == 'X')		{			printf("\\/");			gotoxy(9,11);			printf("/\\");		}		else		{			printf("/\\");			gotoxy(9,11);			printf("\\/");		}	}	gotoxy(17,10);	if(jogo[2][1] == '8')		printf("%c",jogo[2][1]);	else	{		if(jogo[2][1] == 'X')		{			printf("\\/");			gotoxy(17,11);			printf("/\\");		}		else		{			printf("/\\");			gotoxy(17,11);			printf("\\/");		}	}	gotoxy(25,10);	if(jogo[2][2] == '9')		printf("%c",jogo[2][2]);	else	{		if(jogo[2][2] == 'X')		{			printf("\\/");			gotoxy(25,11);			printf("/\\");		}		else		{			printf("/\\");			gotoxy(25,11);			printf("\\/");		}	}	gotoxy(60,1);	printf("	 PLACAR   ");	gotoxy(60,3);	printf("%s = %d",Jog1,pJog1);	gotoxy(60,4);	if(*pOpc == 2)		printf("%s = %d",Jog2,pJog2);	else		printf("COMPUTADOR = %d",pComp);	gotoxy(0,24);	printf("S = SALVAR JOGO\n");	printf("C = CARREGAR JOGO SALVO");}int Ganhador(){	int x=0,o=0;	int i,j;	for(i=0;i<3;i++)	{		for(j=0;j<3;j++)		{			if(jogo[i][j] == sJog1)				x++;			if(jogo[i][j] == sJog2)				o++;		}		if(x==3 || o==3)			return(1);		x=0;		o=0;	}	for(i=0;i<3;i++)	{		for(j=0;j<3;j++)		{			if(jogo[j][i] == sJog1)				x++;			if(jogo[j][i] == sJog2)				o++;		}		if(x==3 || o==3)			return(1);		x=0;		o=0;	}	if(jogo[0][0] == sJog1 && jogo[1][1] == sJog1 && jogo[2][2] == sJog1)		return(1);	if(jogo[0][0] == sJog2 && jogo[1][1] == sJog2 && jogo[2][2] == sJog2)		return(1);	if(jogo[0][2] == sJog1 && jogo[1][1] == sJog1 && jogo[2][0] == sJog1)		return(1);	if(jogo[0][2] == sJog2 && jogo[1][1] == sJog2 && jogo[2][0] == sJog2)		return(1);	return(0);}void SalvarJogo(){	FILE *arquivo;	char aux[1];	int i;	arquivo = fopen("salvo.txt","w");	if(!arquivo)	{	   printf("ERRO AO SALVAR AQUIVO");	}	else	{		  itoa(*pOpc,aux,10);		  putc(aux[0],arquivo);		  putc('\n',arquivo);		  for(i=0;Jog1[i] != '\';i++)				putc(Jog1[i],arquivo);		  putc('\n',arquivo);		  if(*pOpc == 2)		  {				for(i=0;Jog2[i] != '\';i++)					 putc(Jog2[i],arquivo);		  }		  else				putc('\n',arquivo);		  putc('\n',arquivo);		  for(i=0;i<3;i++)				for(int j=0;j<3;j++)					 putc(jogo[i][j],arquivo);		  fclose(arquivo);	}   printf("JOGO SALVO");}void Jogador1(){	int posicao;	char *c,f;	gotoxy(0,20);	printf("%s , DESEJA JOGAR EM QUAL POSICAO ?",Jog1);	printf("\nPOSICAO : ");	f = getch();	if(f == 83 || f == 115)	{		SalvarJogo();		getch();	}	if(f == 67 || f == 99)	{		printf("CARREGAR()");		getch();	}	else	  {			c = &f;			posicao = atoi(c);			if(posicao < 1 || posicao > 9)			{				gotoxy(11,21);				printf("POSICAO INVALIDA");				flushall();				getch();				MontaTela();				Jogador1();			}			if(VerificaJogada(posicao) == 1)			{				posicao--;				jogo[posicao/3][posicao%3] = sJog1;				nJogadas++;				MontaTela();			}			else			{				gotoxy(11,21);				printf("POSICAO JA PREENCHIDA");				getch();				MontaTela();				flushall();				Jogador1();			}			if(nJogadas <= 8)			{				if(Ganhador() == 0)				{					if(*pOpc == 2)						Jogador2();					else						Computador();				}				else					Vencedor(1);			}			else	  ;	  {				if(Ganhador() == 1)					Vencedor(1);				else				{					gotoxy(0,20);					printf("HOUVE UM EMPATE !!!!");					getch();					JogarNovamente();				}			}		}	 }void Jogador2(){	int posicao;	gotoxy(0,20);	printf("%s , DESEJA JOGAR EM QUAL POSICAO ?",Jog2);	printf("\nPOSICAO : ");	scanf("%d",&posicao);	if(posicao < 1 || posicao > 9)	{		gotoxy(11,21);		printf("POSICAO INVALIDA");		flushall();		getch();		MontaTela();		Jogador2();	}	else	{		if(VerificaJogada(posicao) == 1)		{			posicao--;			jogo[posicao/3][posicao%3] = sJog2;			nJogadas++;			MontaTela();		}		else		{			gotoxy(11,21);			printf("POSICAO JA PREENCHIDA");			getch();			MontaTela();			flushall();			Jogador2();		}	}	if(nJogadas <= 8)	{		if(Ganhador() == 0)		{			if(*pOpc == 2)				Jogador1();		}		else			Vencedor(2);	}	else	{	if(Ganhador() == 1)			Vencedor(2);		else		{			gotoxy(0,20);			printf("HOUVE UM EMPATE !!!!");			getch();			JogarNovamente();		}	}}void JogarNovamente(){	char opc;   MontaTela();	gotoxy(0,20);	printf("DESEJA JOGAR NOVAMENTE ??? (S/N)");	printf("\nOPCAO : ");   flushall();	scanf("%c",&opc);	if( toupper(opc) != 'S' && toupper(opc) != 'N')	{		gotoxy(9,21);		printf("OPCAO INVALIDA");	  getch();		JogarNovamente();	}	else	{		if( toupper(opc) == 'S')		{		  nJogadas = 0;			CarregaMatriz();			MontaTela();			Jogador1();		}		else		  TelaInicial();	}}void Computador(){	int j;	j = random(9) + 1;	while(VerificaJogada(j) == 0)	{		j = random(9) + 1;	}	j--;	jogo[j/3][j%3] = sJog2;	nJogadas++;	MontaTela();	if(nJogadas <=8)	{		if(Ganhador() == 0)		{			if(*pOpc == 1)				Jogador1();		}		else			Vencedor(3);	}	else	{		if(Ganhador() == 1)			Vencedor(1);		else		{			gotoxy(0,20);			printf("HOUVE UM EMPATE !!!!");			getch();			JogarNovamente();		}	}}void Vencedor(int opc){	clrscr();	MontaTela();	gotoxy(0,20);	if(opc == 1)	{		pJog1++;		printf("PARABENS %s VOCE GANHOU !!!!",Jog1);		getch();		JogarNovamente();	}	if(opc == 2)	{		pJog2++;		printf("PARABENS %s VOCE GANHOU !!!!",Jog2);		getch();		JogarNovamente();	}	if(opc == 3)	{		pComp++;		printf("%s , VOCE PERDEU !!!!",Jog1);		getch();		JogarNovamente();	}}int VerificaJogada(int posicao){	posicao--;	if(jogo[posicao/3][posicao%3] == sJog1 || jogo[posicao/3][posicao%3] ==sJog2 )		return(0);	else		return(1);}void TelaInicial(){	clrscr();	char msg1[]  = {"JOGO DA VELHA"};	int opc;	int i = strlen(msg1);	gotoxy((80-i)/2,1);	printf("%s\n",msg1);	for(i=0;i<80;i++)		printf("=");	printf("\n\n\n");	printf("\t\t\tESCOLHA UMA OPCAO\n");	printf("\n\t\t\t1 - 1 JOGADOR");	printf("\n\t\t\t2 - 2 JOGADORES");	printf("\n\t\t\t4 - CARREGAR JOGO SALVO");	printf("\n\t\t\t3 - SAIR");	printf("\n\t\t\tOPCAO : ");	scanf("%d",&opc);	if((opc<1 || opc>4))	{		printf("\n\n\t\t\tOPCAO INVALIDA");		getch();		flushall();		TelaInicial();	}	else	{		if(opc==3)			exit(1);		if(opc==4) // carregar jogo salvo			//JogoSalvo();			printf("JOGO SALVO()");		else		{			CarregaMatriz();			pJog1 = 0;			pJog2 = 0;			pComp = 0;			nJogadas = 0;			PegaNome(opc); //envia 1 ou 2 (JOGADORES)		}	}}void PegaNome(int opc){	char NomeJ1[20],NomeJ2[20];	printf("\n\n\t\t\tNOME DO JOGADOR 1 : ");	flushall();	gets(NomeJ1);	Jog1 = &NomeJ1[0];	pOpc = &opc;	if(opc == 2)	{		printf("\t\t\tNOME DO JOGADOR 2 : ");		flushall();		gets(NomeJ2);		Jog2 = &NomeJ2[0];	}	MontaTela();	Jogador1();}void CarregaMatriz(){	char aux = '1';	for(int i=0;i<3;i++)		for(int j=0;j<3;j++)			{				jogo[i][j] = aux++;			}}void main(){	CarregaMatriz();	TelaInicial();}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá uma olhada nesse código porque esse eu sei que tá funfando. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

#include <stdio.h>#define _X_ 'X'#define _O_ 'O'#define D_VALIDACAO#define D_DIMENSAO 3void desenha( char as_velha[D_DIMENSAO][D_DIMENSAO] );int verifica( char as_velha[D_DIMENSAO][D_DIMENSAO], char cSimbol );int main(void){   int i,j;   int ijogada;   char as_velha[D_DIMENSAO][D_DIMENSAO]; /* matriz que conter� o jogo da velha */   char ss_nome_jogador_01[40];   char ss_nome_jogador_02[40];   printf("\nEntre com o nome do jogador 01->");   scanf("%s", &ss_nome_jogador_01);   printf("\nEntre com o nome do jogador 02->");   scanf("%s", &ss_nome_jogador_02);   printf("\n%s, voce vai jogar com o simbolo X", ss_nome_jogador_01);   printf("\n%s, voce vai jogar com o simbolo O", ss_nome_jogador_02);   for( i=0;i<D_DIMENSAO;i++)	  for( j=0;j<D_DIMENSAO;j++)		 as_velha[i][j]=' ';   desenha(as_velha);   ijogada = _X_;   while(1)   {#ifdef D_VALIDACAO	  do	  {#endif		 if( ijogada == _X_ )			printf("\nE a vez do %s", ss_nome_jogador_01);		 else			printf("\nE a vez do %s", ss_nome_jogador_02);		 printf("\nInforme as coordenadas");		 printf("\nCoordenada i ->");		 scanf("%d", &i);		 printf("\nCoordenada j ->");		 scanf("%d", &j);#ifdef D_VALIDACAO		 if( as_velha[i][j] != ' ' )			printf("\nVoce e um estupido !!! Estas coordenadas ja estao ocupadas..." );	  }	  while( as_velha[i][j] != ' ' );#endif	  as_velha[i][j]=ijogada;	  desenha(as_velha);	  if( verifica(as_velha, ijogada ))	  {		 printf("\nParabens");		 break;	  }	  if( ijogada == _X_ )		 ijogada = _O_;	  else		 ijogada = _X_;   }}void desenha( char as_velha[D_DIMENSAO][D_DIMENSAO] ){   int i,j;   for( i=0; i<D_DIMENSAO; i++)   {	  printf("\n");	  for( j=0; j<D_DIMENSAO; j++)	  {		 printf( " %c ", as_velha[i][j] );		 if( j < D_DIMENSAO-1 ) //n�o deve imprimir | na �ltima coluna			printf( "|" );	  }	  printf("\n");	  if( i < D_DIMENSAO - 1) //n�o deve imprimir ---|--- na �ltima linha	  {		 for(j=0;j<D_DIMENSAO;j++)		 {			printf("---");			if( j < D_DIMENSAO-1 ) //n�o deve imprimir | na �ltima coluna			   printf( "|" );		 }	  }   }}int verifica( char as_velha[D_DIMENSAO][D_DIMENSAO], char cSimbol ){   int i, j;   int iVenceu = 1; // 1 � verdadeiro   // verifica todas as linhas horizontalmente   for( i=0; i<D_DIMENSAO; i++)   {	  iVenceu=1;	  for( j=0; j<D_DIMENSAO; j++)	  {		 if( as_velha[i][j] != cSimbol )			iVenceu = 0;	  }	  if(iVenceu)		 break;   }   if( ! iVenceu )   {	  iVenceu = 1;	  // verifica todas as linhas verticalmente	  for( j=0; j<D_DIMENSAO; j++)	  {		 iVenceu=1;		 for( i=0; i<D_DIMENSAO; i++)		 {			if( as_velha[i][j] != cSimbol )			   iVenceu = 0;		 }		 if(iVenceu)			break;	  }   }   return (iVenceu);}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja este código,ta rodando mas, não sei pq, não faz a pergunta se o jogador quer jogar novamente.#include <stdio.h>//#include <coma.h>#include <stdlib.h>#include <conio.h>void main(void){char m[3][3]={'1','2','3','4','5','6','7','8','9'};int vaux[8];int col, lin, i, j,cont, jogadavalida, posicao,jogador,temvencedor,aux;char novajogada='n';temvencedor=0;jogador=0;cont=0;aux=1;jogadavalida=0; printf("===JOGO DA VELHA==="); printf("\n"); while ((jogadavalida < 9) && (temvencedor==0)) {//imprime a matriz do jogo printf("\n"); printf("Jogador 1 -> x\n"); printf("Jogador 2 -> 0\n"); for (col=0; col < 3; col++) { printf("\n"); for (lin=0; lin < 3; lin++) printf("%c|", m[col][lin]); } printf("\n"); printf("\n"); // mod para verificar qual jogador deve jogar if (jogadavalida % 2 ==0) { printf("jogador 1 escolha a posicao:"); scanf ("%d",&posicao); jogador=1; printf("\n"); } else { printf("\n"); printf("jogador 2 escolha a posicao:"); scanf("%d",&posicao); jogador=2; printf("\n"); } //le a posicao ateh que seja digitada uma posicao valida while ((posicao <1) ||(posicao >9 )) { printf("posicao invalida, digite numeros de 1 a 9 :"); scanf("%d",&posicao); }// o if verifica se a posicao ja foi digitada// verificando posicao na matriz e atribuindo valores x ou o cont=cont+1; switch (posicao) { case 1: if((m[0][0]!='x')&&(m[0][0]!='o')) { if (jogador == 1) { m[0][0]='x'; } else { m[0][0]='o'; } } else { printf("posicao jah utilizada, para continuar e digitar outra posicao\n"); printf("digite 0\n"); scanf("%d",&aux); jogadavalida=jogadavalida-1; } break; case 2: if((m[0][1]!='x')&&(m[0][1]!='o')) { if (jogador==1) { m[0][1]='x'; } else { m[0][1]='o'; } } else { printf("posicao jah utilizada, para continuar e digitar outra posicao\n"); printf("digite 0\n"); scanf("%d",&aux); jogadavalida=jogadavalida-1; } break; case 3: if((m[0][2]!='x')&&(m[0][2]!='o')) { if (jogador==1) { m[0][2]='x'; } else { m[0][2]='o'; } } else { printf("posicao jah utilizada, para continuar e digitar outra posicao\n"); printf("digite 0\n"); scanf("%d",&aux); jogadavalida=jogadavalida-1; } break; case 4: if((m[1][0]!='x')&&(m[1][0]!='o')) { if (jogador ==1) { m[1][0]='x'; } else { m[1][0]='o'; } } else { printf("posicao jah utilizada, para continuar e digitar outra posicao\n"); printf("digite 0\n"); scanf("%d",&aux); jogadavalida=jogadavalida-1; } break; case 5: if((m[1][1]!='x')&&(m[1][1]!='o')) { if (jogador==1) { m[1][1]='x'; } else { m[1][1]='o'; } } else { printf("posicao jah utilizada, para continuar e digitar outra posicao\n"); printf("digite 0\n"); scanf("%d",&aux); jogadavalida=jogadavalida-1; } break; case 6: if((m[1][2]!='x')&&(m[1][2]!='o')) { if (jogador==1) { m[1][2]='x'; } else { m[1][2]='o'; } } else { printf("posicao jah utilizada, para continuar e digitar outra posicao\n"); printf("digite 0\n"); scanf("%d",&aux); jogadavalida=jogadavalida-1; } break; case 7: if((m[2][0]!='x')&&(m[2][0]!='o')) { if (jogador==1) { m[2][0]='x'; } else { m[2][0]='o'; } } else { printf("posicao jah utilizada, para continuar e digitar outra posicao\n"); printf("digite 0\n"); scanf("%d",&aux); jogadavalida=jogadavalida-1; } break; case 8: if((m[2][1]!='x')&&(m[2][1]!='o')) { if (jogador==1) { m[2][1]='x'; } else { m[2][1]='o'; } } else { printf("posicao jah utilizada, para continuar e digitar outra posicao\n"); printf("digite 0\n"); scanf("%d",&aux); jogadavalida=jogadavalida-1; } break; case 9: if((m[2][2]!='x')&&(m[2][2]!='o')) { if (jogador==1) { m[2][2]='x'; } else { m[2][2]='o'; } } else { printf("posicao jah utilizada, para continuar e digitar outra posicao\n"); printf("digite 0\n"); scanf("%d",&aux); jogadavalida=jogadavalida-1; } break; }// verificacao de quem ganhou considerando que a partir da 5 jogada// pode haver vencedor if (cont > 4) { // switch (vencedor)// comparando linha 0 e colunas if ((m[0][0]== m[0][1]) && (m[0][0]== m[0][2])) { temvencedor=1; if (m[0][0] == 'x') { printf("OK!!! Jogador 1 eh o vencedor O_o\n"); } else { printf("OK!!! Jogador 2 eh o vencedor O_o\n"); } }// comparando linha 1 e colunas if ((m[1][0]== m[1][1]) && (m[1][0]== m[1][2])) { temvencedor=1; if (m[1][0]=='x') { printf("OK!!! Jogador 1 eh o vencedor O_o\n"); } else { printf("OK!!! Jogador 2 eh o vencedor O_o\n"); } }//comparando linha 2 e colunas if ((m[2][0]== m[2][1]) && (m[2][0]== m[2][2])) { temvencedor=1; if (m[2][0]=='x') { printf("OK!!! Jogador 1 eh o vencedor O_o\n"); } else { printf("OK !!! Jogador 2 eh o vencedor O_o\n"); } }//comparando coluna 0 if ((m[0][0]== m[1][0]) && (m[0][0]==m[2][0])) { temvencedor=1; if (m[0][0]=='x') { printf("OK!!! Jogador 1 eh o vencedor O_O\n"); } else { printf("OK!!! Jogador 2 eh o vencedor O_o\n"); } } // comparando coluna 1 if ((m[0][1]==m[1][1]) && (m[0][1]==m[2][1])) { temvencedor=1; if (m[0][1]=='x') { printf("OK!!! Jogador 1 eh o vencedor O_o\n"); } else { printf("OK!!! Jogador 2 eh o vencedor O_o\n"); } } //comparando coluna 2 if ((m[0][2]==m[1][2]) && (m[0][2]==m[2][2])) { temvencedor=1; if (m[0][2]=='x') { printf("OK!!! Jogador 1 eh o vencedor O_o\n"); } else { printf ("OK!!! Jogador 2 eh o vencedor O_o\n"); } }/* comparando diagonal '\' */ if ((m[0][0]==m[1][1]) && (m[0][0]== m[2][2])) { temvencedor=1; if (m[0][0]=='x') { printf("OK!!! Jogador 1 eh o vencedor O_o\n"); } else { printf("OK!!! Jogador 2 eh o vencedor O_o\n"); } }/* comparando diagonal '/' */ if ((m[0][2]==m[1][1]) && (m[0][2]==m[2][0])) { temvencedor=1; if (m[0][2]=='x') { printf("OK!!! Jogador 1 eh o vencedor O_o\n"); } else { printf("OK!!! Jogador 2 eh o vencedor O_o\n"); } } if ((cont==9) && (temvencedor==0)) { printf("Nao ah vencedor\n"); }//fim comapracoes para verificacao de vencedor }//fim if cont if (temvencedor==1) { printf("deseja jogar novamente?"); printf("\n"); while ((novajogada == 'n')&&(temvencedor==1)); { scanf("%c",&novajogada); printf("\n"); } if (novajogada=='s') { temvencedor=0; jogadavalida=0; novajogada='n'; m[3][3]='1','2','3','4','5','6','7','8','9'; } else { printf("FIM DO JOGO!!!"); } } jogadavalida = jogadavalida+1; } }

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.