diff options
author | Walter Bender <walter@sugarlabs.org> | 2013-10-07 17:47:27 (GMT) |
---|---|---|
committer | Walter Bender <walter@sugarlabs.org> | 2013-10-07 17:47:27 (GMT) |
commit | 9a72bd2af36099323c245a066d13b6464d795a32 (patch) | |
tree | e45606717ed7626fc5b821c7712e9385d4931216 /plugins/turtle_blocks_extras | |
parent | 74c3f5ddc3ff238aab3728dac4cc65901dbba664 (diff) |
add support for querying remote turtle position, heading
Diffstat (limited to 'plugins/turtle_blocks_extras')
-rw-r--r-- | plugins/turtle_blocks_extras/turtle_blocks_extras.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/plugins/turtle_blocks_extras/turtle_blocks_extras.py b/plugins/turtle_blocks_extras/turtle_blocks_extras.py index b1b003f..a0fa6c3 100644 --- a/plugins/turtle_blocks_extras/turtle_blocks_extras.py +++ b/plugins/turtle_blocks_extras/turtle_blocks_extras.py @@ -676,6 +676,26 @@ module found in the Journal')) lambda self, x: self.tw.turtles.set_turtle(x)) + primitive_dictionary['turtlex'] = self._prim_turtle_x + palette.add_block('turtlex', + style='number-style-1arg', + label=_('turtle x'), + prim_name='turtlex', + default=['Yertle'], + help_string=_('Returns x coordinate of turtle')) + self.tw.lc.def_prim('turtlex', 1, + lambda self, t: primitive_dictionary['turtlex'](t)) + + primitive_dictionary['turtley'] = self._prim_turtle_y + palette.add_block('turtley', + style='number-style-1arg', + label=_('turtle y'), + prim_name='turtley', + default=['Yertle'], + help_string=_('Returns y coordinate of turtle')) + self.tw.lc.def_prim('turtley', 1, + lambda self, t: primitive_dictionary['turtley'](t)) + primitive_dictionary['activeturtle'] = self._prim_active_turtle palette.add_block('activeturtle', style='box-style', @@ -688,6 +708,16 @@ module found in the Journal')) lambda self: primitive_dictionary['activeturtle']()) + primitive_dictionary['turtleh'] = self._prim_turtle_h + palette.add_block('turtleh', + style='number-style-1arg', + label=_('turtle heading'), + prim_name='turtleh', + default=['Yertle'], + help_string=_('Returns heading of turtle')) + self.tw.lc.def_prim('turtleh', 1, + lambda self, t: primitive_dictionary['turtleh'](t)) + primitive_dictionary['skin'] = self._prim_reskin palette.add_block('skin', hidden=True, @@ -1454,6 +1484,18 @@ Journal objects')) self.tw.lc.stop_logo() raise logoerror("#notanumber") + def _prim_turtle_x(self, t): + """ Return x coordinate of turtle t """ + return self.tw.turtles.get_turtle_x(t) + + def _prim_turtle_y(self, t): + """ Return y coordinate of turtle t """ + return self.tw.turtles.get_turtle_y(t) + + def _prim_turtle_h(self, t): + """ Return heading of turtle t """ + return self.tw.turtles.get_turtle_heading(t) + def _prim_clamp(self, blklist): """ Run clamp blklist """ self.tw.lc.icall(self.tw.lc.evline, blklist[:]) |