潜水小白,分享一个简单基础的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()
运行界面如图所示:
欢迎批评指正!