{"id":49573710,"url":"https://github.com/pitercoding/campo-minado-console","last_synced_at":"2026-05-03T15:39:37.385Z","repository":{"id":317110330,"uuid":"1065973532","full_name":"pitercoding/campo-minado-console","owner":"pitercoding","description":"Campo Minado implementado em Java para rodar no console, com suporte a cores ANSI para melhorar a experiência no terminal. ENG: Minesweeper implemented in Java to run in the console, with ANSI color support to improve the terminal experience.","archived":false,"fork":false,"pushed_at":"2025-10-06T19:02:53.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-03T15:39:14.223Z","etag":null,"topics":["ansi-colors","campo-minado","console-game","exceptions","java","java-course","jogo-java","junit5","learning-by-doing","minesweeper","oop","tabuleiro"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pitercoding.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-28T19:57:39.000Z","updated_at":"2025-10-06T19:02:57.000Z","dependencies_parsed_at":"2025-10-06T21:06:35.082Z","dependency_job_id":"06025024-4a83-45cd-bf78-2577bc436644","html_url":"https://github.com/pitercoding/campo-minado-console","commit_stats":null,"previous_names":["pitercoding/campo-minado-java","pitercoding/campo-minado-console"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pitercoding/campo-minado-console","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pitercoding%2Fcampo-minado-console","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pitercoding%2Fcampo-minado-console/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pitercoding%2Fcampo-minado-console/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pitercoding%2Fcampo-minado-console/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pitercoding","download_url":"https://codeload.github.com/pitercoding/campo-minado-console/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pitercoding%2Fcampo-minado-console/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32575114,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansi-colors","campo-minado","console-game","exceptions","java","java-course","jogo-java","junit5","learning-by-doing","minesweeper","oop","tabuleiro"],"created_at":"2026-05-03T15:39:34.144Z","updated_at":"2026-05-03T15:39:37.366Z","avatar_url":"https://github.com/pitercoding.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 💣 Campo Minado Console\n\nUm jogo clássico de **Campo Minado** implementado em **Java** para rodar no **console**, com suporte a **cores ANSI** para melhorar a experiência no terminal.\n\nProjeto desenvolvido como exercício prático durante o curso de **Java da Cod3r**.\n\n---\n\n## 🎯 Por que esse projeto?\n\n- Praticar os fundamentos da **Programação Orientada a Objetos (POO)** em Java\n- Trabalhar com **tratamento de exceções**, **listas**, **streams** e **recursão**\n- Criar uma aplicação **interativa** no terminal\n- Revisar conceitos de **organização de pacotes** em um projeto Java realista\n\n## 📂 Organização do Projeto\n\nA estrutura de diretórios segue uma separação clara entre **modelo**, **visão** e **exceções**:\n\n```\ncampo-minado-java/\n├── src/br/com/campominado/\n│ ├── excecao/\n│ │ ├── ExplosaoException.java\n│ │ └── SairException.java\n│ │\n│ ├── modelo/\n│ │ ├── Campo.java\n│ │ └── Tabuleiro.java\n│ │\n│ └── visao/\n│ ├── TabuleiroConsole.java\n│ └── Aplicacao.java\n│\n├── test/br/com/campominado/modelo/\n│ └── CampoTeste.java\n│\n├── .gitignore\n├── README.md\n```\n- **modelo/** → Lógica do jogo (campo, tabuleiro, regras)\n- **visao/** → Interface de interação no console\n- **excecao/** → Exceções personalizadas usadas no fluxo do jogo\n- **test/** → Testes unitários (JUnit)\n\n---\n\n## 🕹️ Como rodar o projeto no terminal\n\n### 1. Clonar o repositório\n```bash\ngit clone https://github.com/pitercoding/campo-minado-console.git\ncd campo-minado-console\n```\n### 2. Compilar os arquivos .java\n```bash\njavac br/com/campominado/**/*.java\n```\n### 3. Executar o jogo\n```bash\njava br.com.campominado.visao.Aplicacao\n```\n\n## 🎨 Recursos do jogo\n\n- Campo minado funcional rodando no console\n- **Cores ANSI** para melhorar a visualização:\n    - 🚩 Bandeiras em **amarelo**\n    - 💣 Minas em **vermelho**\n    - 🔢 Números com cores diferentes:\n        - `1` → azul\n        - `2` → verde\n        - `3` → vermelho\n        - ... e assim por diante\n- Possibilidade de **abrir campos**, **marcar/desmarcar bandeiras** e **reiniciar a partida**\n- Tratamento de explosão com **`ExplosaoException`**\n- Digite `sair` a qualquer momento para encerrar o jogo (**`SairException`**)\n\n## 🧪 Testes\nO projeto contém testes unitários com JUnit em `CampoTeste.java`.\n\nPara rodar os testes:\n```bash\ncd test\n# Exemplo com JUnit 5:\njava -jar junit-platform-console-standalone.jar -cp . --scan-classpath\n```\n## 📜 Licença\nEste projeto é licenciado sob a **licença MIT**.\n\n## ✨ Créditos\nProjeto desenvolvido como prática durante o **Curso de Java da Cod3r**.\nAdaptado e expandido para incluir cores no console e organização completa do projeto.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpitercoding%2Fcampo-minado-console","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpitercoding%2Fcampo-minado-console","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpitercoding%2Fcampo-minado-console/lists"}