小游戲
使用tkinter開發(fā)猜數(shù)字游戲
import tkinter as tk
import sys
import random
import re
number = random.randint(0,1024)#玩家要猜的數(shù)字
running = True
num = 0 #猜的次數(shù)
nmaxn = 1024 #提示猜測最大數(shù)范圍
nminn = 0 #提示猜測最小數(shù)范圍
def eBtnClose(event): #‘關(guān)閉’按鈕事件函數(shù)
root.destry()
def eBtnGuess(event): #‘猜’按鈕事件函數(shù)
global nmaxn#全局變量
global nminn
global num
global running
if running:
val_a = int(entry_a.get())
if val_a == number:
labelqval("恭喜你答對了")
num += 1
running = False
numGuess()
elif val_a <number:
if val_a >nminn:
nminn = val_a
num += 1
labelqval("小了哦掷伙,請重新輸入" + str(nminn)
+"到" +str(nmaxn) +"之間任意整數(shù):")
else:
if val_a < nmaxn:
nmaxn = val_a
num +=1
labelqval("大了哦丘侠,請重新輸入" +str(nminn)
+"到" +str(nmaxn) +"之間任意整數(shù):")
else:
labelqval('你答對了...')
#顯示答的次數(shù)
def numGuess():
if num == 1:
labelqval('哇!一次就答對了!')
elif num <10:
labelqval('= = 十次內(nèi)答對厲害...嘗試次數(shù):'+str(num))
else:
labelqval('好吧俘侠,有點難...嘗試次數(shù):'+str(num))
def labelqval(vText):
label_val_q.config(label_val_q ,text = vText)
root = tk.Tk(className = '猜數(shù)字游戲')
root.geometry("300x90+400+400")
label_val_q = tk.Label(root,width ="80")#提示標(biāo)簽
label_val_q.pack(side = "top")
entry_a = tk.Entry(root,width ="40")#單行輸入框
btnGuess = tk.Button(root,text = "猜")#‘猜’按鈕
entry_a.pack(side = "left")
entry_a.bind('<Return>',eBtnGuess)#綁定事件
btnGuess.bind('<Button - 1>',eBtnGuess)#'猜'按鈕
btnGuess.pack(side = "left")
btnClose = tk.Button(root,text = "關(guān)閉")#’關(guān)閉‘按鈕
btnClose.bind('<Button -1>',eBtnClose)
btnClose.pack(side = "left")
labelqval("請輸入0 ~ 1024任意整數(shù):")
entry_a.focus_set()
print(number)
root.mainloop()