Um RPG de terminal feito em Java, inspirado nas regras do D&D 5e. Crie seu herói, entre no Coliseu, enfrente monstros cada vez mais perigosos, gaste o ouro na loja do Artkk e torça para a Tiamat não aparecer.
  • Java 94.5%
  • Python 5.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
abyssdev 192cabaf9c
All checks were successful
Assinaturas / Commits assinados (push) Successful in 12s
CI / Testes (Java 17) (push) Successful in 1m0s
CI / Testes (Java 21) (push) Successful in 59s
Publicar / publicar (push) Successful in 1m14s
release: Versao 1.1.1-beta com imagens dos monstros e molduras na interface grafica
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 13:25:51 -03:00
.forgejo/workflows release: Versao 1.1.1-beta com imagens dos monstros e molduras na interface grafica 2026-10-04 13:25:51 -03:00
ferramentas feat: Imagens dos monstros, molduras da interface e script para gerar e importar imagens 2026-10-04 13:25:44 -03:00
javadungeon-core release: Versao 1.1.1-beta com imagens dos monstros e molduras na interface grafica 2026-10-04 13:25:51 -03:00
javadungeon-gui release: Versao 1.1.1-beta com imagens dos monstros e molduras na interface grafica 2026-10-04 13:25:51 -03:00
javadungeon-terminal release: Versao 1.1.1-beta com imagens dos monstros e molduras na interface grafica 2026-10-04 13:25:51 -03:00
.editorconfig init: Inicio do projeto Java Dungeon 2026-10-02 15:47:36 -03:00
.gitattributes init: Inicio do projeto Java Dungeon 2026-10-02 15:47:36 -03:00
.gitignore feat: Imagens dos monstros, molduras da interface e script para gerar e importar imagens 2026-10-04 13:25:44 -03:00
javadungeon_logo.png ci: Workflow de publicacao do pacote core no registro Maven 2026-10-02 22:13:01 -03:00
LICENSE ci: Workflow de publicacao do pacote core no registro Maven 2026-10-02 22:13:01 -03:00
pom.xml release: Versao 1.1.1-beta com imagens dos monstros e molduras na interface grafica 2026-10-04 13:25:51 -03:00
README.md release: Versao 1.1.1-beta com imagens dos monstros e molduras na interface grafica 2026-10-04 13:25:51 -03:00

Java Dungeon, by AbyssDev

Versão 1.1.1-beta Java 17 ou superior Licença MIT

Java Dungeon

Um RPG de terminal feito em Java, inspirado nas regras do D&D 5e. Crie seu herói, entre no Coliseu, enfrente monstros cada vez mais perigosos, gaste o ouro na loja do Artkk e torça para a Tiamat não aparecer.

O repositório tem três módulos: o core, com as regras do jogo independentes de interface, a interface de terminal e a interface gráfica em JavaFX.

Funcionalidades

  • Criação de personagem com 3 raças (Humano, Elfo, Anão) e 3 classes (Guerreiro, Mago, Ladino), perícias, proficiências, idiomas e atributos por arranjo padrão, compra de pontos ou rolagem 4d6.
  • Progressão do nível 1 ao 20 com tabela de XP, aumento de atributos, especializações e habilidades de classe por nível.
  • Combate em turnos com iniciativa, ação e ação bônus, críticos, vantagem e desvantagem, salvaguardas, Ataque Extra, Surto de Ação, Ataque Furtivo e muito mais.
  • Grimório do mago com 30 magias, do truque ao 9º círculo, espaços de magia e magias que ficam mais fortes em círculos maiores.
  • Modo Coliseu com 21 monstros, do Rato Gigante ao Gladiador, sorteio de acordo com o nível do personagem, recompensas em XP e ouro e uma chance secreta de 0,0000000001% de enfrentar a Tiamat.
  • Loja do Artkk, um anão de pele azul que vende poções, armas e armaduras, encanta equipamentos até +3, compra seus itens e aluga o quarto dos fundos para descansar.
  • 3 saves independentes, um por personagem.

Requisitos

  • Java 17 ou superior
  • Maven 3.9 ou superior, só para compilar

Como jogar

O jeito mais fácil é baixar os jars na página de Releases do repositório e rodar com Java 17 ou superior:

java -jar javadungeon-gui-1.1.1-beta.jar
java -jar javadungeon-terminal-1.1.1-beta.jar

O jar da interface gráfica já traz o JavaFX e funciona no Windows, no Linux e no Mac.

Para compilar a partir do código:

mvn clean package
java -jar javadungeon-gui/target/javadungeon-gui-1.1.1-beta.jar
java -jar javadungeon-terminal/target/javadungeon-terminal-1.1.1-beta.jar

Os saves ficam na pasta saves/, dentro da pasta de onde o jogo foi executado. As duas interfaces usam os mesmos saves.

Usando o core em outro projeto

As regras não dependem do terminal, então dá para construir outra interface (Swing, JavaFX, web...) em cima delas. O pacote é publicado no registro Maven do Cosmos:

<repositories>
  <repository>
    <id>cosmos</id>
    <url>https://cosmos.simioni.dev.br/api/packages/caio/maven</url>
  </repository>
</repositories>

<dependencies>
  <dependency>
    <groupId>dev.abyssdev</groupId>
    <artifactId>javadungeon-core</artifactId>
    <version>1.1.1-beta</version>
  </dependency>
</dependencies>

Exemplo de uma luta conduzida por outra interface:

Combate combate = new Combate(personagem, monstro, new Dado());
mostraEventos(combate.inicia());

while (!combate.isEncerrado()) {
    AcaoCombate.Tipo escolha = perguntaAoJogador(combate.getAcoesDisponiveis());
    mostraEventos(combate.executa(AcaoCombate.de(escolha)));
}

new Coliseu(new Dado()).aplicaResultado(personagem, monstro, combate.getResultado());

Estrutura do projeto

javadungeon/
├── pom.xml                 POM pai: versões e configurações comuns
├── javadungeon-core        Regras, publicado no registro Maven
│   └── models, combate, loja, save, utils (Dado, Sanitizacao), Config
├── javadungeon-terminal    Interface de terminal, gera o jar executável
│   └── telas, Terminal, Jogo, Main e as artes ASCII
└── javadungeon-gui         Interface gráfica em JavaFX
    └── gui e as pastas resources/gui/imagens e resources/gui/fontes

O core não conhece nenhuma interface. O terminal e a interface gráfica dependem dele.

Testes

mvn test

Os testes usam um dado "viciado" (DadoFixo) para que as lutas tenham resultados previsíveis.

Próximos passos

  • Imagens para os monstros que ainda mostram o "not found" e retratos das classes na criação de personagem.
  • Ficha completa do personagem e troca de equipamento na interface gráfica.

Licença

O código está sob a licença MIT.

Créditos

Este trabalho inclui material do System Reference Document 5.1 ("SRD 5.1") da Wizards of the Coast LLC, disponível em https://dnd.wizards.com/resources/systems-reference-document. O SRD 5.1 é licenciado sob a Creative Commons Attribution 4.0 International License, disponível em https://creativecommons.org/licenses/by/4.0/legalcode.

As estatísticas da Tiamat são uma adaptação própria e não fazem parte do SRD.


Feito por AbyssDev