← Back to agents

AGENTS.md from mccartney0/First-game-in-java

3 starsLast commit Oct 21, 2025

Diretrizes do Repositório

Bem-vindo ao projeto **First Game in Java**. Este repositório contém um jogo simples desenvolvido em Java que serve como base para experimentos com desenvolvimento de jogos 2D, incluindo renderização básica, controle de entidades e gerenciamento de recursos.

Visão geral do projeto

  • **Estrutura do código:** o código-fonte principal está em `src/main/java`. As classes mais importantes estão organizadas em pacotes que lidam com lógica de jogo, renderização e entrada do usuário.
  • **Recursos:** arquivos de imagem, áudio e configurações ficam em `res/`. Garanta que novos recursos sejam nomeados de forma consistente e acompanhados de documentação no `README.md`.
  • **Documentação:** o diretório `docs/` agrega material de apoio, fluxos de trabalho e anotações históricas do desenvolvimento.

Diretrizes de contribuição

Fluxo de trabalho recomendado

  • Utilize sempre o Gradle Wrapper (`./gradlew`) para compilar, executar e testar o projeto (`./gradlew build`, `./gradlew run`).
  • Antes de abrir um PR, execute `./gradlew check` e garanta que não há falhas ou *warnings* novos no console.
  • Se adicionar dependências, documente o motivo na seção "Dependências" do `README.md` e confirme que o cache do Gradle foi atualizado quando necessário.

Qualidade de código e estilo

  • Arquivos-fonte Java devem usar indentação de 4 espaços e seguir as convenções padrão de nomenclatura em Java (classes em PascalCase, métodos e variáveis em camelCase).
  • Prefira extrair constantes reutilizáveis para classes `Config` ou `Constants` dentro do pacote correspondente.
  • Inclua comentários somente quando o comportamento não for evidente pelo nome do método ou variável. Comentários devem ser breves e atualizados.

Documentação e comunicação

  • Mantenha a documentação atualizada em conjunto com qualquer alteração de código ou recurso. O `README.md` é a referência inicial para usuários e contribuidores.
  • Mensagens de *commit* devem ser descritivas e contextualizar a alteração (ex.: "Implementa movimentação do jogador" ou "Atualiza sprites do inimigo").
  • Ao abrir um PR, descreva claramente o impacto na jogabilidade ou nas ferramentas e adicione capturas de tela ou GIFs quando houver mudanças visuais.

Próximos passos sugeridos

1. **Melhorias de jogabilidade:** adicionar novos inimigos, power-ups ou níveis para ampliar a rejogabilidade. 2. **Sistema de pontuação:** implementar e exibir um placar que registre conquistas do jogador. 3. **Testes automatizados:** ampliar a cobertura com testes unitários e, se possível, testes de integração para as principais mecânicas. Considere usar JUnit 5 e Mockito para isolar comportamentos complexos. 4. **Pipeline de assets:** documentar e padronizar o processo de criação/otimização de sprites e sons no diretório `res/`. Utilize *sheets* otimizadas para reduzir o uso de memória. 5. **Localização:** avaliar a viabilidade de internacionalização das strings principais do jogo para PT-BR e EN.

Obrigado por ajudar a manter e evoluir o projeto!