Construir un simulador de dados en Python

Construir un simulador de dados en Python
El dados es un cubo simple que genera cualquier número de 1 a 6, y el simulador de dados es un modelo de computadora que rueda los dados para el usuario. Python puede implementar un simulador de dados de diferentes maneras por Python. Se requerirán seis imágenes para crear que se utilizarán en el simulador. El módulo de almohada de Python se usa para mostrar cualquier imagen en Python que no esté instalada de forma predeterminada. El simulador de dados se puede implementar sin GUI y GUI, como se muestra en este tutorial.

Instalación del módulo de procesamiento de imágenes:

El módulo de procesamiento de imágenes requerirá si desea crear el simulador de dados con GUI. Ejecute los siguientes comandos desde el terminal para actualizar el PIP e instalar el módulo de almohada.

$ python3 -m PIP instalación -PIP -Upgrade
$ python3 -m PIP instalación -almohada de rentable

Ejemplo-1: Creación de un simulador de dados simple

Se puede crear un simple simulador de dados con el módulo aleatorio de Python en este tutorial. Este script generará la salida de dados en el terminal. Por lo tanto, no se utiliza ningún módulo de procesamiento de imágenes en el script. Una variable nombrada dado se usa para tomar cualquier número de 1 a 6 al azar. El tirar los dados() La función se define aquí para generar la salida en función del valor aleatorio. El bucle infinito se usa en el script para rodar los tiempos infinitos de dados hasta que el usuario escriba algo sin 'y'.

# Importar módulo aleatorio
importar al azar
# Definir bucle infinito
Mientras que es cierto:
# Generar un número aleatorio entre 1 y 6
dados = aleatorio.Randint (1, 6)
# Defina la función para imprimir la salida en función del valor de dados
def roll_the_dice (dados):
conmutador =
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]"

Volver al conmutador.Obtener (dados)
# Llamar a la función
print (roll_the_dice (dados))
# Solicite al usuario que vuelva a tirar los dados
Respuesta = entrada ("¿Desea rodar los dados nuevamente (y/n)? : ")
# Termine el bucle si el usuario escribe algo sin 'y'
Si responde != 'Y':
Salir (0)

Producción:

La salida del script anterior variará en cada iteración del bucle para usar números enteros aleatorios. En la siguiente salida, se genera 5 en la primera iteración del bucle que se muestra usando 5 ceros. A continuación, el usuario escribió 'Y' para continuar el bucle, y 4 ha generado en la segunda iteración del bucle y ha mostrado el valor usando ceros como antes. El script ha terminado cuando el usuario tipos 'norte'.

Ejemplo-2: crea un simulador de dados con imágenes

Tienes que crear seis imágenes de dados antes de ejecutar el script del ejemplo. Puede crear las imágenes utilizando cualquier aplicación de creación de imágenes. Las siguientes seis imágenes se han creado para usar en el script de este ejemplo. Mantenga las imágenes en la misma ubicación donde creará el archivo de Python para implementar el simulador.

La forma de crear un simulador de dados con GUI se muestra en el siguiente script. Existen muchos módulos en Python para crear aplicaciones GUI. El módulo Tkinter se usa en este script para implementar el simulador de dados basado en GUI. Imagen y Imaginar Los módulos se utilizan en el script para mostrar imágenes de dados. El aleatorio El módulo se usa para seleccionar la imagen de dados al azar. Al comienzo del script, el objeto Tkinter ha creado para definir el tamaño y la posición de la ventana donde se mostrará la imagen de dados. Aquí, la posición de la ventana se ha establecido centralmente. A continuación, una variable de lista ha declarado con los seis nombres de imágenes de dados. aleatorio.La función Choice () se usa para seleccionar aleatoriamente un índice del nombre de la imagen de la lista y obtener el nombre de la imagen basado en el valor del índice. expandir = true se ha usado en la función Pack () para agregar espacio adicional al agregar un widget en la ventana. Se ha agregado una etiqueta en la ventana para mostrar la imagen de dados, y se ha agregado un botón en la ventana para mostrar la siguiente imagen de dados. El tirar los dados() La función se ha asociado con el botón para generar la siguiente imagen de dados. Esta función se llamará cuando el usuario presione o haga clic en el 'TIRAR LOS DADOS' botón.

# Importar módulo tkinter
importar tkinter
# Importar módulos de imagen e imagetk
de la imagen de importación de pil, imagetk
# Importar módulo aleatorio
importar al azar
# Definir objeto para mostrar la ventana principal de la aplicación
ganar = tkinter.Tk ()
# Establecer el título de la ventana principal
ganar.Título ('Dice Rolling')
# Establezca la altura y el ancho de la ventana principal
ganar.Geometría ('350x280')
# Establezca la posición de la ventana
ganar.eval ('tk :: placewindow . centro')
# Definir lista con los seis nombres de imágenes de dados
dice_images = ['d1.PNG ',' D2.PNG ',' D3.PNG ',' D4.png ',' d5.png ',' d6.png ']
# Genere cualquier índice dentro de 0 a 6 al azar para obtener la imagen de dados actual
img = imageTk.Photoimage (imagen.Abierto (aleatorio.elección (dice_images)))))
# Definir etiqueta para mostrar la imagen seleccionada
lbl_image = tkinter.Etiqueta (ganar, imagen = img)
LBL_IMAGE.imagen = img
# Establezca el widget de la etiqueta dentro de la ventana principal
LBL_IMAGE.paquete (expandir = verdadero)
# Definir la función para cambiar la imagen de dados cuando se hace clic en el botón
def roll_the_dice ():
img = imageTk.Photoimage (imagen.Abierto (aleatorio.elección (dice_images)))))
# Actualizar imagen
LBL_IMAGE.Configurar (Image = IMG)
# Mantenga una referencia
LBL_IMAGE.imagen = img
"
Botón Definir, configure el texto del botón y configure el comando
para llamar a la función roll_the_dice ()
"
btn = tkinter.Botón (ganar, text = 'Roll the Dice', Command = Roll_The_Dice)
# Establezca el botón dentro de la ventana principal
btn.paquete (expandir = verdadero)
# Llame a Mainloop de Tkinter para abrir la ventana principal
ganar.bucle principal()

Producción:

Al igual que el ejemplo anterior, la imagen de dados se seleccionará al azar cada vez que se presione el botón. En la siguiente salida, se ha generado la imagen de dados de seis después de ejecutar el script.

La imagen de dados de tres se ha generado después de presionar el botón.

Conclusión:

En este tutorial se han explicado dos formas diferentes de crear un simulador de dados utilizando el script de Python. Ayudará a los lectores a saber cómo se puede implementar este tipo de aplicación en Python.