Baixar a pasta do projeto (.zip, 73 KB)
O Cajueiral · Projeto 5 de referência (GDevelop)
O sertanejo cata castanhas em três cercados de cajueiro. Cães de guarda patrulham; se veem o jogador, latem e correm atrás dele, dando a volta nas cercas; se o jogador se afasta, desistem e voltam ao posto. Pegando todas as castanhas, a porteira abre. As fases liberadas ficam salvas.
| Item | Valor |
|---|---|
| Ferramenta | GDevelop 5.6.285 (aplicativo para computador) |
| Arquivo | cajueiral.json (abrir no GDevelop com Abrir um projeto) |
| Tela | 800 × 600, visto de cima |
| Cenas | Menu → Fase1 → Fase2 → Fase3 → Fim |
| Eventos externos | Regras (incluídos nas três fases) |
| Controles | setas para andar; no menu, teclas 1, 2 e 3 escolhem a fase e R apaga o progresso |
Telas
- Menu:
../../../../recursos/imagens/gdevelop/cajueiral-tela-menu.png - Fase 1:
../../../../recursos/imagens/gdevelop/cajueiral-tela-fase1.png - Fase 3:
../../../../recursos/imagens/gdevelop/cajueiral-tela-fase3.png - Eventos:
captura-cajueiral-*.pngna mesma pasta.
Regras e números
| Fase | Cães | Patrulha (px/s) | Perseguição (px/s) | Castanhas |
|---|---|---|---|---|
| 1 · O primeiro cercado | 1 | 60 | 110 | 5 |
| 2 · Dois cães | 2 | 70 | 125 | 6 |
| 3 · O pomar dos três cães | 3 | 80 | 140 | 7 |
- O jogador anda a 200 px/s e começa a partida com 3 vidas (globais).
- O cão vê o jogador a menos de 150 px e desiste a mais de 260 px.
- O caminho da perseguição é recalculado a cada 0,4 s.
- Pego pelo cão: perde 1 vida e a fase recomeça.
- O progresso é o número
faseLiberadano armazenamentoprogresso.
Arquivos
| Pasta / arquivo | Conteúdo | Origem e licença |
|---|---|---|
imagens/ | 12 desenhos em pixel art (sertanejo, cão calmo e bravo, castanha, cerca, chão, porteira fechada e aberta) | originais, gerados por scripts/gerar_cajueiral.py (o sertanejo, a castanha e a porteira vêm dos geradores dos Módulos 3 e 4); uso livre no curso |
sons/ | coleta.wav, latido.wav, pego.wav, porteira.wav | originais, sintetizados pelo script; uso livre no curso |
Nenhum recurso de terceiros foi usado.
Como recriar
python scripts/gerar_cajueiral.pyPrecisa de Python 3 e Pillow. As 33 condições e ações usadas foram conferidas na lista interna do GDevelop 5.6.285: todas existem e aparecem na janela de escolha (nenhuma escondida).
Testes realizados
| Data | Teste | Resultado |
|---|---|---|
| 30/10/2026 | projeto aberto no GDevelop 5.6.285; gerenciador, eventos externos e folhas de eventos conferidos | ok (capturas em recursos/imagens/gdevelop/) |
| 30/10/2026 | 30 verificações automáticas no motor do GDevelop, pelo Visualizar (testes/gdevelop/testar_cajueiral.js), duas rodadas | 30 de 30 |
Não testado: exportação HTML5 desta versão; o progresso depois de fechar e abrir o GDevelop ou o navegador; controles de toque (o jogo não tem); partida jogada por alunos.
Histórico de correções
- O jogador atravessava as cercas (o Movimento em TopDown não conhece obstáculos). Incluído o evento Separa objetos.
- Ao contornar a ponta de uma cerca, o desenho do cão passava por cima dela. Causa: caminho com diagonais. Permitir diagonais foi desligado e o teste passou a medir a sobreposição. A "borda extra" do comportamento também resolveria, mas ela não tem nome na interface em português, então o curso usa a solução que o aluno consegue fazer.
- O texto do menu dizia "Se o cão te ver"; corrigido para "Se o cão vir você".
- O teste automático, na primeira versão, mudava a posição do cão direto e o comportamento de caminho o recolocava no caminho antigo. O teste passou a pedir um caminho novo depois de mover o cão (isso virou dica na Aula 6.4).
Ideias de evolução
Estado "farejando", fases sorteadas (Aula 6.8), recorde por fase salvo, controles de toque, versão em Godot (Módulo 8).