如何用Python Tkinter实现剪刀石头布小游戏?

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

编写剪刀石头布游戏

让我们使用Python 3和Tkinter开发相同的游戏。我们可以将游戏命名为Rock-Paper-Scissors-Lizard-Spock

规则和玩法

  1. Rock crushes Scissors
  2. Rock crushes Lizard
  3. Paper covers Rock
  4. Paper disproves Spock
  5. Scissors cuts Paper
  6. Scissors decapitates Lizard
  7. Lizard poisons Spock
  8. Lizard eats paper
  9. Spock smashes Scissors
  10. Spock vaporizes Rock
  11. Two same objects is a draw

程序演练

当用户运行程序时,他们必须单击五个可用对象之一:

  • Rock
  • Paper
  • Scissors
  • Lizard
  • Spock

 

如果大家在学习中遇到困难,想找一个python学习交流环境,可以加入我们的python圈,裙号930900780,可领取python学习资料,会节约很多时间,减少很多遇到的难题。

当用户选择一个对象时,我们的程序将随机选择一个对象。然后,它将通过一组规则来声明用户是赢,输还是画游戏。结果将显示在应用程序的第二行。

当用户按下任何按钮时,游戏将重新开始。如果用户想要关闭游戏,则可以按关闭按钮。在游戏开始时,我们具有用于特定对象的手形符号。现在,当用户选择一个对象时,它将转换为图形图像。我们的程序还选择了一个对象,它将显示所选对象的图形图像。

用Python实现(10个步骤)

现在我们已经有了剪刀石头布游戏的意义,让我们逐步介绍Python的过程。

1.导入所需的库

#Import the required libraries :
from tkinter import *
import random
import simpleaudio as sa
复制代码
  • tkinter:在我们的应用程序中添加小部件
  • random:生成一个随机数
  • simpleaudio:播放声音文件

2.创建tkinter主窗口

root = Tk()
root.configure(bg="#000000")
root.geometry('+0+0')
root.iconbitmap("Game.ico")
root.title("Rock-Paper-Scissor-Lizard-Spock")
root.resizable(width=False,height=False)
复制代码
  • root = Tk( ):用于初始化我们的tkinter模块。
  • root.configure( ):我们使用它来指定应用程序的背景色。在我们的情况下,背景颜色为黑色。
  • root.geometry( ):我们使用它来指定我们的应用程序窗口将在哪个位置打开。它将在左上角打开。
  • root.iconbitmap( ):我们使用它来设置应用程序窗口标题栏中的图标。此功能仅接受.ico文件。
  • root.title( ):我们使用它来设置应用程序的标题。
  • root.resizable( ):在这里我们使用它来防止用户调整主窗口的大小。

3.导入声音文件

#To play sound files : 
start = sa.WaveObject.from_wave_file("Start.wav")
Win = sa.WaveObject.from_wave_file("Win.wav")
Lose = sa.WaveObject.from_wave_file("Lose.wav")
Draw = sa.WaveObject.from_wave_file("Draw.wav")

start.play()
复制代码

现在,我们将使用一些将在各种事件中播放的声音文件。当我们的程序启动时,它将播放开始文件。当用户赢得游戏,输掉游戏或绘制游戏时,我们将播放其他三个文件。

需要注意的一件事是它仅接受.wav文件。首先,我们需要将声音文件加载到对象中。然后我们可以.play( )在需要时使用方法播放它。

 

4.为我们的应用程序加载图像

我们将在应用程序中使用各种图像。要首先使用这些图像,我们需要加载这些图像。在这里,我们将使用PhotoImage类加载图像。

#Hand images :
rockHandPhoto = PhotoImage(file="Rock_1.png")
paperHandPhoto = PhotoImage(file="Paper_1.png")
scissorHandPhoto = PhotoImage(file="Scissor_1.png")
lizardHandPhoto = PhotoImage(file="Lizard_1.png")
spockHandPhoto = PhotoImage(file="Spock_1.png")

#Graphical images :
rockPhoto = PhotoImage(file="Rock_P.png")
paperPhoto = PhotoImage(file="Paper_P.png")
scissorPhoto = PhotoImage(file="Scissor_P.png")
lizardPhoto = PhotoImage(file="Lizard_P.png")
spockPhoto = PhotoImage(file="Spock_P.png")

#Decision image :
decisionPhoto = PhotoImage(file="Decision_Final.png")

