【Python】潜水小白,分享一个简单基础的tkinter的猜拳小游戏

潜水小白,分享一个简单基础的tkinter的猜拳小游戏

没什么技巧,代码如下,喜欢的可以试验一下。
图片是我自己的,可一手动换成你想要的(tkinter默认好像支持gif格式的,其它好像要转换一下,另外图片和代码放在一起就行)。

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

#体验者出拳类别
user=['石头','剪刀','布']
#用户体验得分
p_score=0
#计算机得分
c_score=0

#实例化object,建立窗口windows
window = tkinter.Tk()
#给窗口的可视化命名
window.title("猜拳大王--BYneinei")
#设定窗口的长*宽(即大小),中间的乘号是小x;+500+200是显示在电脑屏幕上的位置
window.geometry("600x460+500+200")
# 设置窗体背景色
window["background"] = "#f9d27d"

#建立一个label1、label2、label3的文本,设置背景颜色,字颜色,内容,字的字体、大小
label1 = tkinter.Label(window,bg="#f9d27d",fg="#ed5a65",text="猜拳大王游戏",font=('焦糖奶茶',15,'bold')).pack()

label2 = tkinter.Label(window,bg="#f9d27d",fg="#ed5a65",text="游戏规则:\n进行剪刀石头布对决!",font=('焦糖奶茶',15,'bold')).pack()       
#添加图片效果
photo = tkinter.PhotoImage(file="666.gif")

imgLabel=tkinter.Label(window,image=photo).pack()

label3 = tkinter.Label(window,bg="#f9d27d",fg="#ed5a65",text="  战斗中---请输入你的选择(石头、剪刀、布):",font=('焦糖奶茶',15,'bold')).pack()

#使用文本框(Entry)获取体验者的输入结果,其中bd设置边框的大小,
text = tkinter.Entry(window,width=30,bd=5,bg="#f7de98")
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+"分")

    #三次游戏体验循环结束,总得分大于等于1则总成绩不错,总得分小于0则得分不理想
    if p_score>=0:
            tkinter.messagebox.showinfo("温暖回馈","不错哦,你有一个聪明的小脑袋和超常的运气!")
    else:
            tkinter.messagebox.showinfo("温暖回馈","看来你个是小笨蛋,需要再接再厉!")

#定义的结束页面函数
def guess_over():
    tkinter.messagebox.showinfo("温暖提示","拜拜*^▽^*,游戏结束啦~")
    window.quit()
    
#在窗口界面设置button按键
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()

运行界面如图所示:
在这里插入图片描述
欢迎批评指正!

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我来给您写一个简单猜拳小游戏,使用PythonTkinter实现。以下是代码实现: ```python import tkinter as tk import random # 窗口初始化 root = tk.Tk() root.title("猜拳小游戏") root.geometry("300x200") root.resizable(width=False, height=False) # 定义游戏规则 rules = {0: "剪刀", 1: "石头", 2: "布"} # 定义计分板 player_score = 0 computer_score = 0 score_board = tk.Label(root, text="玩家得分: {} 电脑得分: {}".format(player_score, computer_score)) score_board.pack(pady=10) # 定义游戏结果显示 result_label = tk.Label(root, text="", font=("Arial", 16, "bold")) result_label.pack(pady=10) # 定义玩家出拳函数 def player_fight(player_choice): global player_score global computer_score computer_choice = random.choice(list(rules.keys())) if player_choice == computer_choice: result_label.config(text="平局!") elif (player_choice - computer_choice) % 3 == 1: player_score += 1 result_label.config(text="你赢了!") else: computer_score += 1 result_label.config(text="电脑赢了!") score_board.config(text="玩家得分: {} 电脑得分: {}".format(player_score, computer_score)) # 定义界面按钮 button_scissors = tk.Button(root, text="剪刀", width=8, command=lambda: player_fight(0)) button_scissors.pack(side="left", padx=10) button_rock = tk.Button(root, text="石头", width=8, command=lambda: player_fight(1)) button_rock.pack(side="left", padx=10) button_paper = tk.Button(root, text="布", width=8, command=lambda: player_fight(2)) button_paper.pack(side="left", padx=10) # 启动窗口 root.mainloop() ``` 运行代码之后,您会看到一个猜拳小游戏的窗口。您可以点击“剪刀”、“石头”或“布”按钮进行出拳,电脑会随机出拳并显示结果在屏幕上。 注意:这只是一个简单的示例程序,您可以根据自己的需求进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值