No xadrez, é possível que o jogo termine após 4 jogadas (2 cada) com um companheiro de tolo .
Seu objetivo é encontrar o Mate of Halma do tolo : o jogo de Halma para 2 jogadores que minimiza o número de turnos jogados.
Existem mais de 10 56 estados do conselho, e eu já vi o fator de ramificação ultrapassar 1000, então as chances são de que ninguém encontre a solução ideal. Em vez disso, você está tentando encontrar a melhor solução possível.
Você deve enviar uma lista de movimentos e qualquer código usado para gerar esses movimentos.
Explicação do jogo
Halma é semelhante ao jogo de damas chinês, mas jogado em um tabuleiro quadrado de 16 * 16.
Inicialmente, o quadro fica assim:
O objetivo do jogo é mover todas as suas peças para as posições iniciais das peças do seu oponente.
No turno de um jogador, ele / ela pode:
Passe a vez
Mova uma de suas peças para um espaço vazio adjacente. Os espaços adjacentes incluem diagonais.
Pegue uma de suas peças e faça o seguinte inúmeras vezes: Pule a peça sobre uma peça adjacente, pousando-a no espaço oposto ao que a peça pulou.
Aqui está um exemplo para ilustrar o segundo tipo de movimento.
Regras
Envie uma lista de movimentos legais que resultam no final do jogo.
Envie qualquer código que você usou para gerar a lista.
Se você obtiver um resultado melhor do código de outra pessoa, poste o resultado em um comentário ou edite a postagem com os novos resultados.
Cada movimento deve ser None
para passar o turno ou (x1,y1,x2,y2)
mover uma peça, onde (x1,y1)
estão as coordenadas da peça a ser movida e (x2,y2)
são o destino dessa peça (para movimentos de salto, ignore as coordenadas intermediárias). As coordenadas começam no (0,0)
canto superior esquerdo. As coordenadas x aumentam para a direita, as coordenadas y aumentam para baixo. Os movimentos devem ser separados por novas linhas.
Você pode usar esse script python para verificar seus movimentos. Use python halma_verify.py < file
para verificar as mudanças file
.
A menor lista vence.