#Result images :
winPhoto = PhotoImage(file="G_WIN.png")
losePhoto = PhotoImage(file="G_LOST.png")
tiePhoto = PhotoImage(file="G_DRAW.png")
复制代码

首先,我们为物体准备了手部图像。游戏开始时将向用户显示所有五个图像。用户必须从那些图像中选择一个对象。

用户单击图像后,我们的程序将向我们显示该对象的图形图像。必须选择一个对象,我们的程序也将选择一个对象。我们的程序将仅显示这两个图形图像,然后其余图像将消失。

现在,我们显示一个简单的决策图像,当结果可用时,它将更改其图像。我们的结果有不同的图像。

  • 如果用户获胜
  • 如果用户输了
  • 如果有平局

5.添加Tkinter小部件

#Initialize the button variables :
rockHandButton = " "
paperHandButton = " "
scissorHandButton = " "
lizardHandButton= " "
spockHandButton = " "

#Create the result button :
resultButton = Button(root,image=decisionPhoto)

#Set the variable to True
click = True
复制代码
  • 初始化五个按钮的变量。
  • 在这里,我们创建了结果按钮,它将向我们显示最终结果。
  • 我们将click变量设置为True,以便我们的程序继续运行直到将其设置为False。在接下来的几点中,我们将看到更多有关此的内容。

6. Play( )功能

def play():
    global rockHandButton,paperHandButton,scissorHandButton,lizardHandButton,spockHandButton

    #Set images and commands for buttons :
    rockHandButton = Button(root,image = rockHandPhoto, command=lambda:youPick("Rock"))
    paperHandButton = Button(root,image = paperHandPhoto, command=lambda:youPick("Paper"))
    scissorHandButton = Button(root,image = scissorHandPhoto, command=lambda:youPick("Scissor"))
    lizardHandButton = Button(root,image= lizardHandPhoto,command=lambda:youPick("Lizard"))
    spockHandButton = Button(root,image= spockHandPhoto,command=lambda:youPick("Spock"))

    #Place the buttons on window :
    rockHandButton.grid(row=0,column=0)
    paperHandButton.grid(row=0,column=1)
    scissorHandButton.grid(row=0,column=2)
    lizardHandButton.grid(row=0,column=3)
    spockHandButton.grid(row=0,column=4)

    #Add space :
    root.grid_rowconfigure(1, minsize=50) 

    #Place result button on window : 
    resultButton.grid(row=2,column=0,columnspan=5)
复制代码

在这里,我们为对象

Python tkinter:简易画板(笔、直线、矩形、圆形和橡皮擦工具+导入、保存、撤销、清屏功能) 今天,我们将使用tkinter制作一款简易画图软件。加油吧!最终效果如下: 我们将使用Python 3.10为编译器,使用 pip 下载所需模块: 导入模块 这里,我们将导入所有所需的模块。 设置主窗口 设置所有接下来所需的元素,并初始化。 基本画图运算逻辑 重点来了!我们使用鼠标左键按下等动作探测,绘制曲线: 最后通过bind来移动画笔: 顶部主菜单 设置主菜单功能及运算函数。目前包括以下五个选... 阅读详情

相关推荐

python gui界面实例-python GUI实战项目——tkinter的简单实例

一、项目说明:本次通过实现一个小的功能模块对Python GUI进行实践学习。项目来源于软件制造工程的作业。记录在这里以复习下思路和总结编码过程。所有的源代码和文件放在这里:链接: https://pan.baidu.com/s/1qXGVRB2 密码: 4a4r内置四个文件,分别是ora.sql, dataBaseOpr.py, guiPy.py, test.py二、效果预览:主界面新增界面(更...

weixin_37988176的博客 6265

python入门学习之小工具制作系列--03使用tkinter写一个辞职小程序

放假期间查看自己上份工作的辞职报告,回想离职时老板的各种刁难,突发奇想使用软件写一个让老板无法拒绝的辞职小程序^_^^_^5,引入random,配置"不同意"按钮飘逸,(不让老板点击^_^ 不同意 ^_^按钮)6,配置 此路不通 按钮,即不能通过关闭窗口来关闭小程序。2,配置2个页面,分别为弹窗主界面和点击同意后的第二张界面。2,)如果领导点击不同意【按键会跑,不会让你抓住^_^】5,最后,同意之后,再点击退出,程序即可退出成功~7,配置 点击同意,则跳转至第二界面。4,所以最后,只能是点击同意~~

