PROFICIENTE#

Com as funções implementadas no item anterior, podemos focar no cálculo dos pontos dos dados.

Item 1#

A cada rodada, sempre que o jogador rola os dados, o jogo deverá apresentar a pontuação da combinação atual para as categorias de 1 a 6.

Tabela de regras simples.

Ou seja, para a combinação de dados abaixo:

Uma combinação de dados.

O jogo disponibilizará as seguintes informações:

Exemplo do cálculo dos pontos.

Desta forma, implemente a função calcula_pontos_regra_simples que recebe como argumento uma lista de números inteiros representando as faces dos dados rolados e retorna um dicionário com o cálculo dos pontos de acordo com o que foi descrito acima.

Exemplo:

print(calcula_pontos_regra_simples([2, 3, 4, 5, 2]))

Saída:

{1: 0, 2: 4, 3: 3, 4: 4, 5: 5, 6: 0}


Item 2#

No item anterior, calculamos as pontuações para algumas categorias. No item 2, vamos fazer o cálculo para as outras categorias que ficaram de fora.

Tabela de regras simples.

Ou seja, para a combinação de dados abaixo:

Outra combinação de dados.

O jogo disponibilizará as seguintes informações:

Exemplo do cálculo dos pontos.

Desta forma, implemente a função calcula_pontos_regra_avancada que recebe como argumento uma lista de números inteiros representando as faces dos dados rolados e retorna um dicionário com o cálculo dos pontos de acordo com o que foi descrito acima.

Exemplo:

print(calcula_pontos_regra_avancada([2, 2, 2, 2, 2]))

Saída:

{
 'cinco_iguais': 50,
 'full_house': 0,
 'quadra': 10,
 'sem_combinacao': 10,
 'sequencia_alta': 0,
 'sequencia_baixa': 0
}

Outro exemplo 1

Para a combinação abaixo, temos uma Sequência Alta:

Exemplo de combinação sequencial

Além disso, também temos duas combinações da categoria Sequência Baixa: Exemplo de combinação sequencial Exemplo de combinação sequencial

Porém, mesmo com duas sequência baixas, a pontuação para esta categoria será de 15 pontos.

Para a sequência de dados [1, 2, 3, 4, 5], o dicionário com a pontuação ficará da seguinte forma:

{
  'sem_combinacao': 15,
  'quadra': 0,
  'full_house': 0,
  'sequencia_baixa': 15,
  'sequencia_alta': 30,
  'cinco_iguais': 0
}

Note que a sequência dos dados não precisa estar ordenada. Ou seja, o dicionário acima vale para as sequências [5, 2, 1, 3, 4], [5, 4, 3, 2, 1] ...


Observação 2

A ordem dos itens no dicionário não importa.