2015-11-13 124 views
0

所以,這是一個小遊戲的代碼的開始。目的是化解最接近0的3個炸彈。我成功地創建了窗口,進行倒計時......但我不知道如何設置一個按鈕來停止倒計時。如果有人能幫助我,它已經幾天我在尋找一個解決方案:(如何停止功能?

import time, os 
from Tkinter import * 
from math import * 
import random 

##################################################### 
def new(): 
    fenetre.destroy() 

我們將專注於這部分

def decompte(label, count=10): 
     label.config(text="{:.2f}".format(count)) 
     if count > 0 : 
      fen1.after(10,decompte, *(label, count-0.01)) 

    def stopper(): 

fen1=Tk() 
    fen1.geometry("500x500") 
    lab=Label(fen1, text="") 
    lab.pack() 
    lab1=Label(fen1, text="") 
    lab1.pack() 
    lab2=Label(fen1, text="") 
    lab2.pack() 
    lab3=Label(fen1,text="") 
    lab3.place(x=300,y=200) 

    x=(random.randint(3,4)) 
    y=(random.randint(5,6)) 
    z=(random.randint(6,7)) 

    decompte(lab, x) 
    decompte(lab2, y) 
    decompte(lab3,z) 

    btn1=Button(fen1, text="stop", command=stopper) 
    btn1.pack() 
    btn3=Button(fen1, text="quit",command=fen1.destroy) 
    btn3.pack() 

    lab.place(x=100,y=200) 
    lab1.place(x=150,y=200) 
    lab2.place(x=200,y=200) 

    fen1.mainloop() 

###################################################### 

fenetre= Tk() 
fenetre.configure(bg="black") 
fenetre.geometry("1024x620") 
canvas= Canvas(fenetre, width=1024, height=620,bg="black") 
canvas.grid(row=0, column=0) 
photo = PhotoImage(file="demineur.gif") 
canvas.create_image(512,310, image=photo) 
btn= Button(fenetre, text="JOUER",bg="yellow",command=new) 
btn.place(x=240,y=500) 
fenetre.mainloop() 
+0

'如果count> 0並且沒有取消:'那麼只需設置一個全局取消標誌,當你想要t時你設置爲true o停下來 –

回答

0
countdown = True 

def decompte(label, count=10): 
    label.config(text="{:.2f}".format(count)) 
    if count > 0 and countdown: # <- global variable `countdown` 
     fen1.after(10,decompte, *(label, count-0.01)) 

def stopper(): 
    global countdown 
    countdown = False