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.bender@gmail.com>2012-06-09 10:15:12 (GMT)
committer Walter Bender <walter.bender@gmail.com>2012-06-09 10:15:12 (GMT)
commitc9b953d7028d76445f217393afad8e92db55977f (patch)
treec8884fb2ba100336cdb61f006d1e3675a02c25ef /plugins/turtle_blocks_extras
parent0a43a9c3cae9dfbccfa46232f2304c478ad1dfe1 (diff)
bounds check for keyboard_num block
Diffstat (limited to 'plugins/turtle_blocks_extras')
-rw-r--r--plugins/turtle_blocks_extras/turtle_blocks_extras.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/plugins/turtle_blocks_extras/turtle_blocks_extras.py b/plugins/turtle_blocks_extras/turtle_blocks_extras.py
index d20ad13..55e6a8a 100644
--- a/plugins/turtle_blocks_extras/turtle_blocks_extras.py
+++ b/plugins/turtle_blocks_extras/turtle_blocks_extras.py
@@ -378,6 +378,7 @@ block as character'))
self.tw.lc.def_prim('keyboard_chr', 0,
lambda self: chr(self.tw.lc.keyboard))
+ primitive_dictionary['keyboardnum'] = self._prim_keyboard_num
palette.add_block('keyboard_num',
style='box-style',
label='num(%s)' % (_('keyboard')),
@@ -387,7 +388,7 @@ block as character'))
help_string=_('holds results of query-keyboard \
block as number'))
self.tw.lc.def_prim('keyboard_num', 0,
- lambda self: self.tw.lc.keyboard - 48)
+ lambda self: primitive_dictionary['keyboardnum']())
primitive_dictionary['readpixel'] = self._prim_readpixel
palette.add_block('readpixel',
@@ -1114,6 +1115,13 @@ bullets'))
self.tw.lc.heap.append(val)
self.tw.lc.update_label_value('pop', val)
+ def _prim_keyboard_num(self):
+ """ Return a number when a number is typed. """
+ if self.tw.lc.keyboard < 48 or self.tw.lc.keyboard > 57:
+ return -1
+ else:
+ return self.tw.lc.keyboard - 48
+
def _prim_readpixel(self):
""" Read r, g, b, a from the canvas and push b, g, r to the stack """
r, g, b, a = self.tw.canvas.get_pixel()