https://github.com/jonathanprojetos/trybers-and-dragons
Este projeto trata-se de uma simulação de um jogo de RPG
https://github.com/jonathanprojetos/trybers-and-dragons
docker eslint poo solid typescript
Last synced: about 2 months ago
JSON representation
Este projeto trata-se de uma simulação de um jogo de RPG
- Host: GitHub
- URL: https://github.com/jonathanprojetos/trybers-and-dragons
- Owner: JonathanProjetos
- Created: 2022-10-08T14:18:45.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-10-09T17:44:33.000Z (over 3 years ago)
- Last Synced: 2025-02-05T07:28:44.688Z (over 1 year ago)
- Topics: docker, eslint, poo, solid, typescript
- Language: TypeScript
- Homepage:
- Size: 155 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Trybers and Dragons
# Contexto
Este projeto trata-se de uma simulação de um jogo de RPG sigla em inglês para role-playing game, um gênero de jogo no qual os jogadores assumem o papel de personagens imaginários, em um mundo fictício. A aplicação conta com algumas classes bem comuns como Mage, Necromancer, Ranger e Warrior, todas elas batalham no modelo PVP(Player vs Player) e PVE(Player vs Environment).
## POO
A aplicação se apoia nos principios do POO tais como:
- Abstração: Desenvolver a aplicação pensando em quem for consumir, abstraindo de detalhes técnicos que não são relevantes para quem for utiliza-la.
- Encapsulamento: Expor o mínimo possível de atributos da classe ao meio exterior a ela. Atualizações e modificações devem ser feitas de forma nativa utilizando métodos internos da própria classe.
- Herança: Classes filhas ou sub classes devem ser capazes de herdar métodos e atributos da super classe.
- Polimorfismo: Capacidade de gerar resultados diferentes ao chamar objetos de classes filhas ou sub classes de uma mesma super classe.
## SOLID
A aplicação segue os conceitos de paradigma SOLiD, porem não ao pé da letra. O uso foi feito usando o conhecimento que tenho ate o momento =D "1 semana", é em um futuro não muito distante quero discutir o assunto com mais liberdade e bagagem. Gostaria de compartilha de forma breve os princípios do paradigma SOLID.
- "S" Single Responsibility Principle: Entidade de software deve ter uma unica responsabilidade.
- "O" Open/Closed Principle (OCP): Entidade de software deve está aberta para extenção e fechada para modificação.
- "L" Liskov Substitution Principle: Objetos em um programa devem ser substituíveis por instâncias de seus subtipos, sem alterar a funcionalidade do programa.
- "I" Interface Segregation Principle - ISP: Nenhum cliente deve ser forçado a depender de métodos que não utiliza.
- "D" Dependency Inversion Principle: Entidades de alto nível não devem depender de entidades de baixo nível. Ambos devem depender de abstrações.
## Ferramentas utilizadas
- TypeScript
- Docker
- Eslint