Pesquisar na Comunidade
Mostrando resultados para as tags ''c/c++''.
Encontrado 1 registro
-
Eai, faz tempo que não posto nada no fórum, então decidi compartilhar esse código do jogo da velha. Fiz esse jogo como um " projeto final " do primeiro período da faculdade :p #include <stdio.h> #include <stdlib.h> #define Tamanho 4 int vez; void CriarTabuleiro(int Jogada[][Tamanho]) { int i, j; printf("\n"); for(i = 1; i < 4; i++) { for(j = 1; j < 4; j++) { if( Jogada[i][j] == 1 ) { printf(" X"); } else if( Jogada[i][j] == 2 ) { printf(" O"); } printf("\t|"); } printf("\n"); } printf("\n"); } void ZerarTabuleiro(int Jogada[][Tamanho]) { int i, j; for(i = 1; i < 4; i++) { for(j = 1; j < 4; j++) { Jogada[i][j] = 0; } } } int ChecarLocal(int Jogada[][Tamanho], int linha, int coluna) { if(linha < 0 || linha > (Tamanho-1) || coluna < 0 || coluna > (Tamanho-1) || Jogada[linha][coluna] == 1 || Jogada[linha][coluna] == 2 ) return 0; else return 1; } int TerminoContadas(int contador) { if(contador >= 10) return 1; return 0; } int TerminoFinal(int Jogada[][Tamanho]) { if( /*Linhas */ Jogada[1][1] == 1 && Jogada[1][2] == 1 && Jogada[1][3] == 1 || Jogada[2][1] == 1 && Jogada[2][2] == 1 && Jogada[2][3] == 1 || Jogada[3][1] == 1 && Jogada[3][2] == 1 && Jogada[3][3] == 1 || /*Diagonal*/ Jogada[1][1] == 1 && Jogada[2][2] == 1 && Jogada[3][3] == 1 || Jogada[1][3] == 1 && Jogada[2][2] == 1 && Jogada[3][1] == 1 || /*Reto*/ Jogada[1][1] == 1 && Jogada[2][1] == 1 && Jogada[3][1] == 1 || Jogada[1][2] == 1 && Jogada[2][2] == 1 && Jogada[3][2] == 1 || Jogada[1][3] == 1 && Jogada[2][3] == 1 && Jogada[3][3] == 1 ) return 1; if( /*Linhas */ Jogada[1][1] == 2 && Jogada[1][2] == 2 && Jogada[1][3] == 2 || Jogada[2][1] == 2 && Jogada[2][2] == 2 && Jogada[2][3] == 2 || Jogada[3][1] == 2 && Jogada[3][2] == 2 && Jogada[3][3] == 2 || /*Diagonal*/ Jogada[1][1] == 2 && Jogada[2][2] == 2 && Jogada[3][3] == 2 || Jogada[1][3] == 2 && Jogada[2][2] == 2 && Jogada[3][1] == 2 || /*Reto*/ Jogada[1][1] == 2 && Jogada[2][1] == 2 && Jogada[3][1] == 2 || Jogada[1][2] == 2 && Jogada[2][2] == 2 && Jogada[3][2] == 2 || Jogada[1][3] == 2 && Jogada[2][3] == 2 && Jogada[3][3] == 2 ) return 2; return 0; } void Jogar(int Jogada[][Tamanho]) { int linha, coluna, vencedor, contada = 1; printf("1 jogada :\n\n"); CriarTabuleiro(Jogada); for (;;) { inicio: printf("Vez do jogador : %d\n\nDigite a linha : ", vez % 2 + 1); scanf("%d", &linha); printf("Digite a coluna : "); scanf("%d", &coluna); system("cls"); if( ChecarLocal(Jogada, linha, coluna) == 0 ) { printf("\nFaca a jogada novamente!\n\n"); CriarTabuleiro(Jogada); printf("\n\n"); goto inicio; } printf("%d Jogada :\n\n", vez + 2); printf("\n\n"); if( vez % 2 == 0 ) { Jogada[linha][coluna] = 1; contada++; } else if( vez % 2 == 1 ) { Jogada[linha][coluna] = 2; contada++; } CriarTabuleiro(Jogada); vez++; if( TerminoFinal(Jogada) == 1 ) { vencedor = 1; break; } if( TerminoFinal(Jogada) == 2 ) { vencedor = 2; break; } if( TerminoContadas(contada) == 1 ) { vencedor = 3; break; } printf("\n\n"); } if( vencedor == 3 ) printf("\n\nO jogo terminou em empate !\n\n"); if( vencedor == 1 || vencedor == 2 ) printf("\n\nO jogo terminou !\n\nO vencedor foi : Jogador %d\n\n", vencedor); } void Jogo(int Jogada[][Tamanho]) { ZerarTabuleiro(Jogada); vez = 0; Jogar(Jogada); } int main() { char c; int Jogada[Tamanho][Tamanho]; do{ Jogo(Jogada); printf("\nDeseja jogar novamente ?\n\nS ou s para sim\n\n"); scanf("%s", &c); system("cls"); } while(c == 'S' || c == 's'); printf("O jogo sera fechado !\n"); return 0; } É isso, qualquer coisa só comentar ai, fui.
