Skip to content

Este projeto é uma implementação do clássico jogo de cartas Black Jack (ou 21) jogado diretamente no terminal. O jogador pode optar por pedir mais cartas ("hit") ou parar ("stand").

Notifications You must be signed in to change notification settings

killuaxhunterx/BlackJackTypeScript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🃏 Projeto Black Jack - Jogo de Cartas no Terminal

Este projeto é uma implementação do clássico jogo de cartas Black Jack (ou 21) jogado diretamente no terminal. O jogador pode optar por pedir mais cartas ("hit") ou parar ("stand").

✨ Recursos e Tecnologias

Este projeto foi construído com foco em boas práticas de desenvolvimento e arquitetura de software, utilizando as seguintes tecnologias e conceitos:

Linguagem: TypeScript

Ambiente de Execução: Node.js

Interação com Usuário: prompt-sync (para leitura de entradas do jogador via terminal)

Arquitetura: Model-View-Controller (MVC)

Paradigma: Programação Orientada a Objetos (POO)

Padrões de Design:

    Injeção de Dependência (DI)

    Domain-Driven Design (DDD)

🏗️ Arquitetura

O projeto segue a arquitetura MVC combinada com princípios de DDD e POO.

Domain-Driven Design (DDD): O coração do projeto é o domínio do jogo Black Jack, onde as regras de negócio (cálculo de pontuação, lógica de "hit" e "stand", distribuição de cartas) são estritamente definidas e isoladas.

Model-View-Controller (MVC):

    Model: Contém a lógica de domínio (DDD). Classes como Baralho, Mão, Jogador e RegrasDoJogo representam o estado e o comportamento do jogo.

    View: Responsável por exibir o estado do jogo e as opções ao jogador no terminal.

    Controller: Lida com a entrada do jogador (prompt-sync) e coordena as interações entre o Model e a View.

Injeção de Dependência (DI): Utilizada para desacoplar componentes, tornando o código mais flexível e testável (ex: a View pode ser injetada no Controller).

🚀 Como Rodar o Projeto

Pré-requisitos

Você precisa ter o Node.js instalado na sua máquina.

Clone o repositório:

git clone https://github.com/killuaxhunterx/BlackJackTypeScript
cd [NOME_DO_DIRETORIO]

Instale as dependências:

npm install typescript
npm install typescript --save-dev
npx tsc init

Compile o TypeScript:

npm run build

Isso criará os arquivos JavaScript compilados na pasta de destino (ex: dist/).

Execute o jogo:

npm run build

🕹️ Como Jogar

O jogo é interativo via terminal.

Ao iniciar, você e o Dealer receberão as cartas iniciais.

Você verá a pontuação da sua mão e a primeira carta da Croupier.

O jogo irá perguntar: "Deseja Pedir(hit) outra carta ou Parar(stand)?"

Digite hit (Pedir) para receber outra carta.

Digite stand (Parar) para manter sua mão atual.

O jogo continuará até que você pare ou ultrapasse 21 pontos ("bust").

About

Este projeto é uma implementação do clássico jogo de cartas Black Jack (ou 21) jogado diretamente no terminal. O jogador pode optar por pedir mais cartas ("hit") ou parar ("stand").

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published