Ir ao conteúdo
  • Cadastre-se
SantosRodrigues00

C Ajudaa.... Arquivar jogo da velha

Posts recomendados

Olá, pessoal preciso de um help.

tenho um jogo da velha já pronto, bem simples.

mas agora preciso que ele guarde as informações, e não estou conseguindo a solução.

implementar o jogo da velha
com a possibilidade de parar a qualquer momento.
e depois recomeçar quando desejar, fazer com arquivo texto ou binário

Segue o código:

#include <stdio.h>
#include <stdlib.h>


char tela[3][3];
int i, j, x, y, teste=1, pl, velha=0;

void display(void);
void teste_trinca(int pl);
void play1(void);
void play2(void);


int main()
{//abre main()
   for(i=0;i<3;i++)//for1
      for(j=0;j<3;j++)//for2
         tela[i][j]=' ';

      while(teste!=0)//while1
      {//abre while teste

         if(teste!=0)
         {//abre if play1

            play1();
            if(tela[x][y]==' ')//if menor
            {//abre if menor
               tela[x][y]='X';
               system("cls");
               velha++;
        teste_trinca(pl);
            }//fecha if menor
            else
            {
               system("cls");
               printf("já esta sendo usada essa possisao!!\n");
               system("cls");
               play1();
            }


         }//fecha if play1
         if(teste!=0)
         {//abre if play2

            play2();
            if(tela[x][y]==' ')
            {
               velha++;
               tela[x][y]='O';
               system("cls");
               teste_trinca(pl);
            }
            else
            {
               system("cls");
               printf("já esta sendo usada essa possisao!!\n");
               system("cls");
               play2();
            }


         }//fecha if play

        }//fecha while teste

}//fecha main()

void display(void)
{//abre tela()
   printf("   1   2   3   Y\n");
   printf(" 1 %c | %c | %c \n",tela[0][0],tela[0][1],tela[0][2]);
   printf("  ---|---|--- \n ");
   printf("2 %c | %c | %c \n",tela[1][0],tela[1][1],tela[1][2]);
   printf("  ---|---|--- \n ");
   printf("3 %c | %c | %c \n",tela[2][0],tela[2][1],tela[2][2]);

   printf("X\n");

}//fecha tela()

void teste_trinca(int pl)
{//abre teste
   /*-------------TESTA NA HORIZONTAL--------*/
         if(x==0)
         if((tela[0][0]==tela[0][1]) && (tela[0][1]==tela[0][2]))
         {//if1
            display();
            printf("JOGADOR **%i** GANHOU!! \n",pl);
         teste=0;
         }//if1

         if(x==1)
         if((tela[1][0]==tela[1][1]) && (tela[1][1]==tela[1][2]))
         {//if2
            display();
            printf("JOGADOR **%i** GANHOU!! \n",pl);
            teste=0;
         }//if2
         if(x==2)
         if((tela[2][0]==tela[2][1]) && (tela[2][1]==tela[2][2]))
         {//if3
            display();
            printf("JOGADOR **%i** GANHOU!! \n",pl);
            teste=0;
         }//if3
         /*----------TESTA NA VERTICAL--------*/

         if(y==0)
         if((tela[0][0]==tela[1][0]) && (tela[1][0]==tela[2][0]))
         {//if1
            display();
            printf("JOGADOR **%i** GANHOU!! \n",pl);
            teste=0;
         }//if1

         if(y==1)
         if((tela[0][1]==tela[1][1]) && (tela[1][1]==tela[2][1]))
         {//if2
            display();
            printf("JOGADOR **%i** GANHOU!! \n",pl);
            teste=0;
         }//if2
         if(y==2)
         if((tela[0][2]==tela[1][2]) && (tela[1][2]==tela[2][2]))
         {//if3
            display();
            printf("JOGADOR **%i** GANHOU!! \n",pl);
            teste=0;
         }//if3


         if(((x==0)&&(y==0))||((x==1)&&(y==1))||((x==2)&&(y==2)))
         {
         if((tela[0][0]==tela[1][1]) && (tela[0][0]==tela[2][2]))
         {
            display();
            printf("JOGADOR **%i** GANHOU!! \n",pl);
            teste=0;
         }
         }


         if(((x==0)&&(y==2))||((x==1)&&(y==1))||((x==2)&&(y==0)))
         {
         if((tela[0][2]==tela[1][1]) && (tela[0][2]==tela[2][0]))
         {
            display();
            printf("JOGADOR **%i** GANHOU!! \n",pl);
            teste=0;
         }
         }
            /*----------TESTA NA DIAGONAL--------*/

            else

            if(tela[0][0] == tela[1][1] && tela[1][1] == tela[2][2] && tela[0][0] != ' ')
          {
            display();
            printf("JOGADOR **%i** GANHOU!! \n",pl);
            teste=0;

          }
          else if(tela[2][0] == tela[1][1] && tela[1][1] == tela[0][2] && tela[2][0] != ' ')
          {
            display();
            printf("JOGADOR **%i** GANHOU!! \n",pl);
            teste=0;

          }

}//fecha teste

void play1(void)
{//abre play1
   display();
   printf("Jogador 1: Digite a coordenada **X**: ");
   scanf("%i",&x);
   printf("Jogador 1: Digite a coordenada **Y**: ");
   scanf("%i",&y);
   pl=1;
   x--;
   y--;

}//fecha play1

void play2(void)
{//abre play2
   display();
   printf("Jogador 2: Digite a coordenada **X**: ");
   scanf("%i",&x);
   printf("Jogador 2: Digite a coordenada **Y**: ");
   scanf("%i",&y);
   pl=2;
   x--;
   y--;

}//fecha play2

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@SantosRodrigues00    você pode gravar em um arquivo de texto ,  então você precisa criar o arquivo e colocar nele a matriz onde estão gravados os dados do jogo ,  no caso o char tela ,  e no início pega esse dados que estão no arquivo e coloca novamente na matriz tela , e continua de onde parou .

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...