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;}
Pergunta
Hiago Pinazzi
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
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.