Skip to content

hudson-eng-software/JogoRPGEmJavaProjetoPOO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎮 Jogo RPG em Java – Projeto POO

Java POO Status Contribuições

ChatGPT Image 6 de set  de 2025, 22_43_17

📖 Visão Geral

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.


🛠️ Funcionalidades

  • 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.

📂 Estrutura do Projeto

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)

📚 Principais Classes e Responsabilidades

🔹 Character (abstrata)

Classe base para todos os personagens do jogo.

  • Atributos: name, health, attack, defense
  • Métodos: attack(Character target), isAlive()

🔹 Player

Representa o personagem controlado pelo jogador.

  • Possui um Inventory
  • Pode attack() e useItem()
ed80967e-4c2e-40a3-9544-9623fafae1a2

🔹 Enemy

Representa inimigos controlados pelo computador.

  • Atacam o jogador em batalhas.
  • Herdam de Character.
d56c167f-8e2c-494d-bf8a-b66c2f130816

🔹 Item

Representa objetos utilizáveis (ex.: poções, armas).

  • Atributos: name, type, power

  • Método: applyEffect(Player player)

    d838fc62-861e-414f-9644-e09521c6a3d3

🔹 Inventory

Guarda os itens do jogador.

  • Métodos: addItem(Item i), showItems()
f906901e-72bd-4932-8fa9-c577fa66fe8a

🔹 Battle

Gerencia a lógica do combate em turnos.

  • Método: fight(Player player, Enemy enemy)
2f9f6eff-fba5-4014-af81-3196c081c71a

🔹 Map

Mostra os locais disponíveis e pode ser expandido para exploração.

4ba0fe49-b587-47ea-b2c7-1327aa1ae46c

🔹 Game

Classe principal onde o jogo começa.

  • Inicializa jogador, inimigo, mapa e batalha.

🚀 Como Executar

1. Clonar o repositório

git clone https://github.com/seu-usuario/java-rpg-game.git
cd java-rpg-game
  1. Compilar
javac src/game/main/Game.java
  1. Executar
java game.main.Game

📈 Como Contribuir

Faça um fork deste repositório

Adicione novas funcionalidades (novos inimigos, sistema de magia, missões, interface gráfica, etc.)

Envie um Pull Request

💡 Possíveis Extensões

🧙 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).


📌 Roadmap de Desenvolvimento

  • 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.

👨‍💻Autor: Hudson Amorim

fa604709-5f79-45a4-8816-37fb329a62ff

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages