Pitón

Construye un simulador de lanzamiento de dados en Python

Construye un simulador de lanzamiento de dados en Python
El dado es un cubo simple que genera cualquier número del 1 al 6, y el simulador de dados es un modelo de computadora que lanza los dados para el usuario. Python puede implementar un simulador de lanzamiento de dados de diferentes maneras. Se requerirán seis imágenes para crear que se usarán en el simulador. El módulo Pillow de Python se usa para mostrar cualquier imagen en Python que no esté instalada por defecto. El simulador de lanzamiento de dados se puede implementar sin GUI ni 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 lanzamiento de dados con GUI. Ejecute los siguientes comandos desde el terminal para actualizar el pip e instalar el módulo Pillow.

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

Ejemplo 1: creación de un simulador de lanzamiento de dados simple

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

# Importar módulo aleatorio
importar al azar
# Definir bucle infinito
mientras que es verdadero:
# Genera un número aleatorio entre 1 y 6
dado = aleatorio.randint (1, 6)
# Defina la función para imprimir la salida según el valor del dado
def roll_the_dice (dado):
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]"

conmutador de retorno.obtener (dados)
# Llamar a la función
print (roll_the_dice (dados))
# Pídale al usuario que vuelva a tirar los dados
answer = input ("¿Quieres tirar los dados de nuevo (s / n)?? : ")
# Termine el ciclo si el usuario escribe algo sin 'y'
si contesta != 'y':
salir (0)

Producción:

La salida del script anterior variará en cada iteración del ciclo 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 se generó en la segunda iteración del bucle y mostró el valor usando ceros como antes. El script ha terminado cuando el usuario escribe 'norte'.

Ejemplo 2: crear un simulador de lanzamiento 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 python para implementar el simulador.

La forma de crear un simulador de lanzamiento 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 utiliza en este script para implementar un simulador de lanzamiento de dados basado en GUI. Imagen y ImageTk Los módulos se utilizan en el script para mostrar imágenes de dados. La aleatorio El módulo se utiliza para seleccionar la imagen de los dados al azar. Al comienzo del script, el objeto Tkinter se ha creado para definir el tamaño de la ventana y la posición donde se mostrará la imagen del dado. Aquí, la posición de la ventana se ha establecido de forma centralizada. A continuación, se ha declarado una variable de lista con los nombres de imagen de seis 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 según el valor del índice. expand = True ha usado en la función pack () para agregar espacio extra al agregar un widget en la ventana. Se ha agregado una etiqueta en la ventana para mostrar la imagen del dado, y se ha agregado un botón en la ventana para mostrar la siguiente imagen del dado. La tirar los dados() La función se ha asociado con el botón para generar la siguiente imagen de dado. 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 Image e ImageTk
de la imagen de importación 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 ('Rolling Dice')
# Establecer la altura y el ancho de la ventana principal
ganar.geometría ('350x280')
# Establecer la posición de la ventana
ganar.eval ('tk :: PlaceWindow . centrar')
# Definir lista con los nombres de las imágenes de los seis dados
dice_images = ['d1.png ',' d2.png ',' d3.png ',' d4.png ',' d5.png ',' d6.png ']
# Genere cualquier índice de 0 a 6 aleatoriamente para obtener la imagen actual del dado
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
# Establecer el widget de etiqueta dentro de la ventana principal
lbl_image.paquete (expandir = Verdadero)
# Definir función para cambiar la imagen de los 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 (imagen = img)
# mantener una referencia
lbl_image.imagen = img
"
Definir botón, configurar el texto del botón y configurar el comando
para llamar a la función roll_the_dice ()
"
btn = tkinter.Botón (ganar, texto = 'LLEVAR LOS DADOS', comando = rodar_los_dados)
# Establecer el botón dentro de la ventana principal
btn.paquete (expandir = Verdadero)
# Llame al mainloop de Tkinter para abrir la ventana principal
ganar.bucle principal()

Producción:

Como en el ejemplo anterior, la imagen del dado se seleccionará aleatoriamente cada vez que se presione el botón. En el siguiente resultado, la imagen de seis dados se ha generado después de ejecutar el script.

La imagen del dado 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 lanzamiento de dados utilizando el script Python. Ayudará a los lectores a saber cómo se puede implementar este tipo de aplicación en Python.

Trackpad en pantalla y puntero del mouse AppyMouse para tabletas Windows
Los usuarios de tabletas a menudo pierden el puntero del mouse, especialmente cuando son habituales para usar las computadoras portátiles. Los teléfon...
El botón central del mouse no funciona en Windows 10
La botón central del ratón le ayuda a desplazarse por páginas web largas y pantallas con una gran cantidad de datos. Si eso se detiene, bueno, termina...
Cómo cambiar los botones izquierdo y derecho del mouse en una PC con Windows 10
Es una norma que todos los dispositivos de mouse de computadora estén diseñados ergonómicamente para usuarios diestros. Pero hay dispositivos de mouse...