diff options
author | Walter Bender <walter@sugarlabs.org> | 2010-10-09 22:42:29 (GMT) |
---|---|---|
committer | Walter Bender <walter@sugarlabs.org> | 2010-10-09 22:42:29 (GMT) |
commit | 4a5e2c43e9fbc94e16b02d278a3ddae622a8cbe5 (patch) | |
tree | 843641d28dbdb929de1af3c46df5559ba244dc1f /TurtleArt | |
parent | 182b7d023a8018738ad89a8aa263ec3a001d0e4c (diff) |
add next_block method used by keyboard input
Diffstat (limited to 'TurtleArt')
-rw-r--r-- | TurtleArt/tablock.py | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/TurtleArt/tablock.py b/TurtleArt/tablock.py index 163f7bf..de7b18f 100644 --- a/TurtleArt/tablock.py +++ b/TurtleArt/tablock.py @@ -79,15 +79,41 @@ class Blocks: b._font_size[i] *= b.scale*scale/self.font_scale_factor self.font_scale_factor = scale - # - # sprite utilities - # def spr_to_block(self, spr): for b in self.list: if spr == b.spr: return b return None + def get_next_block(self, block): + if block is None: + return None + try: + i = self.list.index(block) + except ValueError: + return None + i += 1 + if i < len(self.list): + return self.list[i] + else: + return self.list[0] + + def get_next_block_of_same_type(self, block): + if block is None: + return None + type = block.type + i = 0 + while block is not None: + block = self.get_next_block(block) + if block is not None: + if block.type == type: + return block + if i == len(self.list): + break + i += 1 + return None + + # # A class for the individual blocks # |