Uma versão gráfica do clássico Campo Minado, desenvolvida em Java, utilizando Swing para a interface visual.
Projeto criado como prática de Programação Orientada a Objetos (POO) e manipulação de eventos gráficos, com base no curso de Java da Cod3r.
- Praticar os fundamentos de POO (encapsulamento, herança, polimorfismo e abstração)
- Aplicar eventos e observadores entre modelo e interface
- Aprender a criar interfaces gráficas (GUI) com Java Swing
- Implementar a lógica completa do jogo Campo Minado, com vitória, derrota e reinício automático
A arquitetura segue o padrão MVC (Model-View-Controller) simplificado, separando modelo (regras do jogo) e visão (interface Swing):
campo-minado-swing/
├── src/br/com/campominado/
│ ├── modelo/
│ │ ├── Campo.java
│ │ ├── CampoEvento.java
│ │ ├── CampoObservador.java
│ │ ├── ResultadoEvento.java
│ │ └── Tabuleiro.java
│ │
│ └── visao/
│ ├── BotaoCampo.java
│ ├── PainelTabuleiro.java
│ └── TelaPrincipal.java
│
├── .gitignore
├── README.md- modelo/ → Contém toda a lógica do jogo (regras, eventos e tabuleiro)
- visao/ → Implementa a interface Swing, compondo os painéis e botões do jogo
git clone https://github.com/pitercoding/campo-minado-swing.git
cd campo-minado-swing- Vá em File > Open...
- Selecione a pasta do projeto
- Certifique-se de que o SDK do projeto está configurado para Java 17 (ou superior)
- Abra a classe
TelaPrincipal.java - Clique em Run
▶️
O jogo será aberto em uma janela Swing com o título "Campo Minado".
- Clique esquerdo → abre o campo
- Clique direito → marca/desmarca bandeira
- Ao abrir um campo minado, o botão muda de cor e mostra “X”
- Botões marcados ficam azuis e mostram “M”
- Mostra uma mensagem (
JOptionPane) ao ganhar ou perder - O tabuleiro é reiniciado automaticamente após cada partida
- A interface é atualizada automaticamente sempre que o modelo muda (via
CampoObservador)
- ☕ Java 21
- 🖥️ Swing / AWT
- 🧩 Padrão Observer
- 🧱 Layouts de interface (GridLayout, BorderLayout)
- 🧪 Programação orientada a eventos
Este projeto é licenciado sob a MIT License — você é livre para usar, estudar e modificar.
Projeto desenvolvido como exercício prático baseado no Curso de Java da Cod3r.