Ir ao conteúdo

RVINI88

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

Tudo que RVINI88 postou

  1. Muito Obrigado
  2. Obrigado pela resposta, to iniciando nesse mundo. acho que deu ruim no copy cola, eu anexei a imagem do tabuleiro no codigo que eu tenho aqui. eu consigo saber os caracteres de cada jogador mas assim que ocorre a primeira jogada o caracter vira interrogação, ai no decorrer do jogo é difícil saber qual peça é de quem. Eu precisava que ao mover as peças os caracteres fossem mantidos. Tentei aplicar uma função de cor pra pelo menos saber por cor mas tb sem sucesso. codigo v4.txt
  3. Boa tarde rapaziada. Estou com um jogo de damas em C rodando, só que quando a peça muda de casa, independente do jogador, ela fica com um simbolo "?". #include <stdio.h> #include <stdlib.h> #include <conio.h> struct{ char jog1[20], jog2[20], ganhador[20]; int cont1, cont2, pont_max; }dama; FILE *historico; void jogador1(char matriz[8][8],char jogador, int oposto) { system("color 79"); int i,j,l,c,li,co,opcao=0; do { system("cls"); if(jogador==1) printf("\n\n---------------- A VEZ E A DO JOGADOR PECA @ ----------\n\n\n\n"); if(jogador==2) printf("\n\n---------------- A VEZ E A DO JOGADOR PECA # ------------\n\n\n\n"); printf("\t \t\t 0 1 2 3 4 5 6 7 \n"); for(i=0;i<8;i++) { printf("\n\t\t\t%d ",i); for(j=0;j<8;j++) printf("%c ",matriz[j]); } printf("\n\n\t*************** CORDENADA DA PECA **********************"); printf("\n\tLINHA: "); scanf("%d",&l); printf("\n\tCOLUNA: "); scanf("%d",&c); printf("\n\n\t****COORDENADA DA POSICAO QUE A PECA VAI OCULPAR****"); printf("\n\tLINHA: "); scanf("%d",&li); printf("\n\tCOLUNA: "); scanf("%d",&co); if((li+co)%2==0) { if((jogador==1&&l<li)||(jogador==2&&l>li)) { printf("linha\n"); if(c-1==co||c+1==co) { if(co==c-1) { matriz[li][co] = jogador; matriz[l][c] = 0; opcao++; } if(co==c+1) { matriz[li][co] = jogador; matriz[l][c] = 0; opcao++; } } if(matriz[l+1][c+1]==oposto) { if(c+2==co) { matriz[li][co] = jogador; matriz[l][c] = 0; opcao++; matriz[l+1][c+1]=0; } } if(matriz[l+1][c-1]==oposto) { if(c-2==co) { matriz[li][co] = jogador; matriz[l][c] = 0; matriz[l+1][c-1]=0; opcao++; } } if(matriz[l-1][c+1]==oposto) { if(c+2==co) { matriz[li][co] = jogador; matriz[l][c] = 0; opcao++; matriz[l-1][c+1]=0; } } if(matriz[l-1][c-1]==oposto) { if(c-2==co) { matriz[li][co] = jogador; matriz[l][c] = 0; matriz[l-1][c-1]=0; opcao++; } } } else printf("\n\n\t\t__________MOVIMENTO INVALIDO!!_________\n\t\t_________TENTE NOVAMENTE________\n"); } system("pause"); }while(opcao!=1); } void ganhador(char matriz[8][8]) { int i,j; for(i=0;i<8;i++) for(j=0;j<8;j++) { if(matriz[j]==2) dama.cont1++; if(matriz[j]==1) dama.cont2++; } if(dama.cont1>dama.cont2) { printf("\n\tVENCEDOR........-> %s TOTAL DE PECAS: %d\n\n",dama.jog1,dama.cont1); strcpy(dama.ganhador, dama.jog1); dama.pont_max=dama.cont1; } else { if(dama.cont1<dama.cont2) { printf("\n\tVENCEDOR........-> %s TOTAL DE PECAS: %d\n\n",dama.jog2,dama.cont2); strcpy(dama.ganhador, dama.jog2); dama.pont_max=dama.cont2; } else{ printf("\n\tEmpate!\n\t%s: %d\n\t%s: %d\n\n\n",dama.jog1,dama.cont1,dama.jog2,dama.cont2); strcpy(dama.ganhador,"jogo empatado"); dama.pont_max=dama.cont2; } } } void registro(void){ fwrite(&dama, sizeof(dama), 1, historico); } void escreve(void){ rewind(historico); while(fread(&dama, sizeof(dama), 1, historico)==1)//LER A INFORMACAO ATE A ULTIMA. printf("\nJogador peca preta: %s\nJogador peca branca: %s\nVencedor: %s Total de pecas: %d\n\n",dama.jog1, dama.jog2, dama.ganhador, dama.pont_max); } int main(int argc, char *argv[]) { char opcao2; char matriz[8][8]; int i,j, jogador=2,oposto=1,opcao=0; dama.cont1=dama.cont2=0; historico=fopen("Historico_dama.bin", "ab+"); matriz[0][0]= '@'; matriz[0][1]= 178; matriz[0][2]= '@'; matriz[0][3] = 178; matriz[0][4] = '@'; matriz[0][5]= 178; matriz[0][6]= '@'; matriz[0][7]= 178; matriz[1][0]= 178; matriz[1][1]= '@'; matriz[1][2]= 178; matriz[1][3] = '@'; matriz[1][4] = 178;matriz[1][5]= '@'; matriz[1][6]= 178; matriz[1][7]= '@'; matriz[2][0]= '@'; matriz[2][1]= 178; matriz[2][2]= '@'; matriz[2][3] = 178; matriz[2][4] = '@'; matriz[2][5]= 178; matriz[2][6]= '@'; matriz[2][7]= 178; matriz[3][0]= (178); matriz[3][1] = 0; matriz[3][2]= 178; matriz[3][3] = 0; matriz[3][4] = 178;matriz[3][5]= 0; matriz[3][6]= 178; matriz[3][7]= 0; matriz[4][0]=0; matriz[4][1]= 178; matriz[4][2]= 0; matriz[4][3] = 178; matriz[4][4] = 0; matriz[4][5]= 178; matriz[4][6]= 0; matriz[4][7]= 178; matriz[5][0]= 178; matriz[5][1]= '#'; matriz[5][2]= 178; matriz[5][3] = '#'; matriz[5][4] = 178;matriz[5][5]= '#'; matriz[5][6]= 178; matriz[5][7]= '#'; matriz[6][0]= '#'; matriz[6][1]= 178; matriz[6][2]= '#'; matriz[6][3] = 178; matriz[6][4] = '#'; matriz[6][5]= 178; matriz[6][6]= '#'; matriz[6][7]= 178; matriz[7][0]= 178; matriz[7][1]= '#'; matriz[7][2]= 178; matriz[7][3] = '#'; matriz[7][4] = 178;matriz[7][5]= '#'; matriz[7][6]= 178; matriz[7][7]= '#'; do{ system("color 79"); printf("\tEscolha uma das op%c%ces abaixo:\n\n",135,228); printf("\t%c A Jogar.\n\t%c B Sair.\n\n"); printf("\tOp%c%co: ",135,198); scanf("%s",&opcao2); system("cls"); switch(opcao2){ case 'A' : case 'a': system("color 79"); printf("\n\n\t\t\tPersistindo o empate o jogo pode terminar por tempo....."); printf("\n\n\n"); printf("\n\n\n\t\t Bom Jogo"); printf("\n\n\n"); system("pause"); system("cls"); system("color 79"); printf("\n\n\t\tINFORME O NOME DO JOGADOR PECA #:\n\n\t\t\t\t");//NOME DOS JOGADORES.. scanf("%s",dama.jog1); printf("\n\n\t\tINFORME O NOME DO JOGADOR PECA @:\n\n\t\t\t\t ");//NOME DOS JOGADORES.. scanf("%s",dama.jog2); int tempo = clock(); while(clock()-tempo<500000000) { jogador=1;oposto=2; jogador1(matriz,jogador,oposto); jogador=2;oposto=1; jogador1(matriz,jogador,oposto); } system("cls"); system("color 79"); printf("\n\t\t..........O Tempo Acabou...........\n\n\n"); ganhador(matriz); registro(); system("pause"); system("cls"); break; case 'B': case'b': system("color 79"); printf("\n\n\n\n\t\t\t FIM DO JOGO\n\n\n\n\n");exit(0); break; default: system("cls"); printf("Digite A para jogar ou B para sair\n\n\n\n\n"); } }while (opcao2= 'A'); system("PAUSE"); return 0; } Já tentei de tudo e não achei a solução. Agradeço a quem possa ajudar.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!