Ir para conteúdo
Fórum Script Brasil
  • 0

VERIFICAÇÃO SE MATRIZ JÁ ESTÁ PREENCHIDA


Hiago Pinazzi

Pergunta

BOA TARDE !

FIZ UM JOGO DA VELHA E NA LINHA QUE VERIFICA SE A MATRIZ ESTÁ PREENCHIDA NÃO ESTÁ MOSTRANDO O PRINTF  SE O USUÁRIO DIGITAR UMA LINHA E COLUNA JÁ PREENCHIDA, PUDE VERIFICAR QUE ISSO OCORRE DEVISO O SYSTEM CLS QUE ESTÁ LIMPANDO A MENSAGEM DO PRINTF. COMO FAÇO PARA RESOLVER ESSE PROBLEMA ? DEIXEI DESTACADO DE AMARELO 

 

 

#include <stdio.h> //biblioteca stdio cabeçalho padrão de entrada/saída.
#include <stdlib.h>//biblioteca stdlib funções envolvendo alocação de memória, controle de processos, conversões e outras.
#include <conio.h>//biblioteca responsavel pela cor de letras e fundo.
#define dm 3// define o valor 3 no vetor linha e vetor coluna.
void tabuleiro(char linhacoluna[dm][dm])
{
    system ("cls"); // limpa a tela fazendo com que o tabuleiro não se repita a cada jogada.
    system ("color 3F"); // cor de fundo amarelo escuro e letras cor da pele.
    printf("\t\t\t\t\t\t\tSeja Bem-Vindo ao jogo da velha em linguagem C :)\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tHiago Pinazzi ENGENHARIA DE COMPUTACAO\n\t\t\t\t\t\t\t\t\thpinazzi50@gmail.com\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tCentro Federal de Educacao Tecnologica de Minas Gerais\n");//informacoes sobre criacao e boas vindas.
    printf("\n");//barra n para saltar uma linha entre info e tabuleiro.
    printf("\t\t\t\t\t\t\t\t\t\t %c | %c | %c \n",linhacoluna [0][0],linhacoluna [0][1],linhacoluna[0][2]);//linha e coluna do tabuleiro com divisao.
    printf("\t\t\t\t\t\t\t\t\t\t-----------\n");//divisao tabuleiro.
    printf("\t\t\t\t\t\t\t\t\t\t %c | %c | %c \n",linhacoluna [1][0],linhacoluna [1][1],linhacoluna[1][2]);//linha e coluna do tabuleiro com divisao.
    printf("\t\t\t\t\t\t\t\t\t\t-----------\n");//divisao tabuleiro
    printf("\t\t\t\t\t\t\t\t\t\t %c | %c | %c \n",linhacoluna [2][0],linhacoluna [2][1],linhacoluna[2][2]);//linha e coluna do tabuleiro com divisao.
}
int main() 
{
    char linhacoluna[dm][dm]={' ',' ',' ',' ',' ',' ',' ',' ',' '};//9 posicoes do tabuleiro linhas e colunas.
    int contajogadas,linha,coluna,vez;//declaracao de inteiros.
        contajogadas=1;//contador de jogadas.
        vez=0;//contador de vez. 
        do{//inicio repeticao.
            tabuleiro (linhacoluna);//tabuleiro.
            if(vez%2==0)//verificacao da vez se e x ou o.
            {
                printf("Vez de  x\n");
            }
            else
            {
                printf("Vez de  o\n");
            }
            printf("Digite a linha:\n");
            scanf("%i",&linha);//inicio de entrada de dados linha.
            printf("Digite a coluna:\n");
            scanf("%i",&coluna);//inicio de entrada de dados coluna.
            if(linhacoluna[linha-1][coluna-1]=='x' || linhacoluna[linha-1][coluna-1]=='o') 
            { 
               printf("Espaco já preenchido\n"); 
            } 

            if(linhacoluna[linha-1][coluna-1]!=' ')
            {
                linha = 0;
                coluna = 0;    
            }
            if(vez%2==0)//inicio de verificacao da vez e posicionamento do elemento x ou o.
            {
                linhacoluna[linha-1][coluna-1]='x';
            }
            else
            {
                linhacoluna[linha-1][coluna-1]='o';    
            }
            vez++;//adicionamento de vez por repeticao.
            contajogadas++;//adionamento de jogada por repeticao.
            if(linhacoluna[0][0]=='x' && linhacoluna[0][1]=='x' && linhacoluna[0][2]=='x')//verificacao de posicao que termina o jogo com ganhador x ou o.
            {contajogadas=11;}
            else if(linhacoluna[1][0]=='x' && linhacoluna[1][1]=='x' && linhacoluna[1][2]=='x')
            {contajogadas=11;}
            else if(linhacoluna[2][0]=='x' && linhacoluna[2][1]=='x' && linhacoluna[2][2]=='x')
            {contajogadas=11;}
            else if(linhacoluna[0][0]=='x' && linhacoluna[1][0]=='x' && linhacoluna[2][0]=='x')
            {contajogadas=11;}
            else if(linhacoluna[0][1]=='x' && linhacoluna[1][1]=='x' && linhacoluna[2][1]=='x')
            {contajogadas=11;}
            else if(linhacoluna[2][0]=='x' && linhacoluna[2][1]=='x' && linhacoluna[2][2]=='x')
            {contajogadas=11;}
            else if(linhacoluna[0][0]=='x' && linhacoluna[1][1]=='x' && linhacoluna[2][2]=='x')
            {contajogadas=11;}
            else if(linhacoluna[0][2]=='x' && linhacoluna[1][1]=='x' && linhacoluna[2][0]=='x')
            {contajogadas=11;}
            else if(linhacoluna[0][2]=='x' && linhacoluna[1][2]=='x' && linhacoluna[2][2]=='x')
            {contajogadas=11;}
            
            if(linhacoluna[0][0]=='o' && linhacoluna[0][1]=='o' && linhacoluna[0][2]=='o')
            {contajogadas=12;}
            else if(linhacoluna[1][0]=='o' && linhacoluna[1][1]=='o' && linhacoluna[1][2]=='o')
            {contajogadas=12;}
            else if(linhacoluna[2][0]=='o' && linhacoluna[2][1]=='o' && linhacoluna[2][2]=='o')
            {contajogadas=12;}
            else if(linhacoluna[0][0]=='o' && linhacoluna[1][0]=='o' && linhacoluna[2][0]=='o')
            {contajogadas=12;}
            else if(linhacoluna[0][1]=='o' && linhacoluna[1][1]=='o' && linhacoluna[2][1]=='o')
            {contajogadas=12;}
            else if(linhacoluna[2][0]=='o' && linhacoluna[2][1]=='o' && linhacoluna[2][2]=='o')
            {contajogadas=12;}
            else if(linhacoluna[0][0]=='o' && linhacoluna[1][1]=='o' && linhacoluna[2][2]=='o')
            {contajogadas=12;}
            else if(linhacoluna[0][2]=='o' && linhacoluna[1][1]=='o' && linhacoluna[2][0]=='o')
            {contajogadas=12;}
            else if(linhacoluna[0][2]=='o' && linhacoluna[1][2]=='o' && linhacoluna[2][2]=='o')
            {contajogadas=12;}//fim
        }while(contajogadas<=9);//fim da condicao para jogadas ate 9.
        tabuleiro (linhacoluna);//mostra tabuleiro.
        if(contajogadas==11)//condicao para mostrar vencedor.
        {
            printf("Temos um vencedor 😉 JOGADOR X\n");
            printf("\t\t\t\t\t\t\t\t\tHiago Pinazzi & Augusto\n");
        }
        else if (contajogadas==12)
        {
            printf("Temos um vencedor 😉 JOGADOR O\n");
            printf("\t\t\t\t\t\t\t\t\tHiago Pinazzi & Augusto\n");
        }
        else if(contajogadas==10)
        {
            printf("EMPATE !!!");
            printf("\t\t\t\t\t\t\t\t\tHiago Pinazzi\n");
        }
 }

OBRIGADO!!!

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...