Capítulo 2 — Os pontinhos tomam conta do labirinto
baixar projeto .sb3 (início deste capítulo)Contexto
No Capítulo 1, o Pac-Man já andava pelo labirinto. Mas um labirinto vazio não é um jogo — faltam os pontinhos pra comer. O desafio: como colocar centenas de pontinhos no mapa sem arrastar um por um?
A resposta foi um conceito novo: clones. Em vez de desenhar cada pontinho, criamos um único sprite de pontinho e deixamos o código criar cópias dele, nas posições certas, automaticamente.
O que construímos
Tudo no sprite pontos.
1. Montar a grade inteira
Quando a bandeira verde for clicada
Mostre
Vá para x: (-220) y: (-160)
Repita (17) vezes
Repita (23) vezes
Crie um clone de [este ator]
Adicione (20) a x
Mude x para (-220)
Adicione (20) a y
Esconda
💡 Dica — a matemática por trás do "repita dentro do repita": o
repita 23 vezesde dentro é uma coluna sendo preenchida da esquerda pra direita (23 pontinhos, um do lado do outro). Orepita 17 vezesde fora é quantas vezes repetimos essa coluna inteira, subindo uma linha a cada vez (17 linhas). Ou seja: 17 linhas × 23 colunas = 391 pontinhos — é multiplicação de verdade, só que o computador faz a conta na prática, criando um clone por vez em vez de calcular o resultado.
2. Cada pontinho decide sozinho se pode existir ali
O labirinto tem paredes, e um pontinho não devia aparecer em cima de uma parede. Em vez de calcular manualmente onde estão as 391 posições válidas, deixamos cada clone se auto-checar assim que nasce:
Quando eu começar como um clone
Se <tocando na cor [preto]?> ou <tocando na cor [roxo]?> então
Apague este clone
Espere até <tocando em [pacman]?>
Apague este clone
💡 Dica: a grade criou pontinhos em cima das paredes também — mas cada um deles, no instante em que nasce, checa a cor debaixo dele. Se for parede, ele se apaga sozinho, na hora. Sobra só os pontinhos que caíram nos corredores. É mais simples deixar o próprio pontinho decidir isso do que a gente calcular à mão onde estão os corredores.
Depois disso, o mesmo clone fica esperando até o Pac-Man tocar nele — e aí se apaga também, como se tivesse sido "comido".
Checklist do capítulo
- O labirinto aparece cheio de pontinhos, só nos corredores (nenhum em cima de parede)
- Ficou clara a relação entre "repita dentro de repita" e "linhas × colunas"
- Dá pra dizer quantos pontinhos a grade tenta criar (17 × 23 = 391), mesmo sabendo que nem todos sobrevivem
- O pontinho some quando o Pac-Man toca nele
O que ainda não existe nessa etapa
- Ainda não tem nenhuma pontuação — comer o pontinho só faz ele sumir, não conta nada ainda
- O Pac-Man ainda começa a andar direto na bandeira verde, antes mesmo da grade de pontinhos terminar de aparecer