Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/plugins/turtle_blocks_extras
diff options
context:
space:
mode:
authorWalter Bender <walter@sugarlabs.org>2013-10-07 17:47:27 (GMT)
committer Walter Bender <walter@sugarlabs.org>2013-10-07 17:47:27 (GMT)
commit9a72bd2af36099323c245a066d13b6464d795a32 (patch)
treee45606717ed7626fc5b821c7712e9385d4931216 /plugins/turtle_blocks_extras
parent74c3f5ddc3ff238aab3728dac4cc65901dbba664 (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.py42
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[:])