Buscar

Jogo da Velha em C

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

#include<stdio.h>
 #include<conio.h>
 int main(void){
 char Matriz[3][3]; //dimensiona uma matriz de proporção 3x3
 char O='O', X='X'; //atribui valores fixos para evitar sensitive key
 int l=0,j,i; //cria contadores
 for(i=0;i<3;i++)
 for(j=0;j<3;j++) // bloco para limpar a matriz como VAZIA
 Matriz[i][j]=' ';
 while(l<=9){ //irá fazer com que o programa repita até que o tabuleiro todo seja preenchido ou encontre um break
 printf(" JOGO DA VELHA \n\n"); // imprime o titulo do jogo + toda a tabela desenhada na tabela ascii
 for(i=0;i<3;i++){
 printf("\t\t %c \xBA %c \xBA %c\n",Matriz[i][0],Matriz[i][1],Matriz[i][2]);
 if(i<2){
 printf("\t\t ÍÍÍ\xCEÍÍÍ\xCEÍÍÍ\n");
 }
 }
 printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\nINSIRA AS COORDENADAS, "); //pula linhas o suficiente para
 if(l%2){ //identifica de quem é a jogada //causar a impressão de que limpou a tela
 printf("COMM \n\n");
 }else{
 printf("PLAYER 1 \n");
 printf("\nLINHA: ");
 scanf("%d",&i); // realiza a leitura da linha
 printf("COLUNA: ");
 scanf("%d",&j); // realiza a leitura da coluna
 }
 if(Matriz[i-1][j-1]==' '){ //identifica se a ultima jogada foi realizada corretamente para incrementar o contador e inserir o valor
 if(l%2){
 if(Matriz[1][1]==O && Matriz[2][0]==' ') Matriz[2][0]=X;
 if(Matriz[0][2]==O && Matriz[0][0]==' ') Matriz[0][0]=X;
 if(Matriz[1][0]==O && Matriz[1][2]==' ') Matriz[1][2]=X;
 if(Matriz[0][1]==O && Matriz[2][1]==' ') Matriz[2][1]=X;
 if(Matriz[2][1]==O && Matriz[0][1]==' ') Matriz[0][1]=X;
 }else
 Matriz[i-1][j-1]=O;
 }
 l++;
 if((Matriz[0][0]==O && Matriz[0][1]==O && Matriz[0][2]==O)||
 (Matriz[1][0]==O && Matriz[1][1]==O && Matriz[1][2]==O)||
 (Matriz[2][0]==O && Matriz[2][1]==O && Matriz[2][2]==O)||
 (Matriz[0][0]==O && Matriz[1][0]==O && Matriz[2][0]==O)||
 (Matriz[0][1]==O && Matriz[1][1]==O && Matriz[2][1]==O)||
 (Matriz[0][2]==O && Matriz[1][2]==O && Matriz[2][2]==O)||
 (Matriz[0][0]==O && Matriz[1][1]==O && Matriz[2][2]==O)||
 (Matriz[0][2]==O && Matriz[1][1]==O && Matriz[2][0]==O)){
 printf("\n\a\t\tJogador 1, VOCE VENCEU!!!");//formata a saida do vencedor centralizado e com um bipe /a
 break;
 }
 if((Matriz[0][0]==X && Matriz[0][1]==X && Matriz[0][2]==X)||
 (Matriz[1][0]==X && Matriz[1][1]==X && Matriz[1][2]==X)||
 (Matriz[2][0]==X && Matriz[2][1]==X && Matriz[2][2]==X)||
 (Matriz[0][0]==X && Matriz[1][0]==X && Matriz[2][0]==X)||
 (Matriz[0][1]==X && Matriz[1][1]==X && Matriz[2][1]==X)||
 (Matriz[0][2]==X && Matriz[1][2]==X && Matriz[2][2]==X)||
 (Matriz[0][0]==X && Matriz[1][1]==X && Matriz[2][2]==X)||
 (Matriz[0][2]==X && Matriz[1][1]==X && Matriz[2][0]==X)){
 printf("\n\n\n\n\a\t\tJogador 2, VOCE VENCEU!!!");//formata a saida do vencedor centralizado e com um bipe /a
 break;
 }
 if(l==9){ // se o contador de jogadas atingir o valor máximo indica que ninguem conseguiu completar 3 jogadas seguidas
 printf("PARTIDA EMPATADA");
 break;
 }
 }
 getch(); // ele para o programa até que seja clicado em qualquer botao para prosseguir, efeito de compilação
 return(0);
 }

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais