python可视化石头剪刀布界面

2023-10-31

 python是一个简单高效的编程语言,其易于扩展和丰富的库深受人们的欢迎。它让编程变得更简单,易懂。现在它也可以用来写一个一个简单的小游戏,无需网络能玩一天!代码如下:

import random
import tkinter
from tkinter import messagebox
from tkinter import *

user=['石头','剪刀','布']
p_score=0
c_score=0

window = tkinter.Tk()
window.title("猜拳大王")
window.geometry("600x460+500+200")
window["background"] = "#EDEDED"

label1 = tkinter.Label(window,bg="#EDEDED",fg="#F00000",text="猜拳游戏",font=('黑体',15,'bold')).pack()

label2 = tkinter.Label(window,bg="#EDEDED",fg="#F00000",text="游戏规则:\n使用剪刀石头布对决!",font=('黑体',15,'bold')).pack()       

label3 = tkinter.Label(window,bg="#EDEDED",fg="#F00000",text="  请输入你的选择(石头、剪刀、布):",font=('黑体',15,'bold')).pack()


text = tkinter.Entry(window,width=30,bd=5,bg="#EDEDED")
text.pack()

def guess_game():
    global p_score
    global c_score
    compute = random.choice(user)
    guess=text.get()
    if guess not in user:
        tkinter.messagebox.showerror('输入手势不合法!!!')
    else:
        if(guess=="石头"and compute=="剪刀")or(guess=="剪刀"and compute=="布")\
            or(guess=="布"and compute=="石头"):
            tkinter.messagebox.showinfo("胜利","你赢了!")
            p_score+=1
            c_score-=1
        elif guess==compute:
            tkinter.messagebox.showinfo("平局",'我们平了')
            p_score+=0
            c_score+=0
        else:
            tkinter.messagebox.showinfo("失败","我赢了,你输了")
            p_score-=1
            c_score+=1
       
        tkinter.messagebox.showinfo("分数展示","你的得分为%d"%p_score+"分\n计算机的得分为%d"%c_score+"分")

    if p_score>=0:
            tkinter.messagebox.showinfo('获胜!',"祝贺你,在此次比赛中获胜!")
    else:
            tkinter.messagebox.showinfo("你输了","很不幸,你在比赛中与冠军失之交臂")

def guess_over():
    tkinter.messagebox.showinfo("游戏结束了,下次见!")
    window.quit()
    
button1=tkinter.Button(window,text="开始游戏",command=guess_game,width=10,height=1,font=("等线",12))
button1.place(x=200,y=370)

button2=tkinter.Button(window,text="游戏结束",command=guess_over,width=10,height=1,bg="yellow",font=("等线",12))
button2.place(x=320,y=370)

window.mainloop()

本代码使用了python的tkinter库实现了可视化以及使用了random模块来形成随机的手势,并且有一个独立的窗口如下:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python可视化石头剪刀布界面 的相关文章

