From 25320dff083ef6dfeadf416956353bc42cd7d54c Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Wed, 20 Oct 2010 00:09:19 +0000 Subject: only allow one start, hat1, or hat2 block per project --- diff --git a/TurtleArt/tablock.py b/TurtleArt/tablock.py index 344f2da..865e8e9 100644 --- a/TurtleArt/tablock.py +++ b/TurtleArt/tablock.py @@ -113,6 +113,12 @@ class Blocks: i += 1 return None + def get_block_of_same_type_and_name(self, type, name): + for block in self.list: + if block.type == type and block.name == name: + return block + return None + class Block: """ A class for the individual blocks """ diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py index 1bc7ab8..2853bbd 100644 --- a/TurtleArt/tawindow.py +++ b/TurtleArt/tawindow.py @@ -782,6 +782,11 @@ class TurtleArtWindow(): elif blk.name in MACROS: self._new_macro(blk.name, x + 20, y + 20) else: + # You can only have one instance of some blocks + if blk.name in ['start', 'hat1', 'hat2']: + if self.block_list.get_block_of_same_type_and_name( + 'block', blk.name) is not None: + return True blk.highlight() self._new_block(blk.name, x, y) blk.unhighlight() -- cgit v0.9.1