Pergunta

Eu tenho jogado Blitz Beweweled há algum tempo. Sim, é um vício. Ao pensar no jogo, observei que, em algumas pranchas, o fundo fica seco (sem movimentos) deixando apenas a parte superior da placa jogável. Freqüentemente, a parte da placa se eleva e fica com movimentos em área limpa pelo último movimento.

A placa nunca é completamente seca, então claramente o programa está fazendo algum tipo de cálculo que permite escolher o que cair para impedir que ele seca.

Eu notei neste 'modo' que é muito comum o algoritmo soltar jóias, o que faz com que mais área não seque apareça na área horizontal. Talvez menos frequente seja uma queda que parece projetada para abrir a parte inferior da placa novamente.

Então minha pergunta é "Como alguém projetaria um algoritmo garantem que sempre haja um movimento disponível."

Foi útil?

Solução

Eu escrevi um jogo de três na linha há um tempo e a maneira como lidei com esse problema é selecionar Gems para cair aleatoriamente e contar todos os movimentos válidos. Se as gemas selecionadas não forneçam pelo menos 1 movimento válido, selecionaria outro conjunto de gemas e assim por diante.

Outras dicas

Isso é solucionável explorando o espaço de possíveis "gotas de jóias" e você aplica uma classificação com base nas suas regras que pediu. A classificação mais alta pode significar que segue a regra e as classificações baixas significam que você não segue, então você escolhe um slot com a classificação mais alta.

Isso não é fácil de explicar, mas uma abordagem baseada em regras deve fazer o truque.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top