diff options
author | Walter Bender <walter@walter-laptop.(none)> | 2009-12-09 09:20:54 (GMT) |
---|---|---|
committer | Walter Bender <walter@walter-laptop.(none)> | 2009-12-09 09:20:54 (GMT) |
commit | 8e48fe0e979f5eb13c5972e8e5b0279dfe105729 (patch) | |
tree | e0dc5a8049cb7074bc4527a0ca22aeb525842b0b | |
parent | 72a8fb601a52383b3750d551c882d3eea9a0f4c9 (diff) |
a little more dancing
-rw-r--r-- | window.py | 45 |
1 files changed, 31 insertions, 14 deletions
@@ -77,7 +77,7 @@ def new_window(canvas, path, parent=None): sw.sprites = [] sw.scale = 2 sw.level = 1 - sw.seq = gen_seq(50) + sw.seq = gen_seq(8) sw.counter = 0 sw.playpushed = False @@ -189,19 +189,20 @@ def _button_release_cb(win, event, sw): if sw.seq[sw.counter] == i: # correct reponse sw.counter += 1 if sw.counter == sw.level*2: - gobject.timeout_add(1000, _dance, sw, 0) + gobject.timeout_add(1000, _dance, sw, i, 0) sw.counter = 0 sw.level += 1 sw.activity.level_label.set_text( "%s %d" % (_("Level"),sw.level)) if sw.level*2 < len(sw.seq): gobject.timeout_add(3000, play_the_game, sw) - else: - gobject.timeout_add(1000, _all_on, sw) + else: # game over + gobject.timeout_add(2000, _flash, sw, 9, True) sw.playpushed = False - sw.level = 0 + sw.level = 1 sw.seq = gen_seq(30) - gobject.timeout_add(1500, _all_off, sw) + sw.activity.level_label.set_text( + "%s %d" % (_("Level"),sw.level)) else: # incorrect response _all_gone(sw) gobject.timeout_add(1000, _all_off, sw) @@ -220,15 +221,31 @@ def _all_on(sw): # # Do a little dance # -def _dance(sw, i): - o = 10 - if i < 10: - move(sw.buttons_off[0].spr, - (sw.buttons_off[0].spr.x,sw.buttons_off[0].spr.y-o)) - sw.timeout_id = gobject.timeout_add(200,_dance,sw,i+1) +def _dance(sw, i, n): + xo = [0,-10,10,0] + yo = [-10,0,0,10] + if n < 10: + move(sw.buttons_off[i].spr, + (sw.buttons_off[i].spr.x+xo[i],sw.buttons_off[i].spr.y+yo[i])) + gobject.timeout_add(50,_dance,sw,i,n+1) else: - move(sw.buttons_off[0].spr, - (sw.buttons_off[0].spr.x,sw.buttons_off[0].spr.y+10*o)) + move(sw.buttons_off[i].spr, + (sw.buttons_off[i].spr.x-xo[i]*10,sw.buttons_off[i].spr.y-yo[i]*10)) + +# +# Flash +# +def _flash(sw, n, i): + if n == 0: + _all_off(sw) + return + if i is True: + _all_on(sw) + gobject.timeout_add(200,_flash,sw,n-1,False) + else: + _all_off(sw) + gobject.timeout_add(200,_flash,sw,n-1,True) + # # Turn all the sprites dim # |