From 9a72bd2af36099323c245a066d13b6464d795a32 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Mon, 07 Oct 2013 17:47:27 +0000 Subject: add support for querying remote turtle position, heading --- (limited to 'plugins') 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[:]) -- cgit v0.9.1