diff options
Diffstat (limited to 'TurtleArt/tabasics.py')
-rw-r--r-- | TurtleArt/tabasics.py | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/TurtleArt/tabasics.py b/TurtleArt/tabasics.py index 2d16c2d..379718d 100644 --- a/TurtleArt/tabasics.py +++ b/TurtleArt/tabasics.py @@ -71,18 +71,11 @@ from gettext import gettext as _ from tapalette import (make_palette, define_logo_function) from talogo import (primitive_dictionary, logoerror) from tautils import (convert, chr_to_ord, round_int, strtype) -from taconstants import (COLORDICT, CONSTANTS) +from taconstants import (Color, CONSTANTS) from taprimitive import Primitive from taturtle import Turtle -def _color_to_num(c): - if COLORDICT[c][0] is None: - return(COLORDICT[c][1]) - else: - return(COLORDICT[c][0]) - - def _num_type(x): ''' Is x a number type? ''' if isinstance(x, (int, float)): @@ -1351,10 +1344,10 @@ variable')) def _prim_plus(self, x, y): ''' Add numbers, concat strings ''' - if x in COLORDICT: - x = _color_to_num(x) - if y in COLORDICT: - y = _color_to_num(y) + if isinstance(x, Color): + x = int(x) + if isinstance(y, Color): + y = int(y) if _num_type(x) and _num_type(y): return(x + y) elif isinstance(x, list) and isinstance(y, list): @@ -1463,8 +1456,8 @@ variable')) pass if isinstance(x, list): raise logoerror("#syntaxerror") - if x in COLORDICT: - return _color_to_num(x) + if isinstance(x, Color): + return int(x) xx = convert(x.replace(self.tw.decimal_point, '.'), float) if isinstance(xx, float): return xx @@ -1477,12 +1470,12 @@ variable')) def _make_constant(self, palette, block_name, label, constant): ''' Factory for constant blocks ''' - if constant in COLORDICT: - if COLORDICT[constant][0] is not None: - value = str(COLORDICT[constant][0]) + if isinstance(constant, Color): + if constant.color is not None: + value = str(constant.color) else: # Black or White - value = '0 tasetshade %d' % (COLORDICT[constant][1]) + value = '0 tasetshade %d' % (constant.shade) else: value = constant palette.add_block(block_name, |