LinuxLOVERes的博客 1136

Python Tkinter实战案例,搞定剪刀石头小游戏,就是这么强!

Python Tkinter教程——剪刀石头游戏编写剪刀石头游戏规则和玩法程序演练用Python实现(10个步骤)1.导入所需的2.创建tkinter主窗口3.导入声音文件4.为我们的应用程序加载图像5.添加Tkinter小部件6. Play( )功能7.轮到计算机了8.主要功能: youPick( )用户选择Rock用户选择纸张用户选择剪刀用户选择"Lizard"用户选择Spock9.再玩一次10.调用函数放在一起 编写剪刀石头游戏 让我们使用Python 3和Tkinter开发相同的游戏。我们可

chenchen5152的博客 868

pythontkinter实现GUI程序:三个实例

TkinterPython的标准GUI,用于创建跨平台的桌面应用程序。它是一个轻量级的,易于学习和使用,适合初学者和开发小型项目。Tkinter的核心优势在于其简洁性,你可以用很少的代码实现功能丰富的窗体应用。TkinterPython中创建GUI的一种简单而强大的方式。无论你是初学者还是有经验的开发者,Tkinter都是入门GUI编程的理想选择。通过学习和使用Tkinter,你可以构建出直观、交互性强的桌面应用程序,增强用户体验。

定期分享我的发现和想法,感谢你的陪伴和支持 7282

python】之tkinter,制作一个简易图形界面!

TkinterPython 自带的标准,因此无须另行安装,它支持跨平台运行,不仅可以在 Windows 平台上运行,还支持在 Linux 和 Mac 平台上运行。Tkinter 编写的程序,也称为 GUI 程序,GUI (Graphical User Interface)指的是“图形用户界面”,它是计算机图形学(CG)的一门分支,主要研究如何在计算机中表示图形,以及利用计算机进行图形的计算、处理和显示等相关工作。6.创建一个entry(输入)和text(文本)root:窗口(在此窗口实现按钮功能)

相信过程! 5625

python剪刀石头小游戏源码下载_Python Tkinter实现剪刀石头小游戏

Python Tkinter实现剪刀石头小游戏时间:2020-10-26 14:56:52来源:亿速云阅读:67作者:Leah本篇文章给大家分享的是有关Python Tkinter实现剪刀石头小游戏,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。让我们使用Python 3和Tkinter开发相同的游戏。我们可以将游戏命名为Roc...

weixin_39805355的博客 473

python实现剪刀石头_用Python Tkinter实现剪刀石头小游戏的方法

Python Tkinter实现剪刀石头小游戏的方法发时间:2020-12-07 10:38:11来源:亿速云阅读:90作者:小新这篇文章将为大家详细讲解有关用Python Tkinter实现剪刀石头小游戏的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。编写剪刀石头游戏让我们使用Python 3和Tkinter开发相同的游戏。我们可以将游戏命名为R...

weixin_39662263的博客 442

python剪刀石头程序_使用Python Tkinter实现剪刀石头小游戏功能

原博文2020-10-23 16:18 −编写剪刀石头游戏 让我们使用Python 3和Tkinter开发相同的游戏。我们可以将游戏命名为Rock-Paper-Scissors-Lizard-Spock。 规则和玩法 ock crushes ScissorsRock crushes LizardPaper covers RockPa...相关推荐2019-12-10 15:59 −python ...

weixin_39692037的博客 277

python剪刀石头小游戏源码下载_如何用Python Tkinter实现剪刀石头小游戏

编写剪刀石头游戏让我们使用Python 3和Tkinter开发相同的游戏。我们可以将游戏命名为Rock-Paper-Scissors-Lizard-Spock。规则和玩法Rock crushes ScissorsRock crushes LizardPaper covers RockPaper disproves SpockScissors cuts PaperScissors decapita...

weixin_39926042的博客 132

python做图片石头剪刀获胜法_如何用Python Tkinter实现剪刀石头小游戏

编写剪刀石头游戏让我们使用Python 3和Tkinter开发相同的游戏。我们可以将游戏命名为Rock-Paper-Scissors-Lizard-Spock。规则和玩法Rock crushes ScissorsRock crushes LizardPaper covers RockPaper disproves SpockScissors cuts PaperScissors decapita...

