Buscar

Jogo da Velha em Linguagem C com Vetores e Matrizes (Conio2)

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

JogoDaVelha.cpp
#include<stdlib.h>
#include <string.h>
#include<conio2.h>
#include<stdio.h>
// inicio funcao spc
void spc(int nChar,int nCorT, int nCorF)
{
 // Funçao spc: Imprime uma sequencia de barras ascII 219 do tamanho desejado
 // Argumentos: nChar(1 a 80) * Tamanho da linha
 // nCorT(1 a 16) * cor do texto
 // nCorF(1 a 16) * Cor de fundo do texto
 // Copyright (c) 2012 By João André MArtins Dias e Silva
 textcolor(nCorT);
 textbackground(nCorF);
 for(int i=0;i<=nChar;i++)
 printf("%c",219);
}
// Fim função spc
//inicio spc2
void spc2(int nChar,int nCorT, int nCorF)
{
 
 textcolor(nCorT);
 textbackground(nCorF);
 for(int i=0;i<=nChar;i++)
 printf("%c",223);
}
// Fim função spc2
// inicio funcao tela
 void tela()
 {
 for(int k=1;k<24;k++)
 spc(79,15,4);
 textbackground(WHITE);
 textcolor(RED);
 for(int k=1;k<24;k++)
 {
 gotoxy(1,k);
 printf("%c",179);
 gotoxy(79,k);
 printf("%c",179);
 }
 for(int i=1;i<79;i++)
 {
 gotoxy(i,1);
 printf("%c",196);
 gotoxy(i,23);
 printf("%c",196);
 }
 // Cantos
 gotoxy(1,1);
 printf("%c",218);
 gotoxy(79,1);
 printf("%c",191);
 gotoxy(1,23);
 printf("%c",192);
 gotoxy(79,23);
 printf("%c",217);
 for(int k=2;k<4;k++)
 {
 gotoxy(3,k);
 printf("%c",179);
 gotoxy(76,k);
 printf("%c",179);
 }
 for(int i=3;i<77;i++)
 {
 gotoxy(i,2);
 printf("%c",196);
 gotoxy(i,4);
 printf("%c",196);
 }
// Cantos 2. quadrado
 gotoxy(3,2);
 printf("%c",218);
 gotoxy(76,2);
 printf("%c",191);
 gotoxy(3,4);
 printf("%c",192);
 gotoxy(76,4);
 printf("%c",217);
 gotoxy(5,5);
 spc2(72,0,0);
 gotoxy(77,3);
 printf("%c",220);
 gotoxy(77,4);
 printf("%c",220);
 gotoxy(77,5);
 printf("%c",220);
 }
