Pitão

Construir um simulador de lançamento de dados em Python

Construir um simulador de lançamento de dados em Python
O dado é 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 para o usuário. Um simulador de lançamento de dados pode ser implementado de diferentes maneiras pelo Python. Seis imagens serão necessárias para criar que serão usadas no simulador. O módulo Pillow do Python é usado para exibir qualquer imagem em Python que não esteja instalada por padrão. O simulador de lançamento de dados pode ser implementado sem GUI e GUI, conforme mostrado neste tutorial.

Instalando o Módulo de Processamento de Imagens:

O módulo de processamento de imagem exigirá se você quiser criar o simulador de lançamento de dados com GUI. Execute os seguintes comandos no terminal para atualizar o pip e instalar o módulo Pillow.

$ python3 -m pip install --upgrade pip
$ python3 -m pip install --upgrade Pillow

Exemplo 1: Criação de um simulador simples de lançamento de dados

Um simulador simples de lançamento de dados pode ser criado usando o módulo aleatório Python neste tutorial. Este script irá gerar a saída de dados no terminal. Portanto, nenhum módulo de processamento de imagem é usado no script. Uma variável chamada dados é usado para pegar qualquer número de 1 a 6 aleatoriamente. O lance os dados() função é definida aqui para gerar a saída com base no valor aleatório. O loop while infinito é usado no script para lançar os dados infinitas vezes até que o usuário digite qualquer coisa sem 'y'.

# Importar módulo aleatório
importar aleatório
# Definir loop infinito
enquanto verdadeiro:
# 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 do dado
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]"

switcher de retorno.obter (dados)
# Chame a função
imprimir (roll_the_dice (dice))
# Peça ao usuário para lançar os dados novamente
answer = input ("Você quer lançar os dados novamente (s / n)? : ")
# Encerre o loop se o usuário digitar qualquer coisa sem 'y'
se responder != 'y':
saída (0)

Resultado:

A saída do script acima irávariar 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 exibido usando 5 zeros. Em seguida, o usuário digitou 'você' para continuar o loop, e 4 gerou na segunda iteração do loop e exibiu o valor usando zeros como antes. O script foi encerrado quando o usuário digita 'n'.

Exemplo-2: crie um simulador de lançamento de dados com imagens

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

A maneira de criar um simulador de lançamento de dados com GUI é mostrada no seguinte script. Muitos módulos existem em Python para criar aplicativos GUI. O módulo Tkinter é usado neste script para implementar um simulador de rolagem de dados baseado em GUI. Imagem e ImageTk módulos são usados ​​no script para exibir imagens de dados. O aleatória módulo é usado para selecionar a imagem dos dados aleatoriamente. No início do script, o objeto Tkinter foi criado para definir o tamanho da janela e a posição onde a imagem do dado será exibida. Aqui, a posição da janela foi definida centralmente. Em seguida, uma variável de lista foi declarada com os nomes das imagens de seis dados. aleatória.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. Um rótulo foi adicionado na janela para exibir a imagem do dado e um botão foi adicionado na janela para exibir a próxima imagem do dado. O lance os dados() a função foi associada ao botão para gerar a imagem do próximo dado. Esta função será chamada quando o usuário pressionar ou clicar no botão 'LANCE OS DADOS' botão.

# Importar módulo Tkinter
importar tkinter
# Módulos de importação de imagem e ImageTk
da imagem de importação PIL, ImageTk
# Importar módulo aleatório
importar aleatório
# Defina o objeto para exibir a janela principal do aplicativo
win = tkinter.Tk ()
# Defina o título da janela principal
vencer.título ('Rolling Dice')
# Defina a altura e largura da janela principal
vencer.geometria ('350x280')
# Defina a posição da janela
vencer.eval ('tk :: PlaceWindow . Centro')
# Defina a lista com os nomes das seis imagens de dados
dice_images = ['d1.png ',' d2.png ',' d3.png ',' d4.png ',' d5.png ',' d6.png ']
# Gere qualquer índice de 0 a 6 aleatoriamente para obter a imagem do dado atual
img = ImageTk.PhotoImage (imagem.aberto (aleatório.escolha (dice_images)))
# Defina o rótulo para exibir a imagem selecionada
lbl_image = tkinter.Rótulo (vitória, imagem = img)
lbl_image.imagem = img
# Defina o widget de etiqueta dentro da janela principal
lbl_image.pack (expandir = True)
# Definir função para alterar a imagem do dado quando o botão é clicado
def roll_the_dice ():
img = ImageTk.PhotoImage (imagem.aberto (aleatório.escolha (dice_images)))
# Actualizar imagem
lbl_image.configurar (imagem = img)
# manter uma referência
lbl_image.imagem = img
"
Definir botão, definir o texto do botão e definir o comando
para chamar a função roll_the_dice ()
"
btn = tkinter.Botão (win, text = 'ROLL THE DICE', command = roll_the_dice)
# Defina o botão dentro da janela principal
btn.pack (expandir = True)
# Chame o mainloop do Tkinter para abrir a janela principal
vencer.mainloop ()

Resultado:

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

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

Conclusão:

Duas maneiras diferentes de criar um simulador de lançamento de dados usando o script Python foram explicadas neste tutorial. Ajudará os leitores a saber como este tipo de aplicativo pode ser implementado em Python.

O botão do meio do mouse não funciona no Windows 10
O botão do meio do mouse ajuda você a percorrer longas páginas da web e telas com muitos dados. Se isso parar, você vai acabar usando o teclado para r...
Como alterar os botões esquerdo e direito do mouse no PC com Windows 10
É normal que todos os dispositivos de mouse de computador sejam ergonomicamente projetados para usuários destros. Mas existem dispositivos de mouse di...
Emular cliques do mouse passando o mouse usando o mouse sem cliques no Windows 10
Usar um mouse ou teclado na postura errada de uso excessivo pode resultar em muitos problemas de saúde, incluindo tensão, síndrome do túnel do carpo e...