1559 - 2048
O problema que me inspirou a fazer uma inteligência artificial para jogar o jogo 2048.
Descrição
Solução
Como a matriz é sempre fixa no tamanho 4 x 4, fazer uma simulação para cada bloco funciona de forma rápida e eficiente. A ideia é, a cada bloco com um número diferente de zero, verificar se é possível andar com esse bloco para uma das quatro direções. O teste para saber se é possível ir para uma direção específica envolve duas propriedades:
Ver se a posição para a qual se quer ir existe no mapa;
Ver se o bloco nessa posição é 0 ou é igual ao bloco atual.
Se montarmos uma matriz 6 x 6 com sentinelas, só precisamos testar a segunda propriedade, que é a abordagem que eu sigo nas implementações.
Quando há pelo menos um bloco 2048, isso significa que não há mais movimentos possíveis porque você ganhou o jogo.
Também, não dá para apenas interromper a execução e ir para o próximo teste assim que acharmos o número 2048, pois senão vamos parar um caso de teste no meio, sem ler todos os dados corretamente.
Last updated