BÁSICO#

Na primeira etapa do desenvolvimento, vamos implementar os itens a seguir:

Etapa 1#

Faça a função rolar_dados que recebe como argumento um número inteiro representando a quantidade de dados a serem rolados e devolve um lista contendo os dados rolados. Ou seja, ao fazer a chamada da função rolar_dados(4) a função deve simular a rolagem de 4 dados de 6 faces e retornar um lista com 4 valores que podem variar de 1 a 6.

Importante: Utilize a função random.randint.

Note que o código abaixo é apenas um exemplo, e como os valores dos dados são aleatórios, os valores na lista serão diferentes.

Exemplo:

print(rolar_dados(5))

Saída:

[6, 1, 1, 6, 3]


Etapa 2#

No jogo de dados é possível guardar algum dos dados rolados para tentar criar uma combinação específica.

Veja um exemplo a seguir:

Exemplo de jogada.

Desta forma, precisamos implementar uma função guardar_dado, que recebe como argumentos uma lista de dados rolados, uma lista de dados já guardados e um número inteiro representado o índice do dado a ser armazenado.

  1. Lista de dados rolados:

    Dados rolados.

  2. Dado a ser armazenado:

    Dados para armazenar.

  3. Lista de dados já guardados:

    Dados guardados.

Sua função deve retornar uma lista com dois valores, o primeiro valor representando a lista de dados rolados e o segundo representando a lista de dados armazenados no estoque.

Exemplo:

dados_rolados = [1, 3, 2]
dados_no_estoque = [1, 2]
dado_para_guardar = 1

print(guardar_dado(dados_rolados, dados_no_estoque, dado_para_guardar))

Saída:

[[1, 2], [1, 2, 3]]

No exemplo acima, o jogador já está guardando 2 dados [1, 2]. Provavelmente, o jogador está tentando montar uma combinação sequencial. Com os dados [1, 3, 2] rolados, o jogador deseja guardar o dado com face 3 no estoque. Desta forma, a variável dado_para_guardar, definida no exemplo acima, representa a posição do dado que o jogador deseja guardar. Com isso, a função guardar_dado deve transferir o dado da lista dados_rolados para a lista dados_no_estoque.


Etapa 3#

No jogo de dados, também é possível remover os dados já armazenados.

Desta forma, precisamos implementar uma função remover_dado, que recebe como argumentos uma lista de dados rolados, uma lista de dados já guardados e um número inteiro representado o índice do dado a ser removido. Sua função deve retornar uma lista com dois valores, o primeiro elemento da lista representando a lista de dados rolados e o segundo elemento representando a lista de dados armazenados no estoque.

Exemplo:

dados_rolados = [2, 2, 2, 2]
dados_no_estoque = [1]
dado_para_remover = 0

print(remover_dado(dados_rolados, dados_no_estoque, dado_para_remover))

Saída:

[[2, 2, 2, 2, 1], []]

No exemplo acima, o jogador está guardando um dado com valor de face 1. Com os dados [2, 2, 2, 2] rolados, talvez seja melhor mudar a estratégia e mandar o 1 embora. Desta forma, a variável dado_para_remover, definida no exemplo acima, representa a posição do dado que o jogador deseja remover do estoque. Com isso, a função remover_dado deve transferir o dado da lista dados_no_estoque para a lista dados_rolados.