Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter 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)
commit8e48fe0e979f5eb13c5972e8e5b0279dfe105729 (patch)
treee0dc5a8049cb7074bc4527a0ca22aeb525842b0b
parent72a8fb601a52383b3750d551c882d3eea9a0f4c9 (diff)
a little more dancing
-rw-r--r--window.py45
1 files changed, 31 insertions, 14 deletions
diff --git a/window.py b/window.py
index feab23f..a696b7d 100644
--- a/window.py
+++ b/window.py
@@ -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
#