Jump to content

Recommended Posts

Posted

Ora Viva pessoal,

O meu problema é o seguinte não sei como criar o movimento das peças do tabuleiro de Xadrez 😛 .

tenho noção que vou ter as colunas de 1 a 8 e as linhas de A a G mas agora fazer isso mexer nao sei 🙂 .

Se alguem poder dar uma ajuda agradecia 😛

Aqui segue o meu codigo

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

#define ROWS 8
#define COLS 8

void Menu_principal();
void desenhar_op();
void back_menu();
int tabuleiro ();
void nome_jogador();
void initBoard();
void showBoard();

typedef char ChessBoardType[ROWS][COLS];


int main()
{
    Menu_principal();
}


/**
* Função para Criar MEnu Principal
*/

void Menu_principal()
{

    char opcao;
    textbackground(BLUE);
    textcolor(WHITE);
    clrscr();
    desenhar_op();
    opcao = getch();
    switch(opcao)
    {
        case 'J':
        case 'j':
        nome_jogador();
        ChessBoardType board;
        initBoard(board);
        showBoard(board);



        case 'O':
        case 'o':


        case 'S':
        case 's':
            exit;
            break;

        default :
            printf("\n\n Opção Invalida.\n\n Deseja Voltar ao menu Inicial (S/N)");
            back_menu();
    }

}

/**
* Função que Desenha opções de jogo
*/

void desenhar_op()
{
    gotoxy(28,5);
    printf("Bem Vindo ao Jogo de Xadrez\n\n\n\n\n");
    textcolor(WHITE);
    gotoxy(26,10);
    printf("- - -   Opcoes de Jogo    - - -");
    gotoxy(32,14);
    printf("[J]- player vs player");
    gotoxy(32,16);
    printf("[O]- opcoes do jogo");
    gotoxy(32,18);
    printf("[s]- Sair do jogo ");
}

/**
* Função de Voltar ao menu inicial
*/

void back_menu()
{
    char op;
    op = getch();
    switch(op)
    {
        case 'S':
        case 's':
            clrscr();
            system("PAUSE");
            Menu_principal();
            break;

        case 'N':
        case 'n':
            exit;
            break;

            default:
                printf("\n Opção invalida. O Programa vai encerrar!\n\n");
                exit;
                break;
    }
}



/**
* Função Que cria peças do Tabuleiro
*/

void initBoard(ChessBoardType cb) {
        int col;
        char ch;

        for(col=0; col<COLS; col++) {
                if (col==0 || col==7)
                {
                     ch='t';
                }
                else if (col==1 || col==6)
                {
                    ch='c';
                }
                else if (col==2 || col==5)
                {
                    ch='b';
                }
                else if (col==3)
                {
                    ch='d';
                }
                else
                {
                    ch='r';
                }

                cb[0][col] = ch;
                cb[1][col] = 'p';
                cb[2][col] = cb[3][col] = cb[4][col] = cb[5][col] = ' ';
                cb[6][col] = 'P';
                cb[7][col] = ch - 32; // Maiusculas
        }
}


/**
* Função Que mostra o Tabuleiro
*/

void showBoard(ChessBoardType cb) {
        int row, col;
        printf(" +---+---+---+---+---+---+---+---+\n");
        for(row=0; row<ROWS; row++) {
                printf(" | ");
                for(col=0; col<COLS; col++) {
                        printf("%c | ", cb[row][col]);
                }
                printf("\n +---+---+---+---+---+---+---+---+\n");
        }
}


/**
* Função de Criar o Nome dos Jogadores
*/

void nome_jogador()
{
    char P1[25];
    char P2[25];
    clrscr();
    printf("\n Introduza o Nome do Primeiro jogador.\n");
    gotoxy(2,4);
    gets(P1);
    printf("\n Introduza o Nome do Segundo jogador.\n");
    gotoxy(2,8);
    gets(P2);
    clrscr();
}
Posted

Definir um tipo especial para uma matriz de caracteres n faz mto sentido, mas tu é que sabes.

Para já, o teu tipo tabuleiro está incompleto porque se tens uma matriz de caracteres e chamas 'p' a todos os peões, como é que distingues os brancos dos pretos? (O que faz sentido é usares maiúsculas tal como fizeste para as outras peças).

