Um jogo de RPG em modo texto desenvolvido em Java, onde você deve sobreviver a uma invasão alienígena no campus universitário da PUC-Campinas. Escolha sua classe, explore diferentes locais, enfrente inimigos e gerencie seu inventário para sobreviver.
Durante uma tarde comum de aulas, uma nave alienígena cai no campus universitário. Você e outros estudantes ficam presos e devem lutar pela sobrevivência. Explore diferentes áreas do campus, enfrente inimigos alienígenas e use itens estrategicamente para se manter vivo.
- Sistema de Classes: escolha entre três classes diferentes, cada uma com atributos próprios.
- Sistema de Combate: batalhas baseadas em turnos com rolagem de dados.
- Sistema de Inventário: colete e use itens durante sua jornada.
- Exploração: navegue por diferentes locais do campus universitário.
- Eventos Aleatórios: encontros com inimigos e itens são determinados por chance.
- Gestão de Recursos: gerencie seus pontos de vida e itens cuidadosamente.
- Curso: Educação Física
- HP Inicial: 120
- Ataque: 8
- Defesa: 15
- Especialidade: alta resistência e defesa, ideal para jogadores que preferem tanques.
- Curso: Engenharia de Software
- HP Inicial: 70
- Ataque: 16
- Defesa: 8
- Especialidade: alto poder de ataque, mas frágil; jogue com estratégia.
- Curso: Arquitetura
- HP Inicial: 90
- Ataque: 12
- Defesa: 10
- Especialidade: atributos balanceados, ideal para iniciantes.
- Sala de Aula - Bloco C: local inicial do jogo.
- Pátio Central: área de grande circulação; cuidado com patrulhas.
- Cantina: bom lugar para encontrar comida e itens de cura.
- Biblioteca: local mais perigoso, com inimigos mais fortes.
- Prédio H (Laboratórios): área de risco com possibilidade de encontrar componentes eletrônicos.
- Clone o repositório:
git clone https://github.com/AugFidelis/RPG-Java.git
cd RPG-Java- Compile o projeto:
javac -d out src/dominio/*.java src/aplicacao/*.java src/ui/*.java- Execute o jogo:
java -cp out ui.MainDurante o jogo, você terá várias opções:
Menu principal:
1- Explorar o local atual.2- Mover-se para outro local.3- Ver/usar itens do inventário.
Durante o combate:
1- Atacar o inimigo.2- Usar item do inventário.3- Tentar fugir.
- Combate: o sistema usa rolagem de dados (1d6) para determinar o sucesso dos ataques.
- Dano: calculado como
(Ataque + Dado) - Defesa do Oponente. - Exploração: cada exploração tem chance de encontrar itens ou inimigos.
- Cura: use salgados e outros itens para recuperar HP, sem exceder o HP máximo.
RPG-Java/
├── adrs/ # Registros de decisões arquiteturais
├── diagrams/ # Diagramas Mermaid versionados
├── docs/ # Evidências e textos auxiliares da documentação
├── src/
│ ├── aplicacao/ # Casos de uso, serviços e comandos do jogo
│ ├── dominio/ # Entidades e regras centrais do RPG
│ ├── infra/ # Reservado para detalhes de infraestrutura
│ └── ui/ # Entrada via terminal e ponto de entrada
├── out/ # Arquivos compilados, ignorados pelo Git
└── README.md
O projeto está organizado como um monólito modular com separação por camadas/pacotes:
dominio: concentra as regras principais do jogo, como personagens, inimigos, itens e inventário.aplicacao: coordena os fluxos de uso, como menu principal, combate e inventário.ui: contém a entrada do usuário via terminal e a classeMain.infra: reservado para futuras integrações externas ou persistência.
- Java: linguagem de programação principal.
- IntelliJ IDEA: IDE de desenvolvimento.
- Git: controle de versão.
Este projeto foi desenvolvido como parte de um trabalho acadêmico, demonstrando conceitos de:
- Programação orientada a objetos (POO).
- Herança e polimorfismo.
- Encapsulamento.
- Tratamento de exceções.
- Estruturas de dados (
ArrayList). - Interfaces e padrões de projeto.
Este projeto é de código aberto e está disponível para fins educacionais.