Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Como parar os fantasmas

Se quando ele achasse o fantas eu usasse o break para parar o loop, daria o mesmo efeito?

1 resposta
solução!

Olá Pedro! Tudo bem?

Usar break interromperia o loop interno assim que um fantasma fosse encontrado e movido, mas não resolveria o problema de mover o mesmo fantasma várias vezes para a direita. Isso acontece porque, ao usar break, você sairia apenas do loop mais interno, e ao retornar ao loop externo, o processo de busca e movimentação começaria novamente.

O problema que você está enfrentando é que, sem uma estrutura auxiliar, o mesmo fantasma pode ser encontrado e movido várias vezes em uma única execução da função fantasmas().

A solução proposta no exercício é criar uma cópia do mapa antes de começar a mover os fantasmas. Dessa forma, você varre o mapa original (copia) para encontrar os fantasmas, mas move-os apenas no mapa principal (m). Isso garante que cada fantasma seja movido apenas uma vez por execução da função.

Portanto, enquanto o uso do break poderia parar o loop interno ao encontrar um fantasma, ele não resolveria o problema de mover o mesmo fantasma várias vezes. A solução com a cópia do mapa é mais eficaz para esse tipo de situação.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.