Pesquisar na Comunidade
Mostrando resultados para as tags ''xadrez''.
Encontrado 4 registros
-
Bom dia/tarde/noite. Eu sou o Dfop, sou aluno de T.I. gostaria de pedir a ajuda de vocês para desenvolver uma inteligência artificial para os jogadores poderem jogar contra. Nos meus estudos, eu consegui desenvolver o jogo e uma I.A. bem simples, qualquer jogador pouco experiente em xadrez a derrotaria facilmente, porém talvez seja um desafio bacana aos novatos, e eu gostaria de aprimora-la a ponto de que seja realmente um desafio até aos mais experientes jogadores, pensei em desenvolver essa parte por meio de uma rede neural, onde posso botar duas IA para jogarem uma contra a outra na expectativa que sua experiencia em movimentos e jogadas sejam aprimoradas com cada derrota, e assim consiga melhorar, porém é um assunto complexo até para mim, dei uma estudada sobre o tema um pouco e não consegui me adaptar ainda, caso alguém saiba mais sobre, por favor diga se é viável. Caso a rede neural esteja fora de opção, este é o esquema da IA que eu tentei propor até o momento: Uma função pega todas as jogadas possíveis do computador, vou chama-lo de computer, e então os salva em uma lista de movimentos, cada movimento é pontuado de a acordo com a importância da peça que ele pode matar, no próximo passo eu vou simular 5 jogadas a frente para tentar descobrir qual a melhor opção no momento (o que tiver maior pontuação, ou seja, eliminar mais peças do q ser eliminado), e assim no final escolher a de maior pontuação. A grosso modo basicamente é isso, alguém pode me ajudar a melhorar o desempenho dela? O código em si é complicado de mostrar pois cada um tem seu modo de visualizar e escreve-lo, então prefiro explicar assim pois fica mais acessível a todos que puderem ajudar.
-
Eu estou fazendo um xadrez como trabalho pra faculdade, e queria fazer a IA dele pra além de ser player 1 vs player 2, tenha player vs comp. Acontece que não faço a menor ideia de como fazer, alguém pode me dar uma luz de como fazer o comp jogar sozinho?
-
Olá programadores de C inteligentes, eu sou novo no Fórum, mas preciso de ajuda... estou a programar um jogo de xadrez em linguagem C, as peças estão funcionando bem em geral, mas há uma peça que está bem teimosa, o CAVALO! extrai parte do código de forma bem besta(o programa inteiro não é assim), para ver se vocês conseguem ver o problema: #include <stdio.h> char xadrez[8][8] = { {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', 'c', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '} }; int ImprimeTabuleiro() { system("cls"); int linha, coluna, repete; for (linha=0; linha<8; linha++) { for(repete=0; repete<3; repete++) { for (coluna=0; coluna<8; coluna++) { char peca = xadrez[linha][coluna]; char letra = ((linha+coluna)%2==0) ? '\xB2' : ' '; letra = (repete == 1 && peca != ' ') ? peca : letra; if((linha+coluna)%2==0) { printf("\xB2\%c\xB2", letra); } else { printf(" %c ", letra); } } printf(" \n"); } } } int movimento(int LinOri, int ColOri, int LinDes, int ColDes) { int mover = 0; char peca; int Vertical = abs(LinDes - LinOri); int Horizontal = abs(ColDes - ColOri); if((peca == 'c') && (Vertical == 2 && Horizontal == 1)) { mover = 1; } if((peca == 'c') && (Vertical == 1 && Horizontal == 2)) { mover = 1; } if(mover == 1) { xadrez[LinDes][ColDes] = xadrez[LinOri][ColOri]; xadrez[LinOri][ColOri] = ' '; return 1; } else { return 2; } } int main() { int LinOri, LinDes, ColOri, ColDes; while (1) { ImprimeTabuleiro(); printf("\nCOORDENADAS DE ORIGEM DA PEÇA: (linha, coluna): "); scanf("%d %d", &LinOri, &ColOri); printf("\nCOORDENADAS DE DESTINO DA PEÇA: (linha, coluna): "); scanf("%d %d", &LinDes, &ColDes); if (movimento(LinOri,ColOri,LinDes,ColDes) != 1) { printf("\nERRO: O CAVALO não SE MOVIMENTA ASSIM!"); getch(); } } getch(); return 0; } Na teoria, se eu digitasse 3 3 e depois 1 2, era para ele se movimentar. por favor, me digam qual é o problema... Obrigado!
-
Olá, pessoal! Estou querendo fazer um programa de interface gráfica para jogar xadrez. Já dei uma olhada na internet e vi que tem como importar um motor de xadrez para atuar como oponente. Vi também que os motores usam o protocolo de comunicação uci ou cecp, e ambos realizam comandos pela entrada e saída padrão. Como faz para interligar a saída padrão de um programa na entrada padrão de um segundo programa, e vice-versa?