Quando se faz um Match 3, existem algumas coisas em que se deve pensar, a primeira coisa é que as peças devem estar distribuídas numa matriz. E ela tem certas características, isso é o objeto level.
Posição, tamanho, seleção, peças e seus tamanhos. As peças estão dentro de um vetor bidimensional (perfeito para uma matriz) que é preenchido quando a função do jogo é inicializada. Ela possui valores de tipo e de movimento.
Então devemos criar o jogo em si. Nisso devemos observar que para um Match 3 funcionar são necessárias duas condições essenciais
-Não podem ter matchs feitos
-Deve haver ao menos uma chance de match
A função createLevel faz isso
Ela randomiza os tiles, resolve todos os Matchs pré jogo para garantir a 1º condição em seguida ele conta a quantidade de movimentos (computacionalmente trocando os tipos de posição e contando quando um match seria formado). Se houver ao menos um movimento, o level está completo.
Criando o jogo novo eu chamo a função newGame()
Esta zera a score e o texto de score que aparece (são separados para que o efeito de crescimento animado dos números aconteça), Se não for a 1º vez que a função é rodada ele inicia o jogo rapidamente (caso seja a 1º vez, o estado de jogo é init e ele faz a tela de melhor pontuação com o botão de play), desliga o pause e o game over, reseta o tempo inicial, e cria o level.
Nenhum comentário:
Postar um comentário