O Desafio
O desafio na criação desse projeto começa primeiro em entender como funciona o Xadrez, como cada peça funciona, entendendo como elas se movem, e quais são os possíveis finais para o jogo. Após isso é necessário pôr em prática a programação, definir como será feito a diferenciação das peças e suas possíveis jogadas, como sera feito o tabuleiro para o jogo, e definir a regras para os possíveis finas do jogo, que são: vitória para as brancas, vitória para as pretas ou afogamento.
Já para parte da IA foi necessário que cada jogada tenha uma pontuação, para que se possa escolher a melhor jogada possível de acordo com essa pontuação, por exemplo, comer uma peça vale X pontos, e se por acaso essa peça logo em seguida é comida essa jogada vai valer Y pontos, e se X - Y for um número menor que 0 essa jogada é considerada ruim. E é assim que a IA funciona, ela pega todas jogadas até um nível Z da árvore e analisa as melhores jogadas naquele momento para que a melhor jogada seja tomada.
Estruturando o Código
Para a estruturação do código na parte das peças e tabuleiro, usamos um arquivo txt onde as posições sem peças são números 0 e cada peça possui um número de identificação, números positivo para as peças brancas e negativo para as peças pretas, para termos o tabuleiro já pronto para o jogo. Para as peças definimos as possíveis movimentações com casos de IF com checagem para limitação do tamanho do tabuleiro.
Já para as jogadas em si utiliza-se lista encadeada, deixando registrado cada jogada feita, e cada possível jogada com as peças, isso tudo a fim de facilitar na parte da IA, dessa forma será mais fácil analisar as possíveis jogadas, já que ela verifica até um nível Z da árvore de jogadas para saber qual é a melhor jogada possível a se fazer, considerando os pontos já explicado anteriormente.