// Inicio funcao espera
void esperar(int segundos) // Publicado por B i f e em abril 16, 2008
{
	 _sleep(segundos);
}
// fim funçao espera
// definição da matriz
#define TFL 3
#define TFC 3
#define TFN 10
int main()
{
 int win=0,colunaJ,linhaJ,fim=0,contadorX=0,contadorO=0,jogadas=0,i=0,j=0,l,c,ll;
 char carJogador;
 char matrizJogo[TFL][TFC];
 char nomeJogador[2][TFN];
 
 tela();
 gotoxy(5,3);
 textbackground(15);
 textcolor(1);
 
 printf("Large Shit Maker C++ Old Lady Game v1.1 Copyright (c) By Joao Andre M.");
 textbackground(15);
 textcolor(4);
 
 // Desenhando a Velha
 textcolor(4);
 textbackground(15); 
 
 gotoxy(35,10);
 printf("%c",197);
 gotoxy(45,10);
 printf("%c",197);
 for(i=36;i<45;i++) // Meio do quadrado
 {
 gotoxy(i,10);
 printf("%c",196);
 gotoxy(i,16);
 printf("%c",196);
 }
 for(i=26;i<36;i++) // Horizontal esquerda
 {
 gotoxy(i,10);
 printf("%c",196);
 gotoxy(i,16);
 printf("%c",196);
 }
 for(i=46;i<56;i++) // Horizontal Direita
 {
 gotoxy(i,10);
 printf("%c",196);
 gotoxy(i,16);
 printf("%c",196);
 }
 for(i=11;i<16;i++)// verticalç do quadrado principal
 {
 gotoxy(35,i);
 printf("%c",179);
 gotoxy(45,i);
 printf("%c",179);
 }
 for(i=16;i<21;i++)// Verticalç Inferior
 {
 gotoxy(35,i);
 printf("%c",179);
 gotoxy(45,i);
 printf("%c",179);
 }
 for(i=7;i<18;i++)// Verticalç superior
 {
 gotoxy(35,i);
 printf("%c",179);
 gotoxy(45,i);
 printf("%c",179);
 }
 gotoxy(35,10); // Perimetros do quadrado
 printf("%c",197);
 gotoxy(45,10);
 printf("%c",197);
 gotoxy(35,16);
 printf("%c",197);
 gotoxy(45,16);
 printf("%c",197);
 // fim do Desenho da Velha
 
 // Zerando os Valores da Matriz
 for(int i=0;i<TFL;i++)
 for(int j=0;j<TFC;j++)
 matrizJogo[i][j]=' ';
 
 // Entra lido e sai lido sua besta!
 
 gotoxy(4,19);
 printf("Digite a Linha:");
 scanf("%d",&linhaJ);
 gotoxy(4,20);
 printf("Digite a coluna:");
 scanf("%d",&colunaJ);
 gotoxy(4,21);
 printf("Digite X ou O:");
 fflush(stdin);
 scanf("%c",&carJogador);
 
 
 while(jogadas<8 && win<1)
 {
 
 
 if(matrizJogo[linhaJ][colunaJ] !='X' && matrizJogo[linhaJ][colunaJ] !='O')
 {
 matrizJogo[linhaJ][colunaJ]=carJogador;
 jogadas++;
 if(carJogador=='X')
 {
 textcolor(1);
 textbackground(15);
 if(linhaJ==0 && colunaJ==0)
 {
 // desenha X Coluna 0 Linha 0
 gotoxy(29,5);
 printf("%c",219);
 gotoxy(29,6);
 printf("%c",219);
 gotoxy(29,7);
 printf("%c",219);
 gotoxy(26,7);
 printf("%c%c%c",220,220,220);
 gotoxy(30,7);
 printf("%c%c%c",220,220,220);
 gotoxy(29,8);
 printf("%c",219);
 gotoxy(29,9);
 printf("%c",219);
 }
 if(linhaJ==0 && colunaJ==1)
 {
 gotoxy(40,5);
 printf("%c",219);
 gotoxy(40,6);
 printf("%c",219);
 gotoxy(40,7);
 printf("%c",219);
 gotoxy(37,7);
 printf("%c%c%c",220,220,220);
 gotoxy(41,7);
 printf("%c%c%c",220,220,220);
 gotoxy(40,8);
 printf("%c",219);
 gotoxy(40,9);
 printf("%c",219);
 }
 if(linhaJ==0 && colunaJ==2)
 {
 // desenha X Coluna 2 Linha 0
 gotoxy(51,5);
 printf("%c",219);
 gotoxy(51,6);
 printf("%c",219);
 gotoxy(51,7);
 printf("%c",219);
 gotoxy(48,7);
 printf("%c%c%c",220,220,220);
 gotoxy(52,7);
printf("%c%c%c",220,220,220);
 gotoxy(51,8);
 printf("%c",219);
 gotoxy(51,9);
 printf("%c",219);
 }
 if(linhaJ==1 && colunaJ==0)
 {
 // desenha X Coluna 0 Linha 1
 gotoxy(29,11);
 printf("%c",219);
 gotoxy(29,12);
 printf("%c",219);
 gotoxy(29,13);
 printf("%c",219);
 gotoxy(26,13);
 printf("%c%c%c",220,220,220);
 gotoxy(30,13);
 printf("%c%c%c",220,220,220);
 gotoxy(29,14);
 printf("%c",219);
 gotoxy(29,15);
 printf("%c",219);
 }
 if(linhaJ==1 && colunaJ==1)
 {
 // desenha X Coluna 1 Linha 1
 gotoxy(40,11);
 printf("%c",219);
 gotoxy(40,12);
 printf("%c",219);
 gotoxy(40,13);
 printf("%c",219);
 gotoxy(37,13);
 printf("%c%c%c",220,220,220);
 gotoxy(41,13);
 printf("%c%c%c",220,220,220);
 gotoxy(40,14);
 printf("%c",219);
 gotoxy(40,15);
 printf("%c",219);
 }
 if(linhaJ==1 && colunaJ==2)
 {
 // desenha X Coluna 2 Linha 1
 gotoxy(51,11);
 printf("%c",219);
 gotoxy(51,12);
 printf("%c",219);
 gotoxy(51,13);
 printf("%c",219);
 gotoxy(48,13);
 printf("%c%c%c",220,220,220);
 gotoxy(52,13);
 printf("%c%c%c",220,220,220);
 gotoxy(51,14);
 printf("%c",219);
 gotoxy(51,15);
 printf("%c",219);
 }
 if(linhaJ==2 && colunaJ==0)
 {
 // desenha X Coluna 0 Linha 2
 gotoxy(29,17);
 printf("%c",219);
 gotoxy(29,18);
 printf("%c",219);
 gotoxy(29,19);
 printf("%c",219);
 gotoxy(26,19);
 printf("%c%c%c",220,220,220);
 gotoxy(30,19);
 printf("%c%c%c",220,220,220);
 gotoxy(29,20);
 printf("%c",219);
 gotoxy(29,21);
 printf("%c",219);
 }
 if(linhaJ==2 && colunaJ==1)
 {
 // desenha X Coluna 1 Linha 2
 gotoxy(40,17);
 printf("%c",219);
 gotoxy(40,18);
 printf("%c",219);
 gotoxy(40,19);
 printf("%c",219);
 gotoxy(37,19);
 printf("%c%c%c",220,220,220);
 gotoxy(41,19);
 printf("%c%c%c",220,220,220);
 gotoxy(40,20);
 printf("%c",219);
 gotoxy(40,21);
 printf("%c",219);
 
 }
 if(linhaJ==2 && colunaJ==2)
 {
 // desenha X Coluna 2 Linha 2
 gotoxy(51,17);
 printf("%c",219);
 gotoxy(51,18);
 printf("%c",219);
 gotoxy(51,19);
 printf("%c",219);
 gotoxy(48,19);
 printf("%c%c%c",220,220,220);
 gotoxy(52,19);
 printf("%c%c%c",220,220,220);
 gotoxy(51,20);
 printf("%c",219);
 gotoxy(51,21);
 printf("%c",219);
 }
 }
 if(carJogador=='O')
 {
 textcolor(10);
 textbackground(15);
 
 if(linhaJ==0 && colunaJ==0)
 {
 // desenha O Coluna 0 Linha 0
 gotoxy(29,5);
 printf("%c",219);
 gotoxy(28,6);
 printf("%c%c%c",219,219,219);
 gotoxy(27,7);
 printf("%c%c%c%c%c",219,219,219,219,219);
 gotoxy(28,8);
 printf("%c%c%c",219,219,219);
 gotoxy(29,9);
 printf("%c",219);
 }
 if(linhaJ==0 && colunaJ==1)
 {
 // desenha O Coluna 1 Linha 0
 gotoxy(41,5);
 printf("%c",219);
 gotoxy(40,6);
 printf("%c%c%c",219,219,219);
 gotoxy(39,7);
 printf("%c%c%c%c%c",219,219,219,219,219);
 gotoxy(40,8);
 printf("%c%c%c",219,219,219);
 gotoxy(41,9);
 printf("%c",219);
 gotoxy(41,7);
 printf("%c",219);
 }
 if(linhaJ==0 && colunaJ==2)
 {
 // desenha O Coluna 2 Linha 0
 gotoxy(51,5);
 printf("%c",219);
 gotoxy(50,6);
 printf("%c%c%c",219,219,219);
 gotoxy(49,7);
 printf("%c%c%c%c%c",219,219,219,219,219);
 gotoxy(50,8);
 printf("%c%c%c",219,219,219);
 gotoxy(51,9);
 printf("%c",219);
 gotoxy(51,7);
 printf("%c",219);
 }
 if(linhaJ==1 && colunaJ==0)
 {
 // desenha O Coluna 0 Linha 1
 gotoxy(29,11);
 printf("%c",219);
 gotoxy(28,12);
 printf("%c%c%c",219,219,219);
 gotoxy(27,13);
 printf("%c%c%c%c%c",219,219,219,219,219);
 gotoxy(28,14);
 printf("%c%c%c",219,219,219);
 gotoxy(29,15);
 printf("%c",219);
 }
 if(linhaJ==1 && colunaJ==1)
 {
 // desenha O Coluna 1 Linha 1
 gotoxy(41,11);
 printf("%c",219);
 gotoxy(40,12);
 printf("%c%c%c",219,219,219);
 gotoxy(39,13);
 printf("%c%c%c%c%c",219,219,219,219,219);
 gotoxy(40,14);
 printf("%c%c%c",219,219,219);
 gotoxy(41,15);
 printf("%c",219);
 }
 if(linhaJ==1 && colunaJ==2)
 {
 // desenha O Coluna
2 Linha 1
 gotoxy(51,11);
 printf("%c",219);
 gotoxy(50,12);
 printf("%c%c%c",219,219,219);
 gotoxy(49,13);
 printf("%c%c%c%c%c",219,219,219,219,219);
 gotoxy(50,14);
 printf("%c%c%c",219,219,219);
 gotoxy(51,15);
 printf("%c",219);
 }
 if(linhaJ==2 && colunaJ==0)
 {
 // desenha O Coluna 0 Linha 2
 gotoxy(29,17);
 printf("%c",219);
 gotoxy(28,18);
 printf("%c%c%c",219,219,219);
 gotoxy(27,19);
 printf("%c%c%c%c%c",219,219,219,219,219);
 gotoxy(28,20);
 printf("%c%c%c",219,219,219);
 gotoxy(29,21);
 printf("%c",219);
 }
 if(linhaJ==2 && colunaJ==1)
 {
 // desenha O Coluna 1 Linha 2
 gotoxy(41,17);
 printf("%c",219);
 gotoxy(40,18);
 printf("%c%c%c",219,219,219);
 gotoxy(39,19);
 printf("%c%c%c%c%c",219,219,219,219,219);
 gotoxy(40,20);
 printf("%c%c%c",219,219,219);
 gotoxy(41,21);
 printf("%c",219);
 }
 if(linhaJ==2 && colunaJ==2)
 {
 // desenha O Coluna 2 Linha 2
 gotoxy(51,17);
 printf("%c",219);
 gotoxy(50,18);
 printf("%c%c%c",219,219,219);
 gotoxy(49,19);
 printf("%c%c%c%c%c",219,219,219,219,219);
 gotoxy(50,20);
 printf("%c%c%c",219,219,219);
 gotoxy(51,21);
 printf("%c",219);
 } 
 }
 }
 textbackground(15);textcolor(4);
 gotoxy(50,22);
 printf("%c",matrizJogo[linhaJ][colunaJ]);
 gotoxy(50,22);
 printf("%d",jogadas);
 
 
 //verificando se houve vencedor na Horizontal: 
 for (i = 0; i < 3; i++) {
 if (matrizJogo[i][0] == matrizJogo[i][1] && matrizJogo[i][0] == matrizJogo[i][2]) {
 if (matrizJogo[i][0] == 'X') win = 1;
 if (matrizJogo[i][0] == 'O') win = 2;
 }
 }
 //verificando se houve vencedor na Vertical:
 for (i = 0; i < 3; i++) {
 if (matrizJogo[0][i] == matrizJogo[1][i] && matrizJogo[0][i] == matrizJogo[2][i]) {
 if (matrizJogo[0][i] == 'X') win = 1;
 if (matrizJogo[0][i] == 'O') win = 2;
 }
 }
 //verificando se houve vencedor na Diagonal de cima para baixo: 
 if (matrizJogo[0][0] == matrizJogo[1][1] && matrizJogo[0][0] == matrizJogo[2][2]) {
 if (matrizJogo[0][0] == 'X') win = 1;
 if (matrizJogo[0][0] == 'O') win = 2;
 }
 
 //verificando se houve vencedor na Diagonal de baixo para cima:
 
 if (matrizJogo[0][2] == matrizJogo[1][1] && matrizJogo[0][2] == matrizJogo[2][0]) {
 if (matrizJogo[0][2] == 'X') win = 1;
 if (matrizJogo[0][2] == 'O') win = 2;
 }
 
 
 if(win==1)
 printf("Quem caga grosso aqui e o X");
 if(win==2)
 printf("Quem caga grosso aqui e O");
 
 if(win==0)
 { 
 gotoxy(4,19);
 printf("Digite a Linha:");
 scanf("%d",&linhaJ);
 gotoxy(4,20);
 printf("Digite a coluna:");
 scanf("%d",&colunaJ);
 gotoxy(4,21);
 printf("Digite X ou O:");
 fflush(stdin);
 scanf("%c",&carJogador);
 }
 // Fim verificação.
 }
 
getch();
}

Teste o Premium para desbloquear

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

Outros materiais