Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sentient 6

Xadrez!

Recommended Posts

Pessoal, estou pensando em desenvolver um algoritmo multiplataforma open-source de xadrez em C/C++.

Eu dei uma lida em algumas páginas que falam a respeito, mas acho que estou cercado de muita teoria e pouca prática.

 

Quero que o algoritmo ocupe poucos ciclos de processamento e pouca memória, pois assim eu posso tentar compilar para dispositivos móveis.

Vocês podem me dar uma mão? Por onde é recomendável começar?

 

Um dos textos que eu li sugere começar o código pelo mapeamento do tabuleiro, depois programar os movimentos, depois a I.A que vai fazer a varredura do tabuleiro e prever as próximas melhores jogadas, analisar a legalidade da jogada e por fim o código que analisa o status atual do jogo, se ele terminou ou não.

 

Dei uma pesquisada sobre maneiras de fazer o tabuleiro virtual. Uma opção é um array de 64 posições representando as casas; outra é um array de 32 posições representando as peças.

 

Alguém aqui já tentou programar algo parecido? Podem me ajudar com a parte prática do desenvolvimento?

 

É interessante já cogitar uma interface gráfica para testes ou vcs acham que pelo console já dá pra testar com uma certa tranquilidade?

Conhecem algum tutorial ou código open source (comentado, por favor) por onde eu possa me basear?

 

Valeu pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vale lembrar que o número de jogadas possíveis num jogo de xadrez deve ultrapassar 10^100.

Isso é impossível mesmo para um computador super poderoso computar.

 

Você vai precisar primeiro bolar um algoritmo que reduza e analise apenas algumas jogadas (lembrando que um jogo de xadrez é um jogo de futuro, você tem que prever o que o seu adversário quer fazer).

Se eu não me engano, existe um motor de xadrez open-source da GNU.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.