2

projeto massa pra aprender. uma dica antes de ir muito longe na geração de lances: o 8x8 obriga a checar se saiu do tabuleiro em toda direção, e isso enche o código de if. Muita engine começa com mailbox 10x12 (uma borda de casas inválidas em volta) ou com 0x88, onde um & 0x88 já diz se a casa existe. Os dois estão na própria Chess Programming Wiki.

E quando chegar nos lances, monta o teste de perft cedo. Comparar a contagem de nós com os números conhecidos da posição inicial e da Kiwipete pega roque, en passant e promoção errados bem antes de você chegar na busca.

Carregando publicação patrocinada...
1

Obrigado pelas dicas, meu nobre! Optei por um tabuleiro 8x8 justamente para facilitar o início do projeto, dado que tive dificuldades antes com mailbox 10x12 numa tentativa passada em fazer esse motor em C. Pretendo na próxima etapa aplicar mailbox 10x12 justamente pelo seu ponto. Sobre PERFT, já dei uma lida e irei implementar no motor quando for o momento certo. Contudo, obrigado pelos pontos e por ter visto meu post.

1

faz sentido começar pelo 8x8, ainda mais depois de ter apanhado do 10x12 em C. e se o perft já estiver pronto na hora da troca fica tranquilo, roda a mesma contagem nas duas versões e se bater tá certo. boa sorte com o Minerva!

1
1

rápido hein! agora roda o perft na posição inicial e na Kiwipete com a versão nova. se os números baterem, a troca tá validada e dá pra seguir tranquilo.