Olá Caio, tudo bem com você??
Obrigado pelo seu feedback e fico feliz que tenha gostado!
A questão da movimentação mencionada você até consegue mexer em alguns parâmetros, como velocidade de movimento mas os nossos fantasmas estão diretamente ligados ao random.choice
que você encontra mais sobre aqui na Documentação Técnica.
Por conta disso ficamos um pouco mais limitados quanto a essa movimentação. Perceba que dentro do random.choice
é passado como parâmetro direcoes
. Que se trata de uma lista vazia e vai sendo preenchida baseada nas movimentações geradas pela movimentação do PACMAN, preenchendo esse array e gerando um novo valor para direcoes
, conforme o bloco de códigos do nosso jogo:
def get_direcoes(self, linha, coluna):
direcoes = []
if self.matriz[int(linha - 1)][int(coluna)] != 2:
direcoes.append(ACIMA)
if self.matriz[int(linha + 1)][int(coluna)] != 2:
direcoes.append(ABAIXO)
if self.matriz[int(linha)][int(coluna - 1)] != 2:
direcoes.append(ESQUERDA)
if self.matriz[int(linha)][int(coluna + 1)] != 2:
direcoes.append(DIREITA)
return direcoes
"Se uma sequência de pesos for especificada, as seleções serão feitas de acordo com os pesos relativos. " então entendemos que ao observar esse bloco, ele encontra-se equilibrado. O ponto de observação mencionado, gera essa percepção, em virtude dos movimentos iniciais, pois, o pacman precisa se movimentar relativamente para que os fantasmas saiam do covil central e comecem a transitar pela fase.
Sugiro que efetue testes nessas partes descritas e se aprofunde na documentação técnica, para verificar as possibilidades de mudanças com relação a movimentação dos fantasmas.
Espero ter te ajudado e qualquer dúvida é só retornar aqui no fórum.
Bons estudos!