Calculadora de pontuação do Yahtzee
Em uma partida de Yahtzee, o jogador precisa marcar pontos lançando cinco dados e tentando obter uma combinação específica em cada um dos treze turnos do jogo.
| Turno | Nome | Pontos |
|---|---|---|
| 1 | Uns | Soma de todos os dados que mostram 1 |
| 2 | Dois | Soma de todos os dados que mostram 2 |
| 3 | Três | Soma de todos os dados que mostram 3 |
| 4 | Quatros | Soma de todos os dados que mostram 4 |
| 5 | Cincos | Soma de todos os dados que mostram 5 |
| 6 | Seis | Soma de todos os dados que mostram 6 |
| 7 | Trinca | Soma de todos os dados se houver pelo menos três dados iguais |
| 8 | Quadra | Soma de todos os dados se houver pelo menos quatro dados iguais |
| 9 | Full House | 25 pontos se houver dois dados de um número e três dados de outro número |
| 10 | Sequência menor | 30 pontos se houver uma sequência de pelo menos quatro dados (1,2,3,4 ou 2,3,4,5 ou 3,4,5,6) |
| 11 | Sequência maior | 40 pontos se houver uma sequência de cinco dados (1,2,3,4,5 ou 2,3,4,5,6) |
| 12 | Yahtzee | 50 pontos se houver cinco dados iguais |
| 13 | Chance | Soma de todos os dados |
Se, durante um turno, os dados lançados não formarem uma combinação válida, a pontuação desse turno será igual a 0. Se o total de pontos obtidos durante os seis primeiros turnos for igual ou superior a 63, serão adicionados 35 pontos à pontuação final.
Você recebe um array arr que contém 13 arrays; cada array representa um conjunto de cinco dados a ser verificado para determinar a combinação do turno, de acordo com a ordem e a descrição apresentadas na tabela acima. Você deve implementar uma função que retorne um inteiro correspondente à pontuação final obtida pelo jogador.
Exemplo
yahtzee_score_calc([
[1, 3, 1, 1, 2], # Aces
[1, 2, 4, 5, 6], # Twos
[6, 3, 4, 3, 4], # Threes
[3, 1, 1, 4, 4], # Fours
[5, 5, 5, 5, 3], # Fives
[6, 2, 6, 6, 6], # Sixes
[1, 4, 4, 2, 1], # Three of a Kind
[3, 3, 3, 3, 3], # Four of a Kind
[2, 2, 1, 1, 2], # Full House
[6, 1, 2, 3, 4], # Lower Straight
[2, 3, 5, 4, 1], # Higher Straight
[4, 4, 4, 4, 4], # Yahtzee
[3, 3, 4, 5, 6], # Chance
]) ➞ 279
# Turn 1 ➞ There are 3 dice showing "1" ➞ 3 pts.
# Turn 2 ➞ There is 1 die showing "2" ➞ 2 pts.
# Turn 3 ➞ There are 2 dice showing "3" ➞ 6 pts.
# Turn 4 ➞ There are 2 dice showing "4" ➞ 8 pts.
# Turn 5 ➞ There are 4 dice showing "5" ➞ 20 pts.
# Turn 6 ➞ There are 4 dice showing "6" ➞ 24 pts.
# Turn 7 ➞ There aren't at least 3 dice the same ➞ 0 pts.
# Turn 8 ➞ There are 4 dice the same ➞ 15 pts. (sum of all dice)
# Turn 9 ➞ There is a Full House (two "1" and three "2") ➞ 25 pts.
# Turn 10 ➞ There is a Lower Straight (1,2,3,4) ➞ 30 pts.
# Turn 11 ➞ There is a Higher Straight (1,2,3,4,5) ➞ 40 pts.
# Turn 12 ➞ Yahtzee!!! There are 5 dice the same ➞ 50 pts.
# Turn 13 ➞ Sum of all dice ➞ 21 pts.
# The sum of the points made in the first six turns is:
# 3 + 2 + 6 + 8 + 20 + 24 = 63
# There is a bonus of 35 points
# The sum of the points made in the other seven turns is:
# 0 + 15 + 25 + 30 + 40 + 50 + 21 = 181
# The total is equal to:
# 63 + 35 + 181 = 279Observações
- Ao jogar para obter uma Trinca, você deve procurar pelo menos três dados iguais, e não exatamente três. A mesma regra se aplica à combinação Quadra e à combinação Sequência menor (que também é válida se for obtida por meio de uma Sequência maior).
- Um Full House é válido se for obtido com uma combinação de dois valores diferentes: cinco dados iguais não formam um Full House.
- Obviamente, esta é uma versão de Yahtzee adaptada para este desafio específico: você pode encontrar as regras oficiais (e uma tabela mais clara) na aba Resources.