python 学习 : 一个简单的秒表

 
游戏说明:绿色数字(左边表示成功停止在整秒的次数,右边表示停止的总次数)
点击stop,如果小数点后为0,即你停止的时间是整秒数,右上方斜杠左边数字加一

把代码复制到这个网页 code run here ,把原来的代码覆盖掉,然后点击左上角的三角 运行就可以了。

import simplegui
import random
import math

time = 0 
message = "0:00.0"
success = 0 
total = 0
def forBC(t):
    if t < 10 :
        return "0" + str(t)
    else:
        return str(t)
def format(t):
    """ covert int to string a:bc:d """
    a = t // 600 
    t = t - a * 600 
    b = t // 10 
    d = t % 10 
    return str(a)+":"+forBC(b)+"."+str(d) 

#define event handler for buttons: start stop reset    
def start():
    timer.start()

def stop():    
    global success, total 
    if timer.is_running():
        timer.stop()
        total += 1 
        if (time % 10 == 0) :
           success += 1 
def reset():
    global time, message,success, total 
    timer.stop()
    time = 0
    success = 0; total = 0
    message = format(time)
def timer_handler():
    global time, message
    time += 1 
    message = format(time )
def draw_handler(canvas):
    canvas.draw_text(message, [20, 122], 40, "Red")
    canvas.draw_text(str(success)+"/"+str(total),[120,60],30,"Green")

frame = simplegui.create_frame("Stop Watch", 200, 200)
frame.add_button("start", start)
frame.add_button("stop", stop)
frame.add_button("reset",reset)
timer = simplegui.create_timer(100, timer_handler)
frame.set_draw_handler(draw_handler)

frame.start()
View Code

游戏详细设计说明在这里 here 

学习总结:

学习使用timer 控制时间, 学习简单的绘图功能。

posted @ 2014-01-07 17:12  ridox  阅读(4118)  评论(1编辑  收藏  举报