Depois tens que decidir como é que vais fazer os movimentos. Se receberes comandos em notação "normal" tipo "e4", "Bc4", etc. vais ter que os interpretar para descobrir qual a peça que está a mover-se etc. e isso pode dar algum trabalho, para perceber que movimento é e se é válido.

Uma alternativa mais simples é receber a posição inicial da peça e a posição final tipo "e2-e4", depois envias isso para uma função que verifica se o movimento é válido, i.e. se a peça na posição e2 é do jogador que está a fazer o movimento e se respeita as regras do jogo (movimento correcto para a peça, o rei não fica em cheque, etc.) Se for, limitas-te a apagar a posição e2 e a colocar a peça que lá estava na posição e4, et voilà.

Não respondo a dúvidas por mensagem.

Posted

Mas eu tenho  Umas Maisculas e outras minusculas.

Deves ter visto mal.

Quanto a parte das movimentações das peças tenho que ver  ? porque não sei mesmo.

MAs o que disseste tá correcto sem duvida tambem so me vai custar fazer para a 1 pk dps é so alterar umas coisitas xD

Posted

                cb[0][col] = ch;

                cb[1][col] = 'p';

                cb[2][col] = cb[3][col] = cb[4][col] = cb[5][col] = ' ';

                cb[6][col] = 'P';

                cb[7][col] = ch - 32; // Maiusculas

Tens razões, olhei de relance e não reparei que era um P maiúsculo.

A movimentação das peças é mesmo o que te disse, garantir que a peça é do jogador e que aquela peça pode fazer aquele movimento.

Não respondo a dúvidas por mensagem.

  • 2 weeks later...
Posted
#include <stdio.h>
#include <stdlib.h>
#include <conio2.h>
char da_lincol[2],para_lincol[2];
void imprime(char tab[8][8],int mat_tabuleiro[8][8]);
int tamanho_errado();
int coluna_errada();
int linha_errada();
int sem_peca_erro();
int peca_adversario();
int sem_movimento();
int teste_mov_peao(int mat_tabuleiro[8][8],int l,int l1, int c, int c1);
int teste_mov_torre(int l,int l1, int c, int c1);
int teste_mov_rainha(int l,int l1, int c, int c1);
int teste_mov_rei(int mat_tabuleiro[8][8],int l,int l1, int c, int c1);
int teste_mov_cavalo(int l,int l1, int c, int c1);
int teste_mov_bispo(int l,int l1, int c, int c1);

