Instruções
Construir um Assistente de Contagem de Cartas
No jogo de casino Blackjack, um jogador pode determinar se tem uma vantagem sobre a próxima mão da casa, mantendo o número relativo de cartas altas e baixas restantes no baralho. Isso se chama "contar as cartas".
Ter cartas mais altas restantes no baralho favorece o jogador. Quando o contador for positivo, o jogador deve apostar alto. Quando a contagem for zero ou negativa, o jogador deverá apostar baixo.
Objetivo: Cumprir as user stories abaixo e fazer todos os testes passarem para completar o laboratório.
Histórias de Usuário:
1. Você deve usar
let para declarar uma variável global chamada count e defini-la como 0.
1. Você deve ter uma função chamada cardCounter.
1. A função cardCounter deve receber um parâmetro card que pode ser um número ou uma string.
- Para valores entre
2e10, o parâmetrocardserá um número. - Para todos os outros valores, o parâmetro
cardserá uma string.
cardCounter deve modificar a variável global count com base em certos critérios.
1. A variável global count deve ser incrementada em 1 para os cartões 2, 3, 4, 5 ou 6
1. A variável global count deve permanecer inalterada para as cartas 7, 8, 9.
1. A variável global count deve ser decrementada em 1 para as cartas 10, "J", "Q", "K", "A"
1. A função cardCounter deve retornar uma string com a contagem atual e a string Bet se a contagem for positiva.
1. A função cardCounter deve retornar uma string com a contagem atual e a string Hold se a contagem for menor ou igual a 0.
1. Na saída da função, a contagem atual e a decisão do jogador (Bet ou Hold) devem ser separadas por um espaço. Por exemplo, -3 Hold.
O que fazer:
Testes:
- Você deve usar `let` para declarar uma variável global chamada `count` e defini-la como `0`.
- Você deve ter uma função chamada `cardCounter`.
- Sua função deve retornar o valor de `count` e o texto (`Bet` ou `Hold`) com um caractere de espaço entre eles.
- Após os cards `2`, `3`, `4`, `5`, chamar `cardCounter(6)` deve retornar a string `5 Bet`.
- Após as cartas `7`, `8`, chamar `cardCounter(9)` deve retornar a string `0 Hold`.
- Após as cartas `10`, `"J"`, `"Q"`, `"K"`, então chamar `cardCounter("A")` deve retornar a string `-5 Hold`.
- Após as cartas `3`, `7`, `"Q"`, `8`, chamar `cardCounter("A")` deve retornar a string `-1 Hold`.
- Após as cartas `2`, `"J"`, `9`, `2`, chamar `cardCounter(7)` deve retornar a string `1 Bet`.
- Após as cartas `2`, `2`, chamar `cardCounter(10)` deve retornar a string `1 Bet`.
- Após as cartas `3`, `2`, `"A"`, `10`, chamar `cardCounter("K")` deve retornar a string `-1 Hold`.
Preview