Construa um simulador de rolagem de dados no Python

Construa um simulador de rolagem de dados no Python
Os dados são um cubo simples que gera qualquer número de 1 a 6, e o simulador de dados é um modelo de computador que lança os dados do usuário. Um simulador de rolagem de dados pode ser implementado de maneiras diferentes por Python. Seis imagens serão necessárias para criar que serão usadas no simulador. O módulo de travesseiro de Python é usado para exibir qualquer imagem em python que não seja instalada por padrão. O simulador de rolagem de dados pode ser implementado sem GUI e GUI, como mostrado neste tutorial.

Instalando o módulo de processamento de imagem:

O módulo de processamento de imagens exigirá se você deseja criar o simulador de rolamento de dados com a GUI. Execute os seguintes comandos do terminal para atualizar o PIP e instalar o módulo de travesseiro.

$ python3 -m pip install -upgrade pip
$ python3 -m pip install -upgrade travesseiro

Exemplo 1: Criando um simulador simples de rolamento de dados

Um simulador simples de rolagem de dados pode ser criado usando o módulo aleatório do Python neste tutorial. Este script gerará a saída de dados no terminal. Portanto, nenhum módulo de processamento de imagem é usado no script. Uma variável nomeada dados é usado para levar qualquer número de 1 a 6 aleatoriamente. O lance os dados() A função é definida aqui para gerar a saída com base no valor aleatório. O infinito enquanto o loop é usado no script para rolar os tempos infinitos de dados até que o usuário digite qualquer coisa sem 'y'.

# Importar módulo aleatório
importar aleatório
# Definir loop infinito
enquanto é verdade:
# Gere um número aleatório entre 1 e 6
dados = aleatório.Randint (1, 6)
# Defina a função para imprimir a saída com base no valor dos dados
def roll_the_dice (dados):
switcher =
1: "[] \ n | 0 | \ n []",
2: "[0] \ n | | \ n [0]",
3: "[0] \ n | 0 | \ n [0]",
4: "[0 0] \ n | | \ n [0 0]",
5: "[0 0] \ n | 0 | \ n [0 0]",
6: "[0 0] \ n | 0 0 | \ n [0 0]"

Retorno Switcher.Obtenha (dados)
# Ligue para a função
Imprimir (roll_the_dice (dados))
# Peça ao usuário que enrole os dados novamente
resposta = entrada ("Você deseja rolar os dados novamente (S/N)? : ")
# Encerrar o loop se o usuário digitar algo sem 'y'
se responder != 'y':
saída (0)

Saída:

A saída do script acima varia em cada iteração do loop para usar números inteiros aleatórios. Na saída a seguir, 5 é gerado na primeira iteração do loop exibida usando 5 zeros. Em seguida, o usuário digitou 'y' para continuar o loop e 4 gerou na segunda iteração do loop e exibiu o valor usando zeros como antes. O script terminou quando o usuário tipos 'n'.

Exemplo 2: Crie um simulador de rolagem de dados com imagens

Você precisa criar seis imagens de dados antes de executar o script do exemplo. Você pode criar as imagens usando qualquer aplicativo de criação de imagem. As seis imagens a seguir foram criadas para usar no script deste exemplo. Mantenha as imagens no mesmo local em que você criará o arquivo python para implementar o simulador.

A maneira de criar um simulador de rolagem de dados com a GUI é mostrada no script a seguir. Muitos módulos existem no Python para criar aplicativos de GUI. O módulo Tknter é usado neste script para implementar o simulador de rolamento de dados baseado em GUI. Imagem e Imagetk Os módulos são usados ​​no script para exibir imagens de dados. O aleatório O módulo é usado para selecionar a imagem de dados aleatoriamente. No início do script, o objeto Tknter criou para definir o tamanho e a posição da janela onde a imagem dos dados será exibida. Aqui, a posição da janela foi definida centralmente. Em seguida, uma variável de lista declarou com os seis nomes de imagem de dados. aleatório.A função Choice () é usada para selecionar aleatoriamente um índice do nome da imagem da lista e obter o nome da imagem com base no valor do índice. expand = true usou na função pack () para adicionar espaço extra ao adicionar um widget na janela. Uma etiqueta foi adicionada na janela para exibir a imagem dos dados e um botão foi adicionado na janela para exibir a próxima imagem de dados. O lance os dados() A função está associada ao botão para gerar a próxima imagem de dados. Esta função será chamada quando o usuário pressionar ou clicar no 'LANCE OS DADOS' botão.

# Importar módulo Tknter
importar tknter
# Importar módulos de imagem e imageTK
Da imagem de importação do PIL, Imagetk
# Importar módulo aleatório
importar aleatório
# Defina o objeto para exibir a janela principal do aplicativo
win = tknter.Tk ()
# Defina o título da janela principal
ganhar.Título ('Rolling Dice')
# Defina a altura e a largura da janela principal
ganhar.Geometria ('350x280')
# Defina a posição da janela
ganhar.Eval ('Tk :: PlaceWindow . Centro')
# Defina a lista com os seis nomes de imagem de dados
dice_images = ['D1.png ',' d2.png ',' d3.png ',' d4.png ',' d5.png ',' d6.png ']
# Gere qualquer índice dentro de 0 a 6 aleatoriamente para obter a imagem atual dos dados
img = imageTk.Fotoinagem (imagem.aberto (aleatório.escolha (dice_images)))
# Defina o rótulo para exibir a imagem selecionada
lbl_image = tknter.Rótulo (Win, Image = IMG)
lbl_image.imagem = img
# Defina o widget de etiqueta dentro da janela dos pais
lbl_image.pack (expands = true)
# Defina a função para alterar a imagem dos dados quando o botão é clicado
def roll_the_dice ():
img = imageTk.Fotoinagem (imagem.aberto (aleatório.escolha (dice_images)))
# Actualizar imagem
lbl_image.Configurar (Image = IMG)
# Mantenha uma referência
lbl_image.imagem = img
"
Defina o botão, defina o texto do botão e defina o comando
para chamar a função roll_the_dice ()
"
btn = tknter.Botão (Win, Text = 'Roll the Dice', Command = roll_the_dice)
# Defina o botão dentro da janela dos pais
btn.pack (expands = true)
# Ligue para o Maiorloop de Tknter para abrir a janela principal
ganhar.MAINLOOP ()

Saída:

Como o exemplo anterior, a imagem dos dados será selecionada aleatoriamente toda vez que o botão será pressionado. Na saída a seguir, a imagem dos dados de seis foi gerada após a execução do script.

A imagem dos dados de três foi gerada após pressionar o botão.

Conclusão:

Duas maneiras diferentes de criar um simulador de rolagem de dados usando o script python foram explicadas neste tutorial. Isso ajudará os leitores a saber como esse tipo de aplicativo pode ser implementado no Python.