Este projeto consiste na aplicação dos princípios da arquitetura SOLID e da Programação Orientada a Objetos (POO) em uma estrutura de jogos de interpretação de papéis, popularmente conhecidos como RPGs (Role Playing Games). Através dessa aplicação, foram criadas bases sólidas para o desenvolvimento de jogos de RPG, permitindo maior flexibilidade, escalabilidade e manutenibilidade do código, além de garantir uma melhor organização das funcionalidades do jogo e facilitar a adição de novos recursos.
Back-end: Javascript
, Typescript
, Node.js
, POO
, SOLID
, Docker
Para executar o serviço Node, utilize o comando docker-compose up -d
Esse serviço ira inicializar um container chamado trybers_and_dragons
. A partir daqui você pode rodar o container trybers_and_dragons
via CLI ou abri-lo no VS Code. Use o comando docker exec -it trybers_and_dragons bash
.
Ele te dará acesso ao terminal interativo do container criado pelo compose, que está rodando em segundo plano. Instale as dependências "Caso existam" com npm install
The Compose file './docker-compose.yml' is invalid because:
Unsupported config option for services.db: 'platform'
Unsupported config option for services.node: 'platform'
🤷🏽♀️ Foram encontradas 2 possíveis soluções para este problema:
-
Você pode adicionar manualmente a option platform: linux/amd64 no service do banco de dados no arquivo docker-compose.yml do projeto, mas essa é uma solução local e você deverá reproduzir isso para os outros projetos.
-
Você pode adicionar manualmente nos arquivos .bashrc, .zshenv ou .zshrc do seu computador a linha export DOCKER_DEFAULT_PLATFORM=linux/amd64, essa é uma solução global. As soluções foram com base nesta fonte.
Para criar uma Batalha PVP, voce precisa criar duas instancias de players.
✨ Dica: Voce pode upar o level dos personagens com o metodo levelUp
.
const player1 = new Character('Harold');
const player2 = new Character('Any');
player1.levelUp();
Criando a instancia de PVP, voce precisa instanciar a batalha PVP da seguinte forma:
const pvp = new PVP(player1, player2);
Para criar uma Batalha PVE, voce precisa ter um player e um array
de monsters( no array pode ser inserido a quantidade que desejar de monstros
e dragons
).
✨ Dica: Voce pode upar o level dos personagens com o metodo levelUp
.
const player1 = new Character('Harold');
const monster = new Monster();
Criando a instancia de PVE, voce precisa instanciar a batalha PVE da seguinte forma:
const pve = new PVE(player1, [monster]);