weixin_39579483的博客 265

tk如何设置背景_如何用Python Tkinter实现剪刀石头小游戏

编写剪刀石头游戏让我们使用Python 3和Tkinter开发相同的游戏。我们可以将游戏命名为Rock-Paper-Scissors-Lizard-Spock。规则和玩法Rock crushes ScissorsRock crushes LizardPaper covers RockPaper disproves SpockScissors cuts PaperScissors decapita...

weixin_39745724的博客 865

python写的石头剪刀小游戏

石头剪刀小游戏 游戏截图: 代码: #功能:石头剪刀小游戏 #日期:2020/10/14 import tkinter import random typestr = ('石头', '剪刀', '') #系统初始化一个数,0代表石头,1代表剪刀,2代表 val = random.randint(0,2) # 第1步,实例化object,建立窗口window window = tkinter.Tk() # 第2步,给窗口的可视化起名字 window.title('猜拳小游戏') # 第3步

qq_39912668的博客 228

tkinter 可视化_用Python做个可视化的“剪刀石头小游戏

01、前言最近在学习PyQt5可视化界面,这是一个内容非常丰富的gui,相对于tkinter,功能更加强大,界面更加美观,操作也不难。于是我开始小试牛刀,用PyQt5做个可视化的“剪刀石头小游戏,总体效果如下:该程序可以实现游戏轮次统计,双方得分、平局次数统计和重新开始功能,不管是1局决胜负,还是三局两胜、七局三胜,都能完美解决。02、具体实现第一步:创建游戏主窗口PyQt5创...

weixin_39926040的博客 199

python可视化模块 游戏_手把手教你用Python做个可视化的“剪刀石头小游戏...

/1 前言/最近在学习PyQt5可视化界面,这是一个内容非常丰富的gui,相对于tkinter,功能更加强大,界面更加美观,操作也不难。于是我开始小试牛刀,用PyQt5做个可视化的“剪刀石头小游戏,总体效果如下:该程序可以实现游戏轮次统计,双方得分、平局次数统计和重新开始功能,不管是1局决胜负,还是三局两胜、七局三胜,都能完美解决。/2 具体实现/下面给大家详细介绍一下具体步骤。第一步:创...

weixin_29774679的博客 328

python知识】用 Tkinter实现剪刀-石头-”和“弹球游戏 ”

实现一些动态的画面、如游戏还是需要一些创新性思维的。在本文中,我们将使用 Tkinter 探索 Python GUI 编程。我们将介绍 Tkinter 的基础知识,并演示如何使用 Tkinter 创建一个简单的 GUI 应用程序

gongdiwudu的专栏 4497

python入门小项目--石头剪刀(人机对战)--图形化tkinter

继上文用python写了一个小demo,用控制台显示逻辑显然不是很合理,查询了很多资料,发现gui编程有tkinter比较好用,然后就在上一个版本的基础上写了一个进阶 Tkinter是几个常用 Python GUI 之一 现在就让我们开始把 首先我们要导入 tkinter from tkinter import * 然后我们看看怎么使用 root = Tk() root.mainloop() 开始第一步先弄个窗口 # 创建窗口 root = Tk() # 窗口大小

田恬在线study的博客 2677

使用Python Tkinter剪刀石头游戏

让我们使用PythonTkinter创建一个Rock Paper Scissors游戏(Stone Paper Scissors游戏)。我猜你已经知道游戏的意义了,因为它是世界上著名的游戏。 游戏规则 如果您不知道什么是剪刀石头游戏,则该游戏具有三个选择:石头张和剪刀。两名玩家可以同时玩这个游戏。每个人都必须从三个可用选项中进行选择。 在我们制作的此应用中,您将与您的敌人(即计算机)竞争...

跨学科知识视角展现 1342

剪刀石头小游戏

剪刀石头小游戏 import random import time print('剪刀石头游戏') from tkinter import messagebox print("作者:piprqw") hand=['剪刀','石头',''] while True: start=input('输入“开始游戏”开始,输入“结束游戏”结束 ') if start==('开始游戏'): player=input('玩家出拳:') if player=...

piprqw的博客 2221
上一篇: 如何用python实现——进程间通信IPC的主要方式?
下一篇: 零基础小白Python入门必看:最详细之数据类型讲解
python小丸子
博客等级 码龄6年 30粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值