diff options
author | Walter Bender <walter@walter-laptop.(none)> | 2009-01-18 02:39:41 (GMT) |
---|---|---|
committer | Walter Bender <walter@walter-laptop.(none)> | 2009-01-18 02:39:41 (GMT) |
commit | 270d4813374b4ebae7899d8f97d3e274aa211d00 (patch) | |
tree | e5c93bbed8d7b1d38d3a2382db556e953c89de6d /tawindow.py | |
parent | 93bfc5cd0de1340b4ab8695a2d6b7becd7dd2be8 (diff) |
added run button to toolbar
Diffstat (limited to 'tawindow.py')
-rw-r--r-- | tawindow.py | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/tawindow.py b/tawindow.py index 08fe410..d0765b4 100644 --- a/tawindow.py +++ b/tawindow.py @@ -384,6 +384,7 @@ def tooldispatch(tw, spr): if spr.blocktype == 'hideshow': hideshow_blocks(tw,spr) elif spr.blocktype == 'eraser': runtool(tw, spr, clearscreen, tw.turtle) elif spr.blocktype == 'stopit': stop_logo(tw) + elif spr.blocktype == 'run': run(tw, spr) def runtool(tw, spr, cmd, *args): setshape(spr,spr.onshape) @@ -399,7 +400,22 @@ def hideshow_blocks(tw,spr): setshape(spr,spr.offshape) inval(tw.turtle.canvas) - +def run(tw, spr): + print "you better run, turtle, run!!" + for b in blocks(tw): + if find_block_to_run(tw, b): + setshape(spr,spr.onshape) + run_stack(tw, b) + setshape(spr,spr.offshape) + return + +# find a stack to run (a stack without a hat) +def find_block_to_run(tw, spr): + top = find_top_block(spr) + if spr == top and spr.proto.name[0:3] != 'hat': + return True + else: + return False def blocks(tw): return [spr for spr in tw.sprites if spr.type == 'block'] def xy(event): return map(int, event.get_coords()) |