使用 Python 进行 GUI 掷骰子模拟

原文地址

  • 最后更新 : 02 Aug, 2022

在本文中,我们将使用TkinterPython中的随机模块创建Rolling The Dices Game。

Python中的随机模块是一个内置模块,用于为各种分布生成随机数。在这里,我们将使用此模块为我们的骰子创建随机结果。Python提供了各种库来满足我们的需求,Tkinter就是其中之一。Tkinter是Python的标准库,借助它,我们可以轻松创建图形用户界面应用程序,并向其添加按钮,滚动条,文本框和标签等小部件。

先决条件

  • 我们必须具备Python,Tkinter和随机模块的基本知识。
  • Tkinter 模块应安装在系统上。

安装

可以通过在命令提示符下运行以下命令来安装 Tkinter:

pip install tk

逐步实施

现在,我们将为我们的Rolling The Dices游戏编写Python脚本。

步骤 1:创建一个简单的 Tkinter 窗口。

在此步骤中,我们只需创建一个窗口,并将背景色设置为黑色,窗口大小为“550 * 350”,并将窗口的标题设置为“滚动骰子游戏”。

  • 蟒蛇
# Importing tkinter and random modules
from tkinter import *
import random

# Creating a window
window = Tk()

# Setting background colour of the window
window.configure(bg="black")

# Setting geometry of the window
window.geometry("550x350")

# Setting title of the window
window.title("Rolling The Dices Game")

# Preventing maximizing of the window
window.resizable(0, 0)

window.mainloop()

输出:

python 摇号程序 python摇骰子_Python

步骤2:添加“滚动”按钮并在窗口中标记它。

在此步骤中,我们将在第一步中创建的窗口中添加一个“滚动”按钮。当我们单击滚动按钮时,骰子被滚动(随机洗牌),为此我们必须为滚动按钮创建一个函数。让我们在下一步中创建该函数。

  • 蟒蛇
# Importing tkinter and random modules
from tkinter import *
import random

# Creating a window
window = Tk()

# Setting background colour of the window
window.configure(bg="black")

# Setting geometry of the window
window.geometry("550x350")

# Setting title of the window
window.title("Rolling The Dices Game")

# Preventing maximizing of the window
window.resizable(0, 0)

# Adding button to roll the dices
roll_button = Button(window, text="Roll!",
					width=10, height=2,
					font=15, bg="aqua", bd=2)
# Setting the position of the button
roll_button.pack(padx=10, pady=15)

# Adding Label
label = Label(window, font=("times", 250),
			bg="black", fg="yellow")

window.mainloop()

输出:

python 摇号程序 python摇骰子_python_02

步骤3:创建一个函数来掷骰子。

在此步骤中,我们将使用随机模块的 random.choice() 函数为我们在上一步中制作的滚动按钮制作一个函数,该函数可以使用随机模块的 random.choice() 函数来随机选择骰子顶部的数字。每当我们点击掷骰子按钮时,可以在骰子的顶部看到随机数量的点。为了在顶部显示骰子点,我们使用死面的 Unicode 字符,例如“\u2680 表示 1 点”和“\u2681 表示 2 点”。

  • 蟒蛇
# Importing tkinter and random modules
from tkinter import *
import random

# Creating a window
window = Tk()

# Setting background colour of the window
window.configure(bg="black")

# Setting geometry of the window
window.geometry("550x350")

# Setting title of the window
window.title("Rolling The Dices Game")

# Preventing maximizing of the window
window.resizable(0, 0)

# Creating function to roll the dices
def roll_dices():
	# These values indicate dots on the dices.
	# For eg: \u2680 corresponds to 1 dot,
	# \u2681 corresponds to 2 dots etc.
	dice_dots = ['\u2680', '\u2681',
				'\u2682', '\u2683',
				'\u2684', '\u2685']
	# Generating random dots on the dices
	label.configure(
		text=f'{random.choice(dice_dots)}{random.choice(dice_dots)}')
	label.pack()


# Adding button to roll the dices
roll_button = Button(window, text="Roll!",
					width=10, height=2,
					font=15, bg="aqua",
					bd=2, command=roll_dices)
# Setting the position of the button
roll_button.pack(padx=10, pady=15)

# Adding Label
label = Label(window, font=("times", 250),
			bg="black", fg="yellow")

window.mainloop()

输出:

python 摇号程序 python摇骰子_Game_03