Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- //#include <windows.h>
- #define M 9 //define o tamanho da matriz
- //cabeçalho
- void carregarjogo(int mat[M][M], int aux[M][M]);
- void salvarjogo(int mat[M][M], int aux[M][M]);
- void painel(int mat[M][M], int aux[M][M]);
- void gerador(int mat[M][M], int aux[M][M]);
- void carregarjogo(int mat[M][M], int aux[M][M]);
- void gerazero(int mat[M][M],int aux[M][M]);
- void jogadas (int mat[M][M], int aux[M][M]);
- void cronometro(int mat[M][M],int aux[M][M]);
- void nivel(int mat[M][M], int aux[M][M]);
- void gerazerofacil(int mat[M][M], int aux[M][M]);
- void gerazeromedio(int mat[M][M], int aux[M][M]);
- void gerazerodificil(int mat[M][M], int aux[M][M]);
- void nivel(int mat[M][M], int aux[M][M])
- {
- int op,x=0;
- printf("\n\t\t\t @@@@ @ @ @@@ @@@@ @ @ @ @\n\t\t\t @ @ @ @ @ @ @ @ @ @ @\n\t\t\t @@@@ @ @ @ @ @ @ @@ @ @\n\t\t\t @ @ @ @ @ @ @ @ @ @ @\n\t\t\t @@@@ @@@@ @@@ @@@@ @ @ @@@@\n\n \a");
- printf("\n\n\t\t\tSelecione o nivel de dificuldade\n\n\n\n");
- printf("\t1-Facil \t 2-Medio \t 3-Dificil\t 4-Aleatorio\t\t\n\n");
- scanf("%d", &op);
- while(x==0){
- fflush(stdin);
- if(op == 1)
- {
- x=1;
- gerazerofacil(mat,aux);
- }
- else if(op == 2)
- {
- x=1;
- gerazeromedio(mat,aux);
- }
- else if(op == 3)
- {
- x=1;
- gerazerodificil(mat,aux);
- }
- else if(op == 4)
- {
- srand(time(NULL)); //semeando o rand
- op=rand()%3+1; // x vai receber 1 numero aleatoria entre 1 e 9
- x=0;
- }
- }
- system("cls");
- }
- void carregarjogo(int mat[M][M], int aux[M][M])
- {
- int i, j;
- FILE *file;
- file = fopen("sudoku.txt", "r");
- if(file == NULL) // se o arquivo nao existir ele avisa o usuario e encerra
- {
- system("cls") || ("clear");
- printf("O Arquivo nao pode ser aberto\n");
- system("pause");
- exit(0);
- }else{
- for(i=0; i<9; i++)
- {
- for(j=0; j<9; j++) // se nao ele le o endereço de aux
- {
- fscanf(file, "%d" ,&aux[i][j]);
- }
- }
- }
- file = fopen("resolucao.txt", "r");
- if(file == NULL) // se o arquivo nao existir ele avisa o usuario e encerra
- {
- system("cls") || ("clear");
- printf("O Arquivo nao pode ser aberto\n");
- system("pause");
- exit(0);
- }else{
- for(i=0; i<9; i++)
- {
- for(j=0; j<9; j++) // se nao ele le o endereço de aux
- {
- fscanf(file, "%d" ,&mat[i][j]);
- }
- }
- fclose(file);
- jogadas(mat,aux);
- }
- }
- void salvarjogo(int mat[M][M], int aux[M][M])
- {
- int i, j;
- FILE *file;
- file = fopen("sudoku.txt", "w");
- for(i=0; i<9; i++){
- for(j=0; j<9; j++){
- fprintf(file,"%d ",aux[i][j]); // na aux é onde ta a matriz ja preenchida com os zeros
- }
- }
- file = fopen("resolucao.txt", "w");
- for(i=0; i<9; i++){
- for(j=0; j<9; j++){
- fprintf(file,"%d ",mat[i][j]); // na aux é onde ta a matriz ja preenchida com os zeros
- }
- }
- fclose(file); // fecha o arquivo
- system("cls") || ("clear");
- printf(" @ @@@@ @@@@ @@@@ @@@@ @@ @ @ @ @@@@ @@\n @ @ @ @ @ @ @ @ @ @ @ @ @ @ @@\n @ @ @ @ @@ @ @ @@@@ @@@@ @ @ @ @ @ @@\n @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ \n@@@ @@@@ @@@@ @@@@ @@@@ @ @ @@@@ @@ @@@@ @@\n \n @@@@@@ \n @@ @@ \n @ @ @ @ \n @ @ \n @ @ @ @ \n @ @@@@ @ \n @ @ \n @@@@@@@@ \n\n\n");
- system("pause");
- jogadas(mat,aux);
- }
- void painel(int mat[M][M], int aux[M][M])
- {
- int op=0,sair=9;
- system("cls") || ("clear");
- printf("\n\t\t@@@@ @ @ @@@ @@@@ @ @ @ @\n\t\t@ @ @ @ @ @ @ @ @ @ @\n\t\t@@@@ @ @ @ @ @ @ @@ @ @\n\t\t @ @ @ @ @ @ @ @ @ @ @\n\t\t@@@@ @@@@ @@@ @@@@ @ @ @@@@\n\n\n\n\n \a");
- printf("\tDigite a opcao desejada\n\n");
- printf("\t1 - Novo Jogo!\n");
- printf("\t2 - Carregar jogo salvo!\n");
- printf("\t3 - Regras do jogo e como jogar\n");
- printf("\t4 - Sair\n");
- while((op != 1) && (op != 2) && (op != 3) && (op != 4)) // aqui enquando nao for digitado uma dessas opções ele vai ficar lendo e dando comando invalido
- {
- scanf(" %d", &op);
- fflush(stdin); // isso limpa o buffer
- }
- switch (op)
- {
- case 1:
- // aqui chama o gerador
- system("cls") || ("clear");
- gerador(mat , aux);
- break;
- case 2:
- carregarjogo(mat,aux); // a matriz aux recebe os valores lidos da função evai para jogadas
- system("cls") || ("clear");
- jogadas(mat,aux);
- break;
- case 3:
- system("cls") || ("clear");
- printf("\n\n");
- printf("\t\t\t\tComo jogar Sudoku.\n\n\t O objetivo do Sudoku e preencher uma grade de 9x9 com numeros,\n\t de forma que cada linha, coluna e secao de 3x3 contenham os\n\t numeros de 1 a 9. No início do jogo, alguns quadrados da \n\t grade de 9x9 estarao preenchidos. Sua tarefa e usar a logica\n\t para preencher os numeros que faltam e completar a grade.\n\n\n\n\n \t\t\t\tIMPORTANTE!!\n\n\n \t\tPara sair do jogo a qualquer momento\n\t\t digite 10 para salvar o jogo digite 99\n\t\t e para resolucao do sudoku digite 50. ");
- printf("\n\n\n\n");
- system("pause");
- painel(mat,aux);
- system("cls") || ("clear");
- break;
- case 4:
- system("cls") || ("clear");
- printf("Deseja realmente sair?\n\n");
- printf("Digite 1 para sim 2 para nao...\n");
- while((sair != 1) && (sair != 2)) //enquanto nao for 1 ou 2 vai ficar rodando o programa
- {
- scanf("%d", &sair);
- fflush(stdin); // isso limpa o buffer (windows)
- //__fpurge(stdin); limpa o buffer se for linux
- if(sair == 1)//se for digitado 1 sai do programa
- {
- system("cls") || ("clear"); //limpa a tela
- printf("\n\n\n\n");
- printf(" @@@@@@ @@@ @@@@ @@@@@ @@@ @@@@@ @@@@@ @@@ @ @ @@@@@@ \n @@@@@@@@ @ @ @ @ @ @ @ @ @ @ @@@@@@@@ \n@ @@@@ @ @ @ @@@@ @ @ @ @ @ @ @ @ @@@@ @\n@@@@@@@@@@ @ @ @ @@@@@ @ @@@@@ @ @ @ @ @@@@@@@@@@\n @@@@ @ @ @ @ @ @ @ @ @ @ @@@@ \n |||| @@@ @@@@ @@@@@ @@@ @@@@@ @ @@@ @@@@@ |||| \n\n\n\n\n");
- }
- else if (sair == 2) //se for 2 ele volta para o painel
- {
- painel(mat,aux);
- }
- else if ((sair !=1) || (sair != 2)) //enqianto nao for digita 1 || 2 vai ficar dando essa msg
- {
- printf("comando invalido\n");
- }
- }
- break;
- }
- }
- void gerador(int mat[M][M], int aux[M][M]) // vem a matriz de referencia do main M = Define 9
- {
- int i, j,k,x; //inicialização das variaveis locais
- srand(time(NULL)); //semeando o rand
- x=rand()%9+1; // x vai receber 1 numero aleatoria entre 1 e 9
- mat[0][0]= x; // vai preencher a primeira posição do vetor pois essa nao precisa ser comparada
- for(i=0; i<9; i++){ //vai trabalhar so na primeira linha da matriz
- for(j=0; j<9; j++) // aqui a coluna começa em 1 pois a primeiro valor ja foi atribuido
- {
- x=rand()%9+1; // x vai receber 1 numero aleatoria entre 1 e 9
- k=0; // zero o k para controle de indice
- while(k<j) //enquanto k menor j sempre vai ser
- {
- if(x == mat[i][k]) // se o numero gerado e atruibuido para x for igual ao da posição que k se encontra FAÇA
- {
- x = rand()%9 + 1; // se for igual x vai receber outro numero aleatorio
- k=0; // aqui ele zera o k para efetuar o teste dentro do while novamente
- }
- else // se ele passar por aqui é que o numero nao e igual
- {
- k=k+1; // incrementa a prosima posição da coluna
- }
- }
- mat[i][j] = x; // se chegou ate aqui e por que nao tem numero repetido e vai ser colocado na posição da matriz de J
- }
- }
- // para baixo é para linha 2 em diante
- for(i=1;i<2;i++)// AQUI PASSAMOS A PRIMEIRA LINHA ALEATORIA PARA A SEGUNDA LINHA, POREM TRES POSIÇÕES ADIANTADAS
- for(j=0;j<6;j++)
- mat[i][j] = mat[0][j+3];
- for(i=1;i<2;i++)
- for(j=6;j<9;j++)
- mat[i][j] = mat[0][j-6];
- for(i=2;i<3;i++)// AQUI PASSAMOS A PRIMEIRA LINHA ALEATORIA PARA A TERCEIRA LINHA, POREM SEIS POSIÇÕES ADIANTADAS
- for(j=0;j<3;j++)
- mat[i][j] = mat[0][j+6];
- for(i=2;i<3;i++)
- for(j=3;j<9;j++)
- mat[i][j] = mat[0][j-3]; // primeiras 3 regioes
- for(i=3;i<4;i++)// AQUI PASSAMOS A PRIMEIRA LINHA ALEATORIA PARA A QUARTA LINHA, POREM UMA POSIÇÃO ADIANTADA
- for(j=0;j<9;j++)
- mat[i][j] = mat[0][j+1];
- for(i=3;i<4;i++)
- for(j=8;j<9;j++)
- mat[i][j] = mat[0][j-8];
- for(i=4;i<5;i++)// AQUI PASSAMOS A QUARTA LINHA PARA A QUINTA, POREM TRES POSIÇÕES ADIANTADAS
- for(j=0;j<6;j++)
- mat[i][j] = mat[3][j+3];
- for(i=4;i<5;i++)
- for(j=6;j<9;j++)
- mat[i][j] = mat[3][j-6];
- for(i=5;i<6;i++)// AQUI PASSAMOS A QUARTA LINHA PARA A SEXTA, POREM SEIS POSIÇÕES ADIANTADAS
- for(j=0;j<3;j++)
- mat[i][j] = mat[3][j+6];
- for(i=5;i<6;i++)
- for(j=3;j<9;j++)
- mat[i][j] = mat[3][j-3];
- for(i=6;i<7;i++)// AQUI PASSAMOS A PRIMEIRA LINHA ALEATORIA PARA A SETIMA LINHA, POREM DUAS POSIÇÕES ADIANTADAS
- for(j=0;j<9;j++)
- mat[i][j] = mat[0][j+2];
- for(i=6;i<7;i++)
- for(j=7;j<9;j++)
- mat[i][j] = mat[0][j-7];
- for(i=7;i<8;i++)// AQUI PASSAMOS A SETIMA LINHA PARA A OITAVA LINHA, POREM TRES POSIÇÕES ADIANTADAS
- for(j=0;j<6;j++)
- mat[i][j] = mat[6][j+3];
- for(i=7;i<8;i++)
- for(j=6;j<9;j++)
- mat[i][j] = mat[6][j-6];
- for(i=8;i<9;i++)// AQUI PASSAMOS A SETIMA LINHA PARA A NONA LINHA, POREM SEIS POSIÇÕES ADIANTADAS
- for(j=0;j<3;j++)
- mat[i][j] = mat[6][j+6];
- for(i=8;i<9;i++)
- for(j=3;j<9;j++)
- mat[i][j] = mat[6][j-3];
- nivel(mat,aux); // vai passar para essa função a matriz preenchidas
- }
- void gerazerofacil(int mat[M][M],int aux[M][M]) //recebe a matriz preenchida e essa funções atribuem os zeros
- {
- int i,j,x=0,l,k,y=38; //declarações das variaveis locais
- srand(time(NULL)); //semeando o rand
- for(i=0; i<9; i++)
- {
- for(j=0; j<9; j++)
- {
- aux[i][j] = mat[i][j]; // aqui ele vai alocar a matriz mat na aux
- }
- }
- i=0;
- j=0;
- while(x <y){ // enquanto x nao for 38
- x=0;
- i=rand()%9; //sorteia um numero de 1 a 8 para posição i
- j=rand()%9;//sorteia um numero de 1 a 8 para posição j
- aux[i][j]=0; // pega o i e o j verifica a posição e aloca zero
- for(l=0; l<9; l++)
- {
- for(k=0; k<9; k++)
- {
- if(aux[l][k]==0) // percorre a matriz verificando quantos zereos tem
- {
- x=x+1; // quando o X for igual ao y ele vai sair do while senao ele volta a zera ate X for == y
- }
- }
- }
- }
- jogadas(mat,aux); //passa para a função jogadas a matriz preenchidas com os zeros
- }
- void gerazeromedio(int mat[M][M],int aux[M][M]) //recebe a matriz preenchida e essa funções atribuem os zeros
- {
- int i,j,x=0,l,k,y=44; //declarações das variaveis locais
- srand(time(NULL)); //semeando o rand
- for(i=0; i<9; i++)
- {
- for(j=0; j<9; j++)
- {
- aux[i][j] = mat[i][j]; // aqui ele vai alocar a matriz mat na aux
- }
- }
- i=0;
- j=0;
- while(x <y){ // enquanto x nao for 38
- x=0;
- i=rand()%9; //sorteia um numero de 1 a 8 para posição i
- j=rand()%9;//sorteia um numero de 1 a 8 para posição j
- aux[i][j]=0; // pega o i e o j verifica a posição e aloca zero
- for(l=0; l<9; l++)
- {
- for(k=0; k<9; k++)
- {
- if(aux[l][k]==0) // percorre a matriz verificando quantos zereos tem
- {
- x=x+1; // quando o X for igual ao y ele vai sair do while senao ele volta a zera ate X for == y
- }
- }
- }
- }
- jogadas(mat,aux); //passa para a função jogadas a matriz preenchidas com os zeros
- }
- void gerazerodificil(int mat[M][M],int aux[M][M]) //recebe a matriz preenchida e essa funções atribuem os zeros
- {
- int i,j,x=0,l,k,y=56; //declarações das variaveis locais
- srand(time(NULL)); //semeando o rand
- for(i=0; i<9; i++)
- {
- for(j=0; j<9; j++)
- {
- aux[i][j] = mat[i][j]; // aqui ele vai alocar a matriz mat na aux
- }
- }
- i=0;
- j=0;
- while(x <y){ // enquanto x nao for 38
- x=0;
- i=rand()%9; //sorteia um numero de 1 a 8 para posição i
- j=rand()%9;//sorteia um numero de 1 a 8 para posição j
- aux[i][j]=0; // pega o i e o j verifica a posição e aloca zero
- for(l=0; l<9; l++)
- {
- for(k=0; k<9; k++)
- {
- if(aux[l][k]==0) // percorre a matriz verificando quantos zereos tem
- {
- x=x+1; // quando o X for igual ao y ele vai sair do while senao ele volta a zera ate X for == y
- }
- }
- }
- }
- jogadas(mat,aux); //passa para a função jogadas a matriz preenchidas com os zeros
- }
- void jogadas (int mat[M][M], int aux[M][M])
- {
- int i,j,k,l,a,b,valor,cont=0,acabar=1,sair=0,x=0,y=0;
- int naomexe[M][M]; // essa matriz é apenas para nao mecher nos valores que ja estao impressos
- for(i=0; i<9; i++)
- {
- for(j=0; j<9; j++)
- {
- naomexe[i][j] = aux[i][j];
- }
- }
- while(acabar >0){
- acabar=1;
- printf("\n\t\t\t @@@@ @ @ @@@ @@@@ @ @ @ @\n\t\t\t @ @ @ @ @ @ @ @ @ @ @\n\t\t\t @@@@ @ @ @ @ @ @ @@ @ @\n\t\t\t @ @ @ @ @ @ @ @ @ @ @\n\t\t\t @@@@ @@@@ @@@ @@@@ @ @ @@@@\n\n \a");
- printf("\t\t\t 0 ");printf(" 1 ");printf(" 2 ");printf(" 3 ");printf(" 4 ");printf(" 5 ");printf(" 6 ");printf(" 7 ");printf(" 8 ");
- printf("\n\t\t\t -------------------------------");
- for(i=0; i<9; i++){
- printf("\n");
- if((i== 3) || (i== 6)) // quando a linha for 3 ou 6 ele vai desenhar o printf abaixo
- {
- printf("\t\t\t -------------------------------\n");
- }
- for(j=0; j<9; j++){
- if(j==0)
- {
- printf("\t\t\t%d | %d ",i, aux[i][j]);
- }
- else if((j==3) || (j==6)){
- printf("| %d ", aux[i][j]); // toda vez q linha for 0 3 ou 6 vai imprimir | antes do numero
- }
- else if(j==8)
- {
- printf(" %d |", aux[i][j]); // a mesma coisa so que a barra | no final
- }
- else{
- printf(" %d ", aux[i][j]); // se nao for nenhuma dessas condições imprime o numero normal
- }
- }}
- printf("\n");
- printf("\t\t\t -------------------------------\n\n\n");
- printf("Digite a linha e a coluna e o numero de 1 a 9\t\t\t jogadas[%d]\n",cont );
- fflush(stdin); // isso limpa o buffer (windows)
- //__fpurge(stdin); limpa o buffer se for linux
- scanf("%d %d %d", &i, &j, &valor);
- cont++;
- x=0;
- y=0;
- while(y==0)
- {
- if (naomexe[i][j] > 0)
- {
- printf("\nJogada proibida\n");
- system("pause");
- x=1;
- y=1;
- }
- for(l=i; l<=i; l++ )
- {
- for(k=0; k<9; k++)
- {
- if((valor !=0) && (valor == aux[i][k]))
- {
- printf("esse numero ja tem na linha\n\n");
- system("pause");
- y=1;
- x=1;
- cont--;
- }
- else
- {
- y=1;
- }
- }
- }
- if (naomexe[i][j] > 0)
- {
- printf("\nJogada proibida\n");
- system("pause");
- x=1;
- y=1;
- }
- for(a=0; a<9; a++ )
- {
- for(b=j; b<=j; b++)
- {
- if((valor !=0) && (valor == aux[a][b]))
- {
- printf("esse numero ja tem na coluna\n\n");
- system("pause");
- y=1;
- x=1;
- cont--;
- }
- else
- {
- y=1;
- }
- }
- }
- // teste da 3x3 teste o primeiro quadrante************************************************************************************************************
- if((i>=0 && i<=2) && (j>=0 && j<=2))
- {
- for(l=0; l<3; l++){
- for(k=0; k<3; k++){
- if((valor !=0) && (valor == aux[l][k]))
- {
- printf("esse numero ja tem na matriz 3x3\n\n");
- system("pause");
- y=1;
- x=1;
- }
- else
- {
- y=1;
- }
- }
- }
- }
- // teste da matriz de 3 a 6 na linha testa o quarto quadrante*************************************************************
- if((i>=3 && i<6) && (j>=0 && j<=2))
- {
- for(l=3; l<6; l++){
- for(k=0; k<3; k++){
- if((valor !=0) && (valor == aux[l][k]))
- {
- printf("esse numero ja tem na matriz 3x3\n\n");
- system("pause");
- y=1;
- x=1;
- cont--;
- }
- else
- {
- y=1;
- }
- }
- }
- }
- //teste da matriz de 6 a 9 TESTA O setima quadrante **************************************8
- if((i>=6 && i<9) && (j>=0 && j<=2))
- {
- for(l=6; l<9; l++){
- for(k=0; k<3; k++){
- if((valor !=0) && (valor == aux[l][k]))
- {
- printf("esse numero ja tem na matriz 3x3\n\n");
- system("pause");
- y=1;
- x=1;
- cont--;
- }
- else
- {
- y=1;
- }
- }
- }
- }
- // teste o segundo quadrante*******************************************
- if((i>=0 && i<=2) && (j>=3 && j<6))
- {
- for(l=0; l<3; l++){
- for(k=3; k<6; k++){
- if((valor !=0) && (valor == aux[l][k]))
- {
- printf("esse numero ja tem na matriz 3x3\n\n");
- system("pause");
- y=1;
- x=1;
- cont--;
- }
- else
- {
- y=1;
- }
- }
- }
- }
- // teste o terceiro quadrante*******************************************
- if((i>=0 && i<=2) && (j>=6 && j<9))
- {
- for(l=0; l<3; l++){
- for(k=6; k<9; k++){
- if((valor !=0) && (valor == aux[l][k]))
- {
- printf("esse numero ja tem na matriz 3x3\n\n");
- system("pause");
- y=1;
- x=1;
- cont--;
- }
- else
- {
- y=1;
- }
- }
- }
- }
- // teste o quinto quadrante*******************************************
- if((i>=3 && i<6) && (j>=3 && j<6))
- {
- for(l=3; l<6; l++){
- for(k=3; k<6; k++){
- if((valor !=0) && (valor == aux[l][k]))
- {
- printf("esse numero ja tem na matriz 3x3\n\n");
- system("pause");
- y=1;
- x=1;
- cont--;
- }
- else
- {
- y=1;
- }
- }
- }
- }
- // teste o sexto quadrante*******************************************
- if((i>=3 && i<6) && (j>=6 && j<9))
- {
- for(l=3; l<6; l++){
- for(k=6; k<9; k++){
- if((valor !=0) && (valor == aux[l][k]))
- {
- printf("esse numero ja tem na matriz 3x3\n\n");
- system("pause");
- y=1;
- x=1;
- cont--;
- }
- else
- {
- y=1;
- }
- }
- }
- }
- //teste da matriz de 6 a 9 TESTA O oitavo quadrante **************************************8
- if((i>=6 && i<9) && (j>=3 && j<6))
- {
- for(l=6; l<9; l++){
- for(k=3; k<6; k++){
- if((valor !=0) && (valor == aux[l][k]))
- {
- printf("esse numero ja tem na matriz 3x3\n\n");
- system("pause");
- y=1;
- x=1;
- cont--;
- }
- else
- {
- y=1;
- }
- }
- }
- }
- //teste da matriz de 6 a 9 TESTA O ultimo quadrante **************************************8
- if((i>=6 && i<9) && (j>=6 && j<9))
- {
- for(l=6; l<9; l++){
- for(k=6; k<9; k++){
- if((valor !=0) && (valor == aux[l][k]))
- {
- printf("esse numero ja tem na matriz 3x3\n\n");
- system("pause");
- y=1;
- x=1;
- cont--;
- }
- else
- {
- y=1;
- }
- }
- }
- }
- } // fim do enquanto
- while(x== 0) // sempre vai passar por aqui.. apenas se a o teste acima der erro
- {
- if(i>8)
- {
- printf("Linha ou coluna ou valor digitado errado\n");
- cont--;
- x=1;
- system("pause");
- }
- else if(j>8)
- {
- printf("Linha ou coluna ou valor digitado errado\n");
- cont--;
- x=1;
- system("pause");
- }
- else if(valor > 11)
- {
- printf("Linha ou coluna ou valor digitado errado\n");
- cont--;
- x=1;
- system("pause");
- }
- else
- {
- x=1;
- aux[i][j] = valor; // aqui recebe a jogada
- }
- }
- if((i == 10 ) || (j==10) || (valor== 10))
- {
- sair = 10;
- if(sair == 10)
- {
- system("cls") || ("clear");
- printf("Deseja realmente sair?\n\n");
- printf("Digite 1 para sim 2 para nao...\n");
- while((sair != 1) && (sair != 2)) //enquanto nao for 1 ou 2 vai ficar rodando o programa
- {
- scanf("%d", &sair);
- fflush(stdin); // isso limpa o buffer (windows)
- //__fpurge(stdin); limpa o buffer se for linux
- if(sair == 1)//se for digitado 1 sai do programa
- {
- system("cls") || ("clear"); //limpa a tela
- printf("\n\n\n\n");
- printf(" @@@@@@ @@@ @@@@ @@@@@ @@@ @@@@@ @@@@@ @@@ @ @ @@@@@@ \n @@@@@@@@ @ @ @ @ @ @ @ @ @ @ @@@@@@@@ \n@ @@@@ @ @ @ @@@@ @ @ @ @ @ @ @ @ @@@@ @\n@@@@@@@@@@ @ @ @ @@@@@ @ @@@@@ @ @ @ @ @@@@@@@@@@\n @@@@ @ @ @ @ @ @ @ @ @ @ @@@@ \n |||| @@@ @@@@ @@@@@ @@@ @@@@@ @ @@@ @@@@@ |||| \n\n\n\n\n");
- system("pause");
- exit(0);
- }
- else if (sair == 2) //se for 2 ele volta para o painel
- {
- jogadas(mat,aux);
- }
- else if ((sair !=1) || (sair != 2)) //enqianto nao for digita 1 || 2 vai ficar dando essa msg
- {
- printf("comando invalido\n");
- }
- }
- }
- }
- if((i == 99 ) || (j==99) || (valor== 99))
- {
- salvarjogo(mat,aux);
- }
- for(i=0; i<M; i++){
- for(j=0; j<M; j++)
- {
- if(aux[i][j] == 0)
- {
- acabar=acabar+1;
- }
- }
- }
- if((i == 50 ) || (j==50) || (valor== 50))
- {
- for(i=0; i<9; i++)
- {
- printf("\n");
- for(j=0; j<9; j++)
- {
- printf("| %d|",mat[i][j]);
- }
- }
- printf("\n\n");
- system("pause");
- }
- acabar=acabar-1;
- system("cls") || ("clear");
- }
- }
- /*void cronometro(int mat[M][M],int aux[M][M])
- {
- int sec=0, min=0, hr=0, p=0;
- while (p<10)
- {
- printf("\n\t %dH:%dM:%dS", hr,min,sec);
- system("cls");
- Sleep(1000); //pausa a tela por uma determinado tempo
- system("cls");
- jogadas(mat,aux);
- sec++;
- if(sec==60)
- {
- sec=0;
- min++;
- }
- if(min == 60)
- {
- min=0;
- hr++;
- }
- if(hr==24)
- {
- hr++;
- }
- }
- }*/
- int main()
- {
- int mat[M][M], aux[M][M];
- painel(mat,aux); // vai para função das opcoes do painel
- printf("\n\n\n\n\\t\t\t\tPARABENS");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement