Python 中的石头剪刀布游戏2025年3月17日 | 阅读 10 分钟 Python 是一种可以用于不同目的的编程语言,人们可以用它做任何事情。Python 也可以用于开发游戏。开发游戏是学习如何编写程序的好方法。 在下面的教程中,我们将学习如何在 Python 编程语言中创建简单的“石头剪刀布”游戏,而无需使用任何外部游戏库,例如 PyGame。 但在我们开始之前,让我们简要了解一下“石头剪刀布”游戏是什么。 什么是“石头剪刀布”游戏?我们大多数人可能都玩过石头剪刀布。石头剪刀布通常用作两个人或更多人之间公平的选择方法,以解决争端或做出公正的集体决定。这种方法类似于抛硬币、抽签或掷骰子。 如果不熟悉,石头剪刀布游戏被认为是两人或更多玩家之间的手部游戏。参与者同时说“石头、剪刀、布!”,然后将手形成石头(拳头)、一张纸(手掌向下)或一把剪刀(两根手指伸出)的形状。 这个游戏的规则很简单 规则 1:石头砸剪刀,所以石头赢 规则 2:布包石头,所以布赢 规则 3:剪刀剪布,所以剪刀赢 现在我们已经了解了石头剪刀布游戏及其规则,我们可以开始思考这些规则如何转化为 Python 代码。 在下面的 Python 项目中,玩家将从石头、布和剪刀中选择一个。然后他们将点击播放按钮以显示游戏结果。 项目先决条件我们将使用 Python 编程语言的基本概念以及 Tkinter 库和 random 模块来实现石头剪刀布项目。 Tkinter 库: Tkinter 库是一个标准的图形用户界面 (GUI) 库,是构建 GUI 应用程序最简单的方法之一。 random 模块: random 模块允许程序员生成随机数。 我们可以使用 Python pip 安装程序命令在命令提示符或终端上安装这些库,如下所示 语法 Python 项目结构以下是我们使用 Python 构建一个功能齐全的带 GUI 的石头剪刀布游戏的步骤 步骤 1:导入所需的库 步骤 2:为应用程序创建 GUI 步骤 3:编写用户选择的代码 步骤 4:编写计算机选择的代码 步骤 5:定义函数 步骤 6:定义按钮 我们现在将详细讨论这些步骤。所以,让我们开始吧。 导入所需的库每个项目的第一步是导入项目过程中所需的所有库和模块。在这种情况下,我们将需要导入 Tkinter 库和 random 模块。 让我们考虑以下代码片段来说明这一点 文件:rockPaperScissors.py 说明 在上面的代码片段中,我们导入了 Tkinter 库以及 random 模块。 为应用程序创建 GUI完成导入所需的库和模块后,我们将使用 Tkinter 库的 Tk() 类初始化一个窗口,并为该窗口提供一些详细信息。 让我们看下面的代码片段来说明这一点: 文件:rockPaperScissors.py 说明 在上面的代码片段中,我们借助 Tkinter 库的 Tk() 类初始化了一个窗口。然后我们使用 title() 方法设置了窗口的标题。我们还使用 geometry() 方法设置了窗口的宽度和高度。然后我们在 config() 方法中通过 bg 参数指定了窗口的背景颜色。最后,我们通过在 resizable() 方法中将 width 和 height 参数设置为 False 来固定窗口的大小。 现在,我们将使用 Label() 小部件类向窗口添加一个标签。以下代码片段是 Label() 小部件的实现。 文件:rockPaperScissors.py 说明 在上面的代码片段中,我们使用 Label() 小部件来显示用户无法更改的文本。在此小部件中,我们指定了窗口的名称,即 guiWindow。我们还定义了标签上显示的文本作为该标签的标题。我们还提供了文本应使用的字体样式。我们还使用 bg 参数指定了背景颜色,并使用 fg 参数指定了前景颜色。然后我们使用 pack 函数以块的形式组织小部件。 为用户选择创建列现在我们已经成功创建了一个窗口,是时候创建玩家可以输入他们选择的列了。 让我们看下面的代码片段来说明这一点: 文件:rockPaperScissors.py 说明 在上面的代码片段中,我们使用 StringVar() 类将玩家的选择存储在 userInput 变量中。然后我们创建了一个标签来为玩家显示一些文本。最后,我们使用 Entry() 小部件创建了一个输入文本字段。在此小部件中,我们使用 textvariable 参数来检索 Entry() 小部件的文本。我们还使用 place() 函数将小部件放置在特定的坐标。 计算机选择的代码我们现在将使用 random 模块的 randint() 函数让计算机选择其偏好。让我们考虑以下代码片段来说明这一点。 文件:rockPaperScissors.py 说明 在上面的代码片段中,我们使用 random 模块的 randint() 函数从给定范围中随机选择一个数字。然后我们使用 if-elif-else 条件语句来玩石头剪刀布。 如果计算机选择 1,则石头将设置为 compSelection 变量。 如果计算机选择 2,则布将设置为 compSelection 变量。 如果计算机选择 3,则剪刀将设置为 compSelection 变量。 创建开始游戏的函数一旦我们从用户选择和计算机选择中获得值,我们将编写一个函数来开始游戏。此函数将检查 userSelection 变量的值并将其与 compSelection 变量的值进行比较,并返回所需的语句。 文件:rockPaperScissors.py 说明 在上面的代码片段中,我们创建了 StringVar() 类的一个对象。然后我们将一个函数定义为 letsPlay()。在此函数中,我们使用 if-elif-else 条件语句将用户的输入值与计算机选择的值进行比较,并使用 set() 函数根据比较结果存储相应的语句。在这个石头剪刀布游戏中,选择石头的一方将战胜选择剪刀的另一方,但会输给选择布的一方;选择布的一方将输给选择剪刀的一方。如果双方选择相同,则游戏将打平。 定义一个函数来重置游戏我们现在将创建一个函数来重置游戏。此函数会将所有变量设置为空字符串。 让我们看下面的代码片段来说明这一点: 文件:rockPaperScissors.py 说明 在上面的代码片段中,我们将一个函数定义为 resetGame()。在此函数中,我们将 res 和 userInput 等变量的值设置为空字符串。 定义一个退出游戏的函数我们现在将定义一个函数,通过停止 mainloop() 方法的执行来退出石头剪刀布程序。 让我们看下面的代码片段来说明这一点: 文件:rockPaperScissors.py 说明 在上面的代码片段中,我们使用 destroy() 方法停止 mainloop() 方法的执行并退出程序。 定义窗口的按钮现在让我们定义一些按钮来执行窗口上的处理。这些按钮将包括播放、重置和退出。 让我们考虑以下代码片段来说明这些按钮的定义。 文件:rockPaperScissors.py 说明 我们在上面的代码片段中创建了一个标签来显示结果。然后我们多次使用 Button() 小部件来创建不同的按钮来播放、重置和退出游戏。我们在这些小部件中使用 command 参数来在点击按钮时调用指定的函数。最后,我们调用 mainloop() 方法来执行程序。 因此,使用 Python 中的 Tkinter 库的石头剪刀布游戏就完成了。我们现在可以保存文件并运行程序以查看它是否有效。 要运行程序,我们可以在命令行 shell 或终端中键入以下命令 命令 但在我们看到输出之前,这里有一个完整的项目代码。 完整的项目代码以下程序文件是“石头剪刀布游戏”项目的完整代码。 文件:rockPaperScissors.py 输出 ![]() 结论最后,我们可以得出结论,我们已经成功地使用 Python 编程语言开发了石头剪刀布游戏。我们利用 Tkinter 库来渲染图形。我们还利用 random 模块来生成随机选择。通过这个项目,我们学习了如何创建不同的窗口小部件,如标签、文本字段和按钮。我们还看到了如何借助按钮调用函数。因此,我们以以下方式在 Python 中创建了一个石头剪刀布游戏。 下一个主题检查给定链表是否为循环链表 |
医疗保健中的区块链:创新与机遇 随着医疗领域的巨大飞跃,它也向区块链和人工智能迈出了一大步。该行业引入了新技术,有助于使医疗保健行业更安全、更有保障且资源密集。涉及的公司...
阅读 17 分钟
简介:在本教程中,我们将学习如何使用 Microsoft Emotion API 在 Python 中获取图像的情绪。在英语中,情绪是少数没有特定含义的词之一。它是抽象的。但我们生活中几乎每一个决定都是……
阅读 4 分钟
Instagram 是当今最受欢迎的社交媒体平台,拥有数十亿用户。在当今时代,Instagram 不仅是人们可以与他人分享图片的地方,还可以利用这个平台来发挥自己的优势。一...
阅读 10 分钟
键盘记录器是一种监控软件,用于记录用户使用键盘的按键。它们通常用于监控网络利用率以及排除技术错误。相反,许多恶意软件利用键盘记录器试图...
阅读 12 分钟
在本教程中,我们将编写 Python 程序来根据另一个给定的数组对一个数组进行排序。在这个问题中,我们给定两个大小分别为 N 和 M 的数组,我们需要对第一个数组进行排序,使得所有元素的相对位置...
5 分钟阅读
?字典是 Python 中键值对的集合。字典的键可用于访问其值。但是,有时您希望提取键值对并将其分配给变量。这就是字典解包的作用。要解包一个...
阅读 2 分钟
Python 是目前最流行的编程语言之一。学习 Python 并不像学习任何其他过程语言那么难,因为它具有简化的语法、动态类型和面向对象的特性。网络上有很多资源可以帮助初学者入门...
阅读 3 分钟
数据分析是一种有效的技术,支持企业决策。在今天的教程中,我们将使用 Python 调查 Netflix 信息集并发现有趣的结果。Netflix 是全球最大和最受欢迎的在线服务之一,为客户提供庞大的电视节目库...
11 分钟阅读
?在本文中,您将学习如何在 Python 中找到最大成对积。您可以通过多种方式在 Python 中找到最大成对积。示例 1:Python 程序查找给定列表中最大成对积:def max_pairwise_product(numbers): n...
阅读 6 分钟
在本节中,我们将讨论 Python 编程语言中的赋值运算符。在进入该主题之前,让我们简要介绍一下 Python 中的运算符。运算符是用于在操作数之间执行逻辑和数学运算的特殊符号……
阅读 6 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India