Este projeto é um jogo estilo RPG básico, implementado em Java utilizando os princípios da Programação Orientada a Objetos (POO).
O objetivo é educacional: servir como ponto de partida para estudantes e desenvolvedores que queiram aprender a aplicar encapsulamento, herança, polimorfismo e composição de forma prática e divertida.
- ✅ Sistema de Jogador e Inimigos com vida, ataque e defesa.
- ✅ Mecânica de batalha (combate por turnos).
- ✅ Inventário e Itens (poções, armas, etc.).
- ✅ Navegação por mapa (locais: Vila, Floresta, Masmorra).
- ✅ Estrutura extensível para adicionar novos personagens, itens e mecânicas.
src/
└── game/
├── entities/
│ ├── Character.java # Classe abstrata para todos os personagens
│ ├── Player.java # Jogador controlado pelo usuário
│ ├── Enemy.java # Inimigos do jogo
│ └── Item.java # Itens (poções, armas, etc.)
│
├── mechanics/
│ ├── Battle.java # Sistema de combate
│ ├── Inventory.java # Inventário do jogador
│ └── Map.java # Locais do jogo
│
├── main/
│ └── Game.java # Classe principal (ponto de entrada)
│
└── utils/
└── InputHandler.java # Utilitários para entrada de dados (futuro)Classe base para todos os personagens do jogo.
- Atributos:
name,health,attack,defense - Métodos:
attack(Character target),isAlive()
Representa o personagem controlado pelo jogador.
- Possui um
Inventory - Pode
attack()euseItem()
Representa inimigos controlados pelo computador.
- Atacam o jogador em batalhas.
- Herdam de
Character.
Representa objetos utilizáveis (ex.: poções, armas).
Guarda os itens do jogador.
- Métodos:
addItem(Item i),showItems()
Gerencia a lógica do combate em turnos.
- Método:
fight(Player player, Enemy enemy)
Mostra os locais disponíveis e pode ser expandido para exploração.
Classe principal onde o jogo começa.
- Inicializa jogador, inimigo, mapa e batalha.
git clone https://github.com/seu-usuario/java-rpg-game.git
cd java-rpg-game- Compilar
javac src/game/main/Game.java- Executar
java game.main.GameFaça um fork deste repositório
Adicione novas funcionalidades (novos inimigos, sistema de magia, missões, interface gráfica, etc.)
Envie um Pull Request
🧙 Adicionar sistema de magia (feitiços, mana).
🗡️ Criar sistema de armas e armaduras equipáveis.
🌍 Expandir exploração do mapa com diferentes eventos.
👾 Criar múltiplos tipos de inimigos e chefes.
🖥️ Implementar uma Interface Gráfica (GUI) (Swing ou JavaFX).
- Criar classes principais (Player, Enemy, Item, Inventory, Battle, Map).
- Implementar sistema de batalha básico (ataque e defesa).
- Criar inventário simples e uso de itens (ex.: poções).
- Adicionar múltiplos inimigos diferentes.
- Implementar sistema de magia (feitiços, mana, cura).
- Criar sistema de armas e armaduras equipáveis.
- Adicionar progressão do jogador (níveis, XP, habilidades).
- Expandir o mapa com eventos e locais adicionais.
- Criar interface gráfica (Swing ou JavaFX).
- Implementar sistema de missões/quests.
