Ir para conteúdo
Fórum Script Brasil
  • 0

Linguagem C, Preciso aprimorar o meu programa para fazer os testes de jogada a vitória e se possível fazer o programa entre o (jogador x computador). Nesse jogo de xadrez tem apenas 3 pecas de cada lado: bispo, cavalo e torre


kelly salinas

Pergunta

char xadrez [3] [3] = {   //T = torre preta, C = cavalo preto, B = bispo preto

{' ', ' ', ' '},
{' ', ' ', ' '},
{' ', ' ', ' '}
};

int main()    //  a duvida seria com relacao a colocar o jogador x computador onde o primeiro tem vez
{
int vez = 0;
int contareibranco = 0, contatorre1branco = 0, contatorre2branco = 0;
int el_AdversarioL, el_AdversarioC;
while(1)
{
pintarTelaTexto ()
int contareipreto = 0, contatorre1preto = 0, contatorre2preto = 0;
if (vez == 0) vez = 1; else vez = 0;
}
return 0;
}



int contareibranco = 0, contatorre1branco = 0, contatorre2branco = 0;
int contareipreto = 0, contatorre1preto = 0, contatorre2preto = 0;



int pintarTelaTexto () {  
system("CLS");
int lin, col, r;
for (lin=0; lin < 3; lin++) {  
for (r = 0; r < 3; r++) {
for (col=0; col < 3; col++) {  
char peca = xadrez[lin] [col];
char letra = ( (lin+col) %2 == 0) ? '\xB2' : ' ';  
letra = ( r == 1 && peca != ' ') ? peca : letra;
if ( (lin + col) %2==0){
printf("\xB2\xB2\%c\xB2\xB2", letra);  
} else {
printf("  %c   ", letra);
}
}
printf("\n");
}
printf("\n");
}
}


int moverpecas (int lo, int ld, int colo, int cold) {
int mover = 0;
char peca;
int deslvert = abs (ld - lo);
int deslhor = abs (cold - colo);  

if ( (lo >=0 && lo < 3 && colo >=0 && colo < 3) &&
(ld >=0 && ld < 6 && cold >=0 && cold < 6) )
{
peca = xadrez[lo] [colo];

if ( (peca == 'T' || peca == 't') && (deslvert == 0 || deslhor == 0)) {
mover = 1;
}
  if ( (peca == 'B' || peca == 'b') && (deslvert == deslhor )) {  
mover = 1;
}  
if ( (peca == 'C' || peca == 'c') &&  ((deslvert == 1 && deslhor == 2 ) || (deslvert == 2 && deslhor == 1))) {  
mover = 1;
}  
if (mover){
xadrez[ld] [cold] = xadrez[lo] [colo];
   xadrez[lo] [colo] = ' ';  
    return 1;
}else {
return 10;
}
} else {
return 0;
}

}

int main () {  
  int lo, ld, colo, cold;
  while (1){
  pintarTelaTexto();
printf("Digita a linha e coluna da peca que quer mover:");
scanf("%d %d", &lo, &colo);
printf("\nDigita a linha e coluna  de destino na peca:");
scanf("%d %d", &ld, &cold);
int resultado = moverpecas (lo, ld, colo, cold);
if ( resultado != 1) {
switch (resultado ) {
case 10 : printf("\n ERRO: A peca não pode ser movida dessa forma"); getch (); break;
case 0 : printf("\n ERRO: Coordenadas invalidas"); getch (); break;
case 1 : break;
}
printf ("\n Essa jogada não pode ser feita");
}
}  
 

// a minha duvida seria onde como fazer os laços de vitoria se do jogador ou computador
// como usar a parte do minimax para criar o computador jogar;
 
 
getch();
return 0;

}

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...