随机推荐

  • UVA1613 K-GraphOddity

    UVA1613 K GraphOddity 题目传送门 刚看第一眼一点思路都没有 后面看了大佬的题解发现这道题其实是一道水题 用到的方法就是DFS遍历图 我是废物 题目意思很简单 就不分析了 下面直接说方法 首先求出k 然后dfs遍历一遍图
  • 出现这个问题 -bash: /etc/profile.d/env.sh: Permission denied

    记录一下搞了一个上午都没有解决的问题 如下图 出现的问题很奇怪 从root用户切换到普通用户是出现了 bash etc profile d env sh Permission denied 然后用root 把这个env sh文件 内容是PS
  • IP核之FIFO实验

    FIFO 的英文全称是 First In First Out 即先进先出 FPGA 使用的 FIFO 一般指的是对数据的存储具有先进先出特性的一个缓存器 常被用于数据的缓存 或者高速异步数据的交互也即所谓的跨时钟域信号传递 它与 FPGA
  • Python配置清华镜像源

    Python配置清华镜像源 1 前言 使用pip 安装服务器在国外的python 库时 下载需要很长时间 在配置文件中设置国内镜像可以提高速度 清华镜像源就是其中之一 2 pypi 镜像使用帮助 网址 https mirrors tuna
  • 将cookie字符串转化为json对象

    先看一下cookie长啥样 在控制台输入查看document cookie 如下图 分析可以看出cookie是以 key value key2 value2 的结构 好 接下来我们就将其转为json对象 function cookieToJ
  • base64 加密解密

    1 str lt gt bytes str bytes bytes s encoding utf8 bytes str str b encoding utf 8 此外还可通过编码解码的形式对二者进行转换 str 编码成 bytes 格式 s
  • Spring cloud+Zuul+JWT实现无状态统一身份认证和分布式限流

    本文主旨搭建一个无状态统一身份认证的系统 基于Spring cloud微服务架构 Eureka 实现服务的注册与发现 Zuul网关实现服务路由 请求过滤和限流功能 使用JWT规范实现客户登陆信息的服务端无状态话 相关文章参考 Spring
  • localStorage sessionStorage cookie的区别

    文章转载自 http blog csdn net cwzhsi article details 49557879 一 基本概念 Cookie cookie比较小 大小限制在4kb左右 是网景公司的前雇员 LouMontulli 在1993年
  • tilemap 菱形_【cocos3.x+tilemap】制作rpg小游戏(二)遮挡与碰撞

    前面制作了地图 现在就可以在工程中使用了 现在只实现了遮挡与碰撞 后续再实现点击屏幕移动 寻路算法 npc交互等 实现遮挡与碰撞 都需要解决一个核心问题 当前角色到底在哪一块瓦片上 也就是cocos坐标如何转化为TileMap瓦片坐标 这个
  • python函数中将变量名转换成字符串

    考虑到在日常中 常常需要对模型指标输出 但涉及多个模型的时候 需要对其有标示输出 故需要将模型变量名转换成字符串 看到的基本方法有两种 一 方法层面 方法1 函数内推荐 def namestr obj namespace return na
  • webpack.config.js基础配置(五大核心属性)

    在上一节webpack零基础入门中我们在安装完webpack 和 webpack cli依赖之后 直接通过npx webpack src main js mode development的方式对src下的js文件进行了打包 其中的 src
  • threejs 拖拽事件会触发点击事件

    记录three中拖拽场景会触发click事件 解决方法 dragNoClick gt const lock e gt 获取相机位置 this lockStart this map controls target clone const un
  • 深度学习框架以及过程----通俗解释

    这些框架是实现卷积神经网络的 深度学习框架就是帮助你深度学习的工具 就像铲子和锅一样 也有不同品牌 有caffe出品的 有facebook出品 有google出品 换言之这些就是一些库 一套深度学习框架 就是这个品牌的一套积木 各个组件就是
  • 组件(component)技术介绍

    转自 http blog csdn net touzani article details 1619472 组件 component 技术是各种软件重用方法中最重要的一种方法 也是分布式计算和Web服务的基础 网络应用中的软件组件 又被称为
  • vue+vant商品列表批量倒计时

    最近因为一个项目需要用到商品批量倒计时 当时使用vant封装好的组件CountDown编写 起初不知道 timeData 这个对象只需要传time的时间戳就可以自动生成 走了一大波弯路 现在想想也是醉了 最开始写这个倒计时的时候没有考虑到使
  • How to throw an error in MySql procedure?

    http stackoverflow com questions 4862911 how to throw an error in mysql procedure 9down votefavorite What is the mechani
  • vue中使用不同版本的Swiper

    因为随着swiper的版本更新 各种版本出现的写法有所不同 swiper3 npm install swiper 3 save dev 因为版本的更新 swiper3逐渐使用的越来越少 但是还是有很多不必要的坑 我们下载完之后只需要在全局m
  • Python 统计一个纯英文文件中的单词总个数

    import sys import string if len sys argv 1 or sys argv 1 in h help print usage countWord py filename 1 filename 2 finena
  • C++实现链式栈

    pragma once template
  • python可视化石头剪刀布界面

    python是一个简单高效的编程语言 其易于扩展和丰富的库深受人们的欢迎 它让编程变得更简单 易懂 现在它也可以用来写一个一个简单的小游戏 无需网络能玩一天 代码如下 import random import tkinter from tk