int main(int argc, char *argv[])
{




/* 		formatar matriz com as peças */
/* 		    BRANCAS	    : 1-rei, 2-rainha, 3-bispo, 4-cavalo, 5-torre, 6-peao*/
/* 		    PRETAS  	: 7-rei, 8-rainha, 9-bispo, 10-cavalo, 11-torre, 12-peao*/


/* segurança do tabuleiro
int mat_tabuleiro [8][8]={{5,4,3,2,1,3,4,5},{6,6,6,6,6,6,6,6},{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{12,12,12,12,12,12,12,12},{11,10,9,7,8,9,10,11}};   */
char* nome_peca[] = {" ","Peao","Torre","Cavalo","Bispo","Rainha","Rei"};

int teste; /* Variavel para testes de verdade */
int z,l,c,l1,c1; /* variaveis provisorias de e para linha e coluna */

int i,i1;

int mat_tabuleiro [8][8]={{5,4,3,2,1,3,4,5},{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,3,0,2,0,9,0,9},{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{12,12,12,12,12,12,12,12},{11,10,9,7,8,9,10,11}};
char tab[8][8]={{'T','C','B','D','R','B','C','T'},{'P','P','P','P','P','P','P','P'}};
/* armazena nome da peca */
int brc_prt; /*valores lógicos para pedra branca (1) ou preta(0)*/
/* Fazer jogada DE */

for(z=0;z<10000;z++)
{
teste=1;
do
{
        /*                      JOGAR DE                              */
        system("CLS");
        printf("Linha e coluna de onde quer mover   :");
        scanf("%s",da_lincol);
        if(strlen(da_lincol)!=2)/* testa o comprimento da variavel*/
        teste= tamanho_errado;           /*Chama função de tamanho errado  */
        else teste=0;
        /* converte letras em numeros e testa validade das colunas*/
        if (teste==0)
        {
            switch(da_lincol[1])
            {
                  case 'a':da_lincol[1]='1';break;
                  case 'A':da_lincol[1]='1';break;
                  case 'b':da_lincol[1]='2';break;
                  case 'B':da_lincol[1]='2';break;
                  case 'c':da_lincol[1]='3';break;
                  case 'C':da_lincol[1]='3';break;
                  case 'd':da_lincol[1]='4';break;
                  case 'D':da_lincol[1]='4';break;
                  case 'e':da_lincol[1]='5';break;
                  case 'E':da_lincol[1]='5';break;
                  case 'f':da_lincol[1]='6';break;
                  case 'F':da_lincol[1]='6';break;
                  case 'g':da_lincol[1]='7';break;
                  case 'G':da_lincol[1]='7';break;
                  case 'h':da_lincol[1]='8';break;
                  case 'H':da_lincol[1]='8';break;
                  default:
                   teste = coluna_errada;     /*Chama função de coluna errada */
                  }
                  }
                  /* Teste ás linhas, tem de ser entre 1 e 8 */
        if (teste==0)
                  {
                        /* if (da_lincol[0]!='1'&&da_lincol[0]!='2'&&da_lincol[0]!='3'&&da_lincol[0]!='4'&&da_lincol[0]!='5'&&da_lincol[0]!='6'&&da_lincol[0]!='7'&&da_lincol[0]!='8') */
                    if(da_lincol[0]<'1'||da_lincol[0]>'8')
                            {
                                    teste=linha_errada; /* Chama função de coordenada errada pois a linha não tem um valor valido*/
                            }
                                }

                        /*testa se existe peca na casa pretendida */
                                if (teste==0)
                                            {
                                             l=da_lincol[0]-49;c=da_lincol[1]-49;  /* Coloca a matriz da jogada nas variaveis lc */
                                             if (mat_tabuleiro[l][c]==0)        /* Nao existe pedra na casa selecionada */
                                             teste=sem_peca_erro;
                                              }

                                            /* variavel brc_prt=1 peca branca brc_prt=0 peca preta */
                                             if (teste==0)
                                                    {
                                                     if (mat_tabuleiro[l][c]<7)
                                                     brc_prt=1;
                                                     else
                                                     brc_prt=0;
                                                    /*testa se a peca é do jogador*/
                                                            if (brc_prt==0)
                                                                teste=peca_adversario;
                                                                   }
                                                                        }
                                                                          while (teste==1);
                                                                          system("PAUSE");

/*_______________________________________________________________________________________*/
/* Fazer jogada PARA */
teste=1;
do
{
        /*                      JOGAR DE                              */
        system("CLS");
        printf("Linha e coluna para onde quer mover   :");
        scanf("%s",para_lincol);
        if(strlen(para_lincol)!=2)            /* testa o comprimento da variavel*/
        teste=tamanho_errado;             /*Chama função de tamanho errado  */
        else teste=0;
        /* converte letras em numeros e testa validade das colunas*/
        if (teste==0)
        {
                  switch(para_lincol[1])
                  {
                                        case 'a':para_lincol[1]='1';
                                                break;
                                        case 'A':para_lincol[1]='1';
                                                break;
                                        case 'b':para_lincol[1]='2';
                                                break;
                                        case 'B':para_lincol[1]='2';
                                                break;
                                        case 'c':para_lincol[1]='3';
                                                break;
                                        case 'C':para_lincol[1]='3';
                                                break;
                                        case 'd':para_lincol[1]='4';
                                                break;
                                        case 'D':para_lincol[1]='4';
                                                break;
                                        case 'e':para_lincol[1]='5';
                                                break;
                                        case 'E':para_lincol[1]='5';
                                                break;
                                        case 'f':para_lincol[1]='6';
                                                break;
                                        case 'F':para_lincol[1]='6';
                                                break;
                                        case 'g':para_lincol[1]='7';
                                                break;
                                        case 'G':para_lincol[1]='7';
                                                break;
                                        case 'h':para_lincol[1]='8';
                                                break;
                                        case 'H':para_lincol[1]='8';
                                                break;
                                        default:
                                            teste=coluna_errada;     /*Chama função de coluna errada */
                                        }
                                        }
                                        /* Teste ás linhas, tem de ser entre 1 e 8 */
                                        if (teste==0)
                                        {
                                                     if (para_lincol[0]!='1'&&para_lincol[0]!='2'&&para_lincol[0]!='3'&&para_lincol[0]!='4'&&para_lincol[0]!='5'&&para_lincol[0]!='6'&&para_lincol[0]!='7'&&para_lincol[0]!='8')
                                                     teste=linha_errada; /* Chama função de coordenada errada pois a linha não tem um valor valido*/
                                                     }
                                                     l1=para_lincol[0]-49;c1=para_lincol[1]-49;  /* Coloca a matriz da jogada nas variaveis lc */
                                                     if (l==l1&&c==c1)
                                                     teste=sem_movimento; /* Chama função de erro pois não houve um movimento da peca*/
                                                     /*testa se a jogada e valida para o rei */
                                                     if (teste==0)
                                                     {

                                                                  switch (mat_tabuleiro[l][c])
                                                                  {
                                                                         case 1:teste=teste_mov_rei(mat_tabuleiro,l,l1,c,c1);
                                                                                break;
                                                                         case 2:teste=teste_mov_rainha(l,l1,c,c1);
                                                                                break;
                                                                         case 3:teste=teste_mov_bispo(l,l1,c,c1);
                                                                                break;
                                                                         case 4:teste=teste_mov_cavalo(l,l1,c,c1);
                                                                                break;
                                                                         case 5:teste=teste_mov_torre(l,l1,c,c1);
                                                                                break;
                                                                         case 6:teste=teste_mov_peao(mat_tabuleiro,l,l1,c,c1);
                                                                                break;
                                                                         }
                                                                         }
                                                                         }
                                                                         while (teste==1);





                                                                         mat_tabuleiro[l1][c1]=mat_tabuleiro[l][c];
                                                                         mat_tabuleiro[l][c]=0;



imprime(tab,mat_tabuleiro);
}

                                                                          } /*  FIM DA MAIN()*/

/*_______________________________________________________________________________________________*/




/*               Funcao que devolve um aviso de erro de tamanho */
int tamanho_errado()
{
                int i;
                system("CLS");
                printf("So pode introduzir DOIS CARACTERES!!!\a\n\n");
                system("PAUSE");
                return 1;
                }
/*               Funcao que devolve um aviso de erro de coluna*/
int coluna_errada()
{
               int i;
               system("CLS");
               printf("A COLUNA tem de estar entre A-H !!!\a\n\n");
               system("PAUSE");
               return 1;
               }
/*               Funcao que devolve um aviso de erro de linha*/
int linha_errada()
{
              int i;
              system("CLS");
              printf("A LINHA tem de estar entre 1-8 !!!\a\n\n");
              system("PAUSE");
              return 1;
}



/*              Funcao que devolve um aviso de erro de peca vazia */
int sem_peca_erro()
{
               int i;
               system("CLS");
               printf("Nessa posicao nao existe peca para jogar !!!\a\n\n");
               system("PAUSE");
               return 1;
               }

/*              Funcao que nega jogo com pecas do adversario*/
int peca_adversario()
{
                 int i;
                 system("CLS");
                 printf("So pode jogar com as suas pecas !!!\a\n\n");
                 system("PAUSE");
                 return 1;
                 }

/*              Funcao que nega jogo para a propria casa*/
int sem_movimento()
{
               int i;
               system("CLS");
               printf("Nao movimentou a peca !!!\a\n\n");
               system("PAUSE");
               return 1;
               }





/*               Funcao de teste ao movimeto do rei */
int teste_mov_rei(int mat_tabuleiro[8][8],int l,int l1, int c, int c1)
{

                  /* testa se o movimento e valido e se e para casa vazia*/
                  if(l1==l+1&&c==c1&&mat_tabuleiro[l1][c1]==0||l1==l+1&&c1==c-1&&mat_tabuleiro[l1][c1]==0||l1==l&&c1==c-1&&mat_tabuleiro[l1][c1]==0||l1==l-1&&c1==c-1&&mat_tabuleiro[l1][c1]==0||l1==l-1&&c1==c&&mat_tabuleiro[l1][c1]==0||l1==l-1&&c1==c+1&&mat_tabuleiro[l1][c1]==0||l1==l&&c1==c+1&&mat_tabuleiro[l1][c1]==0||l1==l+1&&c1==c+1&&mat_tabuleiro[l1][c1]==0)
                  return 0;
                  /*testa se o movimento e valido e se captura peca */
                        if(l1==l+1&&c==c1&&mat_tabuleiro[l1][c1]>6)
                            {
                            return 0;
                            }

                        if(l1==l+1&&c1==c-1&&mat_tabuleiro[l1][c1]>6)
                            {
                            return 0;
                            }

                        if(l1==l&&c1==c-1&&mat_tabuleiro[l1][c1]>6)
                            {
                            return 0;
                            }
                        if(l1==l-1&&c1==c-1&&mat_tabuleiro[l1][c1]>6)
                            {
                           return 0;
                            }
                        if(l1==l-1&&c1==c&&mat_tabuleiro[l1][c1]>6)
                            {
                            return 0;
                            }
                        if(l1==l-1&&c1==c+1&&mat_tabuleiro[l1][c1]>6)
                            {
                            return 0;
                            }
                        if(l1==l&&c1==c+1&&mat_tabuleiro[l1][c1]>6)
                            {
                            return 0;
                            }
                        if(l1==l+1&&c1==c+1&&mat_tabuleiro[l1][c1]>6)
                        {
                            return 0;
                            }
                                system("CLS");
                                printf("Essa jogada nao e valida para o rei !!!\a\n\n");
                                system("PAUSE");
                                return 1;
}

/*               Funcao de teste ao movimeto da rainha */
int teste_mov_rainha(int l,int l1, int c, int c1)
{
                     int i,i1;
                     /* testa na horizontal */
                     for (i=0;i<8;i++)
                     {
                         if (l1==l&&c1==i)
                         return 0;
                         }
                         /* testa na vertical */
                         for (i=0;i<8;i++)
                         {
                             if (l1==i && c1==c)
                             return 0;
                             }
                             /*teste na diagona para a direita + */
                             i1=c+1;
                             for(i=l+1;i<8;i++)
                             {
                                               if(i1==8)
                                               break;
                                               if(l1==i&&c1==i1)
                                               return 0;
                                               i1=i1+1;
                                               }
                                               /*teste na diagonal para a direita - */
                                               i1=c-1;
                                               for(i=l-1;i>-1;i=i-1)
                                               {
                                                                    if(i1==-1)
                                                                    break;
                                                                    if(l1==i &&c1==i1)
                                                                    return 0;
                                                                    i1=i1-1;
                                                                    }
                                                                    /*teste na diagona para a esquerda + */
                                                                    i1=c-1;
                                                                    for(i=l+1;i<8;i++)
                                                                    {
                                                                                      if(i1==-1)
                                                                                      break;
                                                                                      if(l1==i&&c1==i1)
                                                                                      return 0;
                                                                                      i1=i1-1;
                                                                                      }
                                                                                      /*teste na diagonaL para a esquerda - */
                                                                                      i1=c+1;
                                                                                      for(i=l-1;i>-1;i=i-1)
                                                                                      {
                                                                                                           if(i1==8)
                                                                                                           break;
                                                                                                           if(l1==i&&c1==i1)
                                                                                                           return 0;
                                                                                                           i1=i1+1;
                                                                                                           }
                                                                                                           /* jogada inválida */
                                                                                                           system("CLS");
                                                                                                           printf("Esse movimento nao e válido para a rainha !!!\a\n\n");
                                                                                                           system("PAUSE");
                                                                                                           return 1;
                                                                                                           }
/*               Funcao de teste ao movimeto do bispo */
int teste_mov_bispo(int l,int l1, int c, int c1)
{
                    int i,i1;
                    /*teste na diagona para a direita + */
                    i1=c+1;
                    for(i=l+1;i<8;i++)
                    {
                                      if(i1==8)
                                      break;
                                      if(l1==i&&c1==i1)
                                      return 0;
                                      i1=i1+1;
                                      }
                                      /*teste na diagona para a direita - */
                                      i1=c-1;
                                      for(i=l-1;i>-1;i=i-1)
                                      {
                                                           if(i1==-1)
                                                           break;
                                                           if(l1==i &&c1==i1)
                                                           return 0;
                                                           i1=i1-1;
                                                           }
                                                           /*teste na diagona para a esquerda + */
                                                           i1=c-1;
                                                           for(i=l+1;i<8;i++)
                                                           {
                                                                             if(i1==-1)
                                                                             break;
                                                                             if(l1==i&&c1==i1)
                                                                             return 0;
                                                                             i1=i1-1;
                                                                             }
                                                                             /*teste na diagona para a esquerda - */
                                                                             i1=c+1;
                                                                             for(i=l-1;i>-1;i=i-1)
                                                                             {
                                                                                                  if(i1==8)
                                                                                                  break;
                                                                                                  if(l1==i&&c1==i1)
                                                                                                  return 0;
                                                                                                  i1=i1+1;
                                                                                                  }
                                                                                                  /* jogada inválida */
                                                                                                  system("CLS");
                                                                                                  return 1;
                                                                                                  }
/*               Funcao de teste ao movimeto do cavalo */
int teste_mov_cavalo(int l,int l1, int c, int c1)
{
                     if(c1==c+2&&l1==l+1||c1==c+2&&l1==l-1||c1==c-2&&l1==l+1||c1==c-2&&l1==l-1||l1==l+2&&c1==c+1||l1==l+2&&c1==c-1||l1==l-2&&c1==c+1||l1==l-2&&c1==c-1)
                     return 0;  /* Faz o teste e retorna 0=valido*/
                     else
                     {
                         system("CLS");
                         printf("Essa jogada nao e valida para o Cavalo !!!\a\n\n");
                         system("PAUSE");
                         return 1;
                         }
                         }
/*               Funcao de teste ao movimeto da torre */
int teste_mov_torre(int l,int l1, int c, int c1)
{
                     int i,i1;
    /* testa na horizontal */
                      for (i=0;i<8;i++)
                      {
                          if (l1==l&&c1==i)
                          return 0;
                          }
   /* testa na vertical */
                      for (i=0;i<8;i++)
                      {
                          if (l1==i && c1==c)
                          return 0;
                          }
                             /* jogada inválida */

           system("CLS");
printf("Esse movimento nao e válido para a torre !!!\a\n\n");
system("PAUSE");
return 1;
                      }

/*               Funcao de teste ao movimeto do peao */
int teste_mov_peao(int mat_tabuleiro[8][8],int l,int l1, int c, int c1)
{
                   int i,i1;
                   /* testa na vertical */
                   if(mat_tabuleiro[l+1][c+1]>6&&l1==l+1&&c1==c+1) /*capturou na diagonal direita*/
                        {
                       return 0;
                            }
                   if(mat_tabuleiro[l+1][c-1]>6&&l1==l+1&&c1==c-1) /*capturou na diagonal esquerda*/
                        {
                        return 0;
                            }
                    if(mat_tabuleiro[l+1][c+1]<7&&mat_tabuleiro[l+1][c-1]<7&&l1==l+1&&c==c1&&mat_tabuleiro[l1][c1]==0) /* jogou validamente uma casa para a frente*/
                        {
                        return 0;
                            }
                    if(l=1&&mat_tabuleiro[l+1][c+1]<7&&mat_tabuleiro[l+1][c-1]<7&&l1==l+2&&c==c1&&mat_tabuleiro[l1][c1]==0) /* jogou validamente duas casas para a frente*/
                        {
                        return 0;
                            }
                                {
                                    }
                    /* jogada inválida */
                    system("CLS");
                    printf("Esse movimento nao e valido para o Peao !!!\a\n\n");
                    system("PAUSE");
                    return 1;
    }

/* Funcao de impressao do tabuleiro*/

void imprime(char tab[8][8],int mat_tabuleiro[8][8])
{
int lin,col;
int s=8;
for(lin=0;lin<8;lin++)
{
                printf(" %d  ",s--);
                      for (col=0;col<8;col++)
                      {

                          if( mat_tabuleiro[lin][col]==1)
                          tab[lin][col]='R';


                          if( mat_tabuleiro[lin][col]==2)
                          tab[lin][col]='D';


                          if( mat_tabuleiro[lin][col]==3)
                          tab[lin][col]='B';

                          if( mat_tabuleiro[lin][col]==4)
                          tab[lin][col]='C';

                          if( mat_tabuleiro[lin][col]==5)
                          tab[lin][col]='T';

                          if( mat_tabuleiro[lin][col]==6)
                          tab[lin][col]='6';

                          if( mat_tabuleiro[lin][col]==0)
                          tab[lin][col]=' ';


                      printf("|_%c_",tab[lin][col]);



                      }
                      printf("|");
                      printf("\n\n");
}
  printf("      A   B   C   D   E   F   G   H");
   printf("\n\n");




  system("PAUSE");
  return 0;
}

Esta o meu codigo de xadrez ta quase completo , tipo complica mas nao faz movimentações nem aparece o tabuleiro.

Ja ando as voltas e nada 😉

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.