RPG Sandubinha é um jogo de RPG baseado em texto desenvolvido em Java, onde você controla Sandubinha em sua épica jornada para derrotar o terrível Glozium e salvar o mundo. O jogo apresenta um sistema de combate único baseado em números aleatórios e uma variedade de itens mágicos com mecânicas especiais.
- O combate é baseado em números secretos aleatórios
- Cada personagem possui um número secreto (de 1 até sua vida máxima)
- Para causar dano, você precisa "acertar" o número secreto do inimigo
- O dano causado é:
número secreto × quantidade de acertos + bônus
- Números (1, 2, 3...): Selecionar opções do menu
- Q: Desistir do combate ou sair do jogo
- Enter: Confirmar ações
- 🏹 Estilingue Mágico: Único item capaz de atingir inimigos voadores
- 🛡️ Placa: Causa dano extra, mas falhar dá bônus ao inimigo
- 🧙♂️ Pergaminho: Aumenta chances de acerto
- 👘 Azah Transmissão (Capa): Permite voo e ataques especiais
- 📿 Colar da Estátua Sagrada: Item poderoso com efeitos únicos
- ⚔️ Espada: Arma de alto dano
- 🌲 Floresta do Atendimentus - O primeiro desafio de Sandubinha
- 🕳️ Cavernas de Faturamentus - Misteriosas cavernas subterrâneas
- 🏘️ Vila da Transmissão - Vila mágica com habitantes amigáveis
- 🏰 Torre de Contas a Receber - A terrível torre onde o mal se concentra
- 💀 Batalha Contra Glozium - O confronto final épico
- Java 8 ou superior
- Terminal/Console para execução
- Sistema operacional: Windows, Linux ou macOS
mvn compilemvn exec:java -Dexec.mainClass="main.Main"Para ativar o modo de testes, descomente as linhas no arquivo Main.java:
// ModoDev modoDev = new ModoDev();
// modoDev.executar();src/
├── main/
│ └── Main.java # Classe principal
├── menu/
│ ├── Menu.java # Sistema de menus
│ └── TelaCarregamento.java # Tela de loading
├── entidades_combate/
│ ├── Jogador.java # Classe do jogador
│ ├── Inimigo.java # Classe dos inimigos
│ ├── Personagem.java # Classe base para personagens
│ ├── Batalha.java # Sistema de batalha
│ └── Rodada.java # Lógica das rodadas
├── atos/
│ ├── AtosAbstract.java # Classe base para cenários
│ ├── Ato_01.java # Floresta do Atendimentus
│ ├── Ato_02.java # Cavernas de Faturamentus
│ ├── Ato_03.java # Vila da Transmissão
│ ├── Ato_04.java # Torre de Contas a Receber
│ └── Ato_05.java # Batalha Final
├── itens/
│ └── Item.java # Sistema de itens
├── falas/
│ ├── ColoreFala.java # Colore o nome dos personagens no diálogo
│ ├── FalaPersonagem.java # Diálogos dos personagens
│ ├── FalaNarrador.java # Narração do jogo
│ ├── PausaFala.java # Efeitos de texto
│ └── LimpaTela.java # Limpeza do console
├── reset/
│ ├── Reset.java # Reset das fases e vida do jogador
└── entidades_gerais/
├── InputDecisao.java # Gerenciamento de input
└── ModoDev.java # Modo desenvolvedor
- Sistema de Vida Dinâmica: A vida máxima aumenta conforme você progride
- Inimigos Voadores: Requerem estratégias específicas para serem derrotados
- Sistema de Inventário: Coleta e uso estratégico de itens
- Consequências de Ações: Errar ataques pode ter penalidades
- Herança: Classes
Personagem,JogadoreInimigo - Polimorfismo: Sistema de Atos com
AtosAbstract - Encapsulamento: Métodos privados e getters/setters
- Singleton Pattern: Gerenciamento de estado do jogo
- Alguns textos podem aparecer muito rapidamente em alguns terminais
- O modo desenvolvedor requer alteração manual do código