From 01f030f1cceabebd1118904d417042689f7b2148 Mon Sep 17 00:00:00 2001 From: Pootle daemon Date: Wed, 23 Sep 2009 13:33:06 +0000 Subject: Fix conflicts in French and Spanish translations --- diff --git a/NEWS b/NEWS index bb99384..c78b2e0 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,42 @@ +69 + +* chmod +x svg factory +* added missing import gettext from talogo.py + +68 + +* made case consistent on tool tips +* fixed bug re i18n in debug panel +* new artwork for es and fr +* fixed some problems with svg factory +* fixed bug in Export HTML +* fixed naming problem with all save_as functions +* fixed bug in Export Logo in regard to start block + +67 + +* added mime-type icon +* changed keyboard shortcuts to use Ctrl instead of Alt as per guidelines +* fixed bug re wait time (now in seconds) +* fixed problem with fractional wait times +* fixed i18n problem with labels in hover help +* reorganization of extras palette +* fixed problem of empty file with "Save as HTML" (saving screen capture) + +66 + +* fixed bug preventing launch on (0.82-0.84) +* work around Rainbow problem with Save as image +* fixed bug re activate Stop Button on launch (thanks to rgs) +* added open from journal button (with rgs) +* fixed bug re Erase Button (hides status blocks) +* cleaned up some broken sample code + +65 + +* fixed problem with View Toolbar +* moved Samples button to Help Toolbar + 64 * major refactoring for new toolbar design diff --git a/TurtleArtActivity.py b/TurtleArtActivity.py index 64c9622..d91be2d 100644 --- a/TurtleArtActivity.py +++ b/TurtleArtActivity.py @@ -130,6 +130,15 @@ class TurtleArtActivity(activity.Activity): self.load_python.connect('clicked', self._do_loadpython_cb) self.load_python.show() activity_button.props.page.insert(self.load_python, -1) + + # Open project from the Journal + self.load_ta_project = ToolButton('load-from-journal') + self.load_ta_project.set_tooltip(\ + _("Import project from the Journal")) + self.load_ta_project.connect('clicked', self._do_load_ta_project_cb) + self.load_ta_project.show() + activity_button.props.page.insert(self.load_ta_project, -1) + toolbar_box.toolbar.insert(activity_button, 0) activity_button.show() @@ -163,7 +172,7 @@ class TurtleArtActivity(activity.Activity): self.palette.set_tooltip(_('Hide palette')) self.palette.props.sensitive = True self.palette.connect('clicked', self._do_palette_cb) - self.palette.props.accelerator = _('p') + self.palette.props.accelerator = _('p') toolbar_box.toolbar.insert(self.palette, -1) self.palette.show() @@ -172,7 +181,7 @@ class TurtleArtActivity(activity.Activity): self.blocks.set_tooltip(_('Hide blocks')) self.blocks.props.sensitive = True self.blocks.connect('clicked', self.do_hideshow) - self.blocks.props.accelerator = _('b') + self.blocks.props.accelerator = _('b') toolbar_box.toolbar.insert(self.blocks, -1) self.blocks.show() @@ -181,7 +190,7 @@ class TurtleArtActivity(activity.Activity): self.eraser_button.set_tooltip(_('Clean')) self.eraser_button.props.sensitive = True self.eraser_button.connect('clicked', self._do_eraser_cb) - self.eraser_button.props.accelerator = _('e') + self.eraser_button.props.accelerator = _('e') toolbar_box.toolbar.insert(self.eraser_button, -1) self.eraser_button.show() @@ -190,7 +199,7 @@ class TurtleArtActivity(activity.Activity): self.runproject.set_tooltip(_('Run')) self.runproject.props.sensitive = True self.runproject.connect('clicked', self._do_run_cb) - self.runproject.props.accelerator = _('r') + self.runproject.props.accelerator = _('r') toolbar_box.toolbar.insert(self.runproject, -1) self.runproject.show() @@ -199,7 +208,7 @@ class TurtleArtActivity(activity.Activity): self.stepproject.set_tooltip(_('Step')) self.stepproject.props.sensitive = True self.stepproject.connect('clicked', self._do_step_cb) - self.stepproject.props.accelerator = _('w') + self.stepproject.props.accelerator = _('w') toolbar_box.toolbar.insert(self.stepproject, -1) self.stepproject.show() @@ -217,7 +226,7 @@ class TurtleArtActivity(activity.Activity): self.stop.set_tooltip(_('Stop turtle')) self.stop.props.sensitive = True self.stop.connect('clicked', self._do_stop_cb) - self.stop.props.accelerator = _('s') + self.stop.props.accelerator = _('s') toolbar_box.toolbar.insert(self.stop, -1) self.stop.show() @@ -422,7 +431,8 @@ class TurtleArtActivity(activity.Activity): # Write any metadata (here we specifically set the title of the file # and specify that this is a plain text file). - dsobject.metadata['title'] = self.get_title() + " " + _("presentation") + dsobject.metadata['title'] = self.get_title() + " " + \ + _("presentation") dsobject.metadata['icon-color'] = profile.get_color().to_string() if embed_flag == True: dsobject.metadata['mime_type'] = 'text/html' @@ -479,6 +489,25 @@ class TurtleArtActivity(activity.Activity): gobject.timeout_add(250,self.load_python.set_icon, "pippy-openoff") return + def _do_load_ta_project_cb(self, button): + from sugar.graphics.objectchooser import ObjectChooser + chooser = ObjectChooser(_("Project"), None, gtk.DIALOG_MODAL | \ + gtk.DIALOG_DESTROY_WITH_PARENT) + try: + result = chooser.run() + if result == gtk.RESPONSE_ACCEPT: + dsobject = chooser.get_selected_object() + try: + _logger.debug("opening %s " % dsobject.file_path) + self.read_file(dsobject.file_path, False) + except: + _logger.debug("couldn't open %s" % dsobject.file_path) + dsobject.destroy() + finally: + chooser.destroy() + del chooser + return + # Import Python code from the Journal to load into "myblock" def _import_py(self): from sugar.graphics.objectchooser import ObjectChooser @@ -633,7 +662,7 @@ class TurtleArtActivity(activity.Activity): self.debugproject.set_icon("debugon") self.stop.set_icon("stopiton") self.tw.lc.trace = 1 - tawindow.runbutton(self.tw, 30) + tawindow.runbutton(self.tw, 6) gobject.timeout_add(1000,self.debugproject.set_icon,"debugoff") def _do_stop_cb(self, button): @@ -644,8 +673,9 @@ class TurtleArtActivity(activity.Activity): """ Sample projects open dialog """ def _do_samples_cb(self, button): - tawindow.load_file(self.tw) + tawindow.load_file(self.tw, True) # run the activity + self.stop.set_icon("stopiton") tawindow.runbutton(self.tw, 0) """ @@ -836,7 +866,7 @@ class TurtleArtActivity(activity.Activity): """ Read a project in and then run it """ - def read_file(self, file_path): + def read_file(self, file_path, run_it = True): import tarfile,os,tempfile,shutil if hasattr(self, 'tw'): @@ -847,26 +877,30 @@ class TurtleArtActivity(activity.Activity): tmpdir = tempfile.mkdtemp() try: # We'll get 'ta_code.ta' and possibly a 'ta_image.png' + # but we will ignore the .png file + # If run_it is True, we want to create a new project tar_fd.extractall(tmpdir) - tawindow.load_files(self.tw, os.path.join(tmpdir, \ - 'ta_code.ta'), os.path.join(tmpdir, 'ta_image.png')) + tawindow.load_files(self.tw, \ + os.path.join(tmpdir,'ta_code.ta'), \ + run_it) # create a new project flag finally: shutil.rmtree(tmpdir) tar_fd.close() # Otherwise, assume it is a .ta file else: print "trying to open a .ta file:" + file_path - tawindow.load_files(self.tw, file_path, "") + tawindow.load_files(self.tw, file_path, run_it) # run the activity - try: - # Use 0.86 toolbar design - self.stop.set_icon("stopiton") - except: - # Use pre-0.86 toolbar design - self.projectToolbar.stop.set_icon("stopiton") + if run_it: + try: + # Use 0.86 toolbar design + self.stop.set_icon("stopiton") + except: + # Use pre-0.86 toolbar design + self.projectToolbar.stop.set_icon("stopiton") - tawindow.runbutton(self.tw, 0) + tawindow.runbutton(self.tw, 0) else: _logger.debug("Deferring reading file %s" % file_path) @@ -1025,12 +1059,20 @@ class SaveAsToolbar(gtk.Toolbar): # Pippy load myblock source button self.loadmyblock = ToolButton( "pippy-openoff" ) - self.loadmyblock.set_tooltip(_('load my block')) + self.loadmyblock.set_tooltip(_('Load my block')) self.loadmyblock.props.sensitive = True self.loadmyblock.connect('clicked', self.do_loadmyblock) self.insert(self.loadmyblock, -1) self.loadmyblock.show() + # Open TA project from the Journal + self.load_ta_project = ToolButton('load-from-journal') + self.load_ta_project.set_tooltip(_("Import project from the Journal")) + self.load_ta_project.props.sensitive = True + self.load_ta_project.connect('clicked', self.do_load_ta_project_cb) + self.insert(self.load_ta_project, -1) + self.load_ta_project.show() + def do_savehtml(self, button): # write html out to datastore self.savehtml.set_icon("htmlon") @@ -1076,7 +1118,7 @@ class SaveAsToolbar(gtk.Toolbar): # Write any metadata (here we specifically set the title of the file # and specify that this is a plain text file). dsobject.metadata['title'] = self.activity.get_title() + " " + \ - _("presentation") + _("presentation") dsobject.metadata['icon-color'] = profile.get_color().to_string() if embed_flag == True: dsobject.metadata['mime_type'] = 'text/html' @@ -1139,6 +1181,25 @@ class SaveAsToolbar(gtk.Toolbar): gobject.timeout_add(250,self.loadmyblock.set_icon, "pippy-openoff") return + def do_load_ta_project_cb(self, button): + from sugar.graphics.objectchooser import ObjectChooser + chooser = ObjectChooser(_("Project"), None, gtk.DIALOG_MODAL | \ + gtk.DIALOG_DESTROY_WITH_PARENT) + try: + result = chooser.run() + if result == gtk.RESPONSE_ACCEPT: + dsobject = chooser.get_selected_object() + try: + _logger.debug("opening %s " % dsobject.file_path) + self.activity.read_file(dsobject.file_path, False) + except: + _logger.debug("couldn't open %s" % dsobject.file_path) + dsobject.destroy() + finally: + chooser.destroy() + del chooser + return + # Import Python code from the Journal to load into "myblock" def import_py(self): from sugar.graphics.objectchooser import ObjectChooser @@ -1204,7 +1265,7 @@ class ProjectToolbar(gtk.Toolbar): self.palette.props.sensitive = True self.palette.connect('clicked', self.do_palette) try: - self.palette.props.accelerator = _('p') + self.palette.props.accelerator = _('p') except: pass self.insert(self.palette, -1) @@ -1216,7 +1277,7 @@ class ProjectToolbar(gtk.Toolbar): self.blocks.props.sensitive = True self.blocks.connect('clicked', self.do_hideshow) try: - self.blocks.props.accelerator = _('b') + self.blocks.props.accelerator = _('b') except: pass self.insert(self.blocks, -1) @@ -1233,7 +1294,7 @@ class ProjectToolbar(gtk.Toolbar): self.runproject.props.sensitive = True self.runproject.connect('clicked', self.do_run) try: - self.runproject.props.accelerator = _('r') + self.runproject.props.accelerator = _('r') except: pass self.insert(self.runproject, -1) @@ -1245,7 +1306,7 @@ class ProjectToolbar(gtk.Toolbar): self.stepproject.props.sensitive = True self.stepproject.connect('clicked', self.do_step) try: - self.stepproject.props.accelerator = _('w') + self.stepproject.props.accelerator = _('w') except: pass self.insert(self.stepproject, -1) @@ -1257,7 +1318,7 @@ class ProjectToolbar(gtk.Toolbar): self.debugproject.props.sensitive = True self.debugproject.connect('clicked', self.do_debug) try: - self.debugproject.props.accelerator = _('d') + self.debugproject.props.accelerator = _('d') except: pass self.insert(self.debugproject, -1) @@ -1269,7 +1330,7 @@ class ProjectToolbar(gtk.Toolbar): self.stop.props.sensitive = True self.stop.connect('clicked', self.do_stop) try: - self.stop.props.accelerator = _('s') + self.stop.props.accelerator = _('s') except: pass self.insert(self.stop, -1) @@ -1286,7 +1347,7 @@ class ProjectToolbar(gtk.Toolbar): self.eraser.props.sensitive = True self.eraser.connect('clicked', self.do_eraser) try: - self.eraser.props.accelerator = _('e') + self.eraser.props.accelerator = _('e') except: pass self.insert(self.eraser, -1) @@ -1337,7 +1398,7 @@ class ProjectToolbar(gtk.Toolbar): self.sampb.props.sensitive = True self.sampb.connect('clicked', self.do_samples) try: - self.sampb.props.accelerator = _('o') + self.sampb.props.accelerator = _('o') except: pass self.insert(self.sampb, -1) @@ -1381,7 +1442,7 @@ class ProjectToolbar(gtk.Toolbar): self.debugproject.set_icon("debugon") self.stop.set_icon("stopiton") self.activity.tw.lc.trace = 1 - tawindow.runbutton(self.activity.tw, 30) + tawindow.runbutton(self.activity.tw, 6) gobject.timeout_add(1000,self.debugproject.set_icon,"debugoff") def do_stop(self, button): @@ -1429,8 +1490,9 @@ class ProjectToolbar(gtk.Toolbar): self.activity.recenter() def do_samples(self, button): - tawindow.load_file(self.activity.tw) + tawindow.load_file(self.activity.tw, True) # run the activity + self.stop.set_icon("stopiton") tawindow.runbutton(self.activity.tw, 0) def do_savesnapshot(self, button): diff --git a/activity/activity.info b/activity/activity.info index 31c9b6e..2840b43 100644 --- a/activity/activity.info +++ b/activity/activity.info @@ -1,6 +1,6 @@ [Activity] name = Turtle Art -activity_version = 64 +activity_version = 68 license = MIT bundle_id = org.laptop.TurtleArtActivity exec = sugar-activity TurtleArtActivity.TurtleArtActivity diff --git a/activity/application-x-turtle-art.svg b/activity/application-x-turtle-art.svg new file mode 100644 index 0000000..a885712 --- /dev/null +++ b/activity/application-x-turtle-art.svg @@ -0,0 +1,120 @@ + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/icons/help-toolbar.svg b/icons/help-toolbar.svg index d763270..d997562 100644 --- a/icons/help-toolbar.svg +++ b/icons/help-toolbar.svg @@ -1,28 +1,20 @@ - - - - - - ? - - \ No newline at end of file + style="fill:#010101;stroke:#ffffff;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round"> + + + + diff --git a/images/de/sensors/sensorsgroup.svg b/images/de/sensors/sensorsgroup.svg index ae0d34f..856117b 100644 --- a/images/de/sensors/sensorsgroup.svg +++ b/images/de/sensors/sensorsgroup.svg @@ -252,7 +252,7 @@ style="font-size:11px">tastatur keyboard keyboard X clean forward back left right arc angle radius setyx x y seth xcor ycor heading Turtle show set scale show name \ No newline at end of file + X clean forward back left right arc angle radius setxy x y seth xcor ycor heading Turtle show set scale show text diff --git a/images/es/sensors/sensorsgroup.svg b/images/es/sensors/sensorsgroup.svg index 5bb868f..1fa6a9c 100644 --- a/images/es/sensors/sensorsgroup.svg +++ b/images/es/sensors/sensorsgroup.svg @@ -253,7 +253,7 @@ x="72.5" y="21.5" id="tspan30" - style="font-size:20px">Mas opciones + style="font-size:20px">Extras teclado - inferior + + + + + diff --git a/images/fi/sensors/sensorsgroup.svg b/images/fi/sensors/sensorsgroup.svg index c1c71e6..8745ac7 100644 --- a/images/fi/sensors/sensorsgroup.svg +++ b/images/fi/sensors/sensorsgroup.svg @@ -252,7 +252,7 @@ style="font-size:11px">keyboard arrête @@ -308,4 +309,15 @@ d="M 49.4155,411.64166 C 60.0827,411.64166 60.0827,411.64166 60.0827,411.64166 C 60.0827,411.64166 62.83737,413.29944 63.74955,414.30846 C 64.68124,415.33906 66.083,418.30866 66.083,418.30866 L 66.083,450.97696 C 66.083,450.97696 64.60489,453.43952 63.74955,454.31046 C 62.79646,455.28093 60.0827,456.97726 60.0827,456.97726 L 48.7488,456.97726 L 48.7488,456.97726 L 48.7488,459.64406 L 35.4148,459.64406 L 35.4148,456.97726 L 24.0809,456.97726 C 24.0809,456.97726 21.367138,455.28093 20.41405,454.31046 C 19.558707,453.43952 18.0806,450.97696 18.0806,450.97696 L 18.0806,418.30866 C 18.0806,418.30866 19.482356,415.33906 20.41405,414.30846 C 21.32623,413.29944 24.0809,411.64166 24.0809,411.64166 L 34.7481,411.64166 L 34.7481,414.97516 L 49.4155,414.97516 L 49.4155,411.64166 z" id="path105" style="fill:url(#linearGradient4683);fill-opacity:1;stroke:#a97513;stroke-width:1.5px;stroke-opacity:1" /> + + l'action + diff --git a/images/fr/flow/stopstack.svg b/images/fr/flow/stopstack.svg index 5df0f2b..6085090 100644 --- a/images/fr/flow/stopstack.svg +++ b/images/fr/flow/stopstack.svg @@ -39,6 +39,13 @@ arrête + + l'action diff --git a/images/fr/pen/pengroup.svg b/images/fr/pen/pengroup.svg index bdf3591..82e5c38 100644 --- a/images/fr/pen/pengroup.svg +++ b/images/fr/pen/pengroup.svg @@ -1,623 +1,707 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - Crayon - - - - - crayon - - - levé - - - - - - crayon - - - abaissé - - - - - - - - fixe - - - l'épaisseur - - - du trait - - - - - - - - fixe - - - la couleur - - - - - - - - fixe - - - la teinte - - - - - - - - - - peins - - - fond - - - couleur - - - teinte - - - - - - épaisseur - - - - - - couleur - - - - - - teinte - - - - - - - - définir la - - - épaisseur - - - du texte - - - - - - - - définir la - - - couleur - - - du texte - - - - - - c. du texte - - - - - - é. du texte - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + X + + + Crayon + + + + + crayon + + + levé + + + + + + crayon + + + abaissé + + + + + + + + fixe + + + l'épaisseur + + + du trait + + + + + + + + fixe + + + la couleur + + + + + + + + fixe + + + la teinte + + + + + + + + + + peins + + + fond + + + couleur + + + teinte + + + + + + épaisseur + + + + + + couleur + + + + + + teinte + + + + + + + + définir la + + + épaisseur + + + du texte + + + + + + + + définir la + + + couleur + + + du texte + + + + + + couleur du texte + + + + + + taille du texte + + + diff --git a/images/fr/pen/textsize.svg b/images/fr/pen/textsize.svg index 8c49bda..78fc259 100644 --- a/images/fr/pen/textsize.svg +++ b/images/fr/pen/textsize.svg @@ -1,40 +1,46 @@ - - - - - - - - - - - - é du texte - - - + + + + + + + + + + + + + taille du texte + + diff --git a/images/fr/sensors/bottompos.svg b/images/fr/sensors/bottompos.svg index acf79cb..8bdfdb5 100644 --- a/images/fr/sensors/bottompos.svg +++ b/images/fr/sensors/bottompos.svg @@ -1,46 +1,46 @@ - - - - - - - - - - - - - bottom - - + + + + + + + + + + + + + bas + + diff --git a/images/fr/sensors/clearheap.svg b/images/fr/sensors/clearheap.svg index f277b41..f0e483d 100644 --- a/images/fr/sensors/clearheap.svg +++ b/images/fr/sensors/clearheap.svg @@ -1,46 +1,68 @@ - - - - - - - - - - - - clear - - - heap - - + + + + + + + + + + + + + vide + + + le + + + tas + + diff --git a/images/fr/sensors/hres.svg b/images/fr/sensors/hres.svg index 630111c..8788189 100644 --- a/images/fr/sensors/hres.svg +++ b/images/fr/sensors/hres.svg @@ -1,46 +1,46 @@ - - - - - - - - - - - - - hres - - + + + + + + + + + + + + + largeur + + diff --git a/images/fr/sensors/kbinput.svg b/images/fr/sensors/kbinput.svg index 1ffc165..3c94a2b 100644 --- a/images/fr/sensors/kbinput.svg +++ b/images/fr/sensors/kbinput.svg @@ -1,55 +1,68 @@ - - - - - - - - - - - + + + + + + + + + + + + style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"> query + style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans">vide + style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"> kb + style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans">la - + + touche + + diff --git a/images/fr/sensors/printheap.svg b/images/fr/sensors/printheap.svg index 026631e..91dc463 100644 --- a/images/fr/sensors/printheap.svg +++ b/images/fr/sensors/printheap.svg @@ -29,18 +29,35 @@ - - show - - - heap - + + affiche + + + le + + + tas + diff --git a/images/fr/sensors/push.svg b/images/fr/sensors/push.svg index 9683008..7d7de13 100644 --- a/images/fr/sensors/push.svg +++ b/images/fr/sensors/push.svg @@ -39,6 +39,6 @@ push + style="font-size:16px;;font-family:Bitstream Vera Sans">pousse diff --git a/images/fr/sensors/sensorsgroup.svg b/images/fr/sensors/sensorsgroup.svg index c0a5c41..977be73 100644 --- a/images/fr/sensors/sensorsgroup.svg +++ b/images/fr/sensors/sensorsgroup.svg @@ -1,444 +1,622 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - - - - Clavier - - - - read - - - key - - - - clavier - - - - - hres - - - - - - vres - - - - - - - - - - x - - - - - - - pop - - - - - - - show - - - heap - - - - - - empty - - - heap - - - - - - - - push - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + X + + + + + + + Extras + + + + lit + + + la + + + + clavier + + + + + largeur + + + + + + hauteur + + + + + + + + + + x + + + + + + + dépile + + + + + + affiche + + + le + + + + vide + + + le + + + tas + + + tas + + + + + + + pousse + + + + + + + + gauche + + + + + + haut + + + + + + droite + + + + + + bas + + + + + + + + + touche + + diff --git a/images/fr/sensors/toppos.svg b/images/fr/sensors/toppos.svg index 7b9e287..c522fee 100644 --- a/images/fr/sensors/toppos.svg +++ b/images/fr/sensors/toppos.svg @@ -1,46 +1,46 @@ - - - - - - - - - - - - - top - - + + + + + + + + + + + + + haut + + diff --git a/images/fr/sensors/vres.svg b/images/fr/sensors/vres.svg index cd25565..50074b2 100644 --- a/images/fr/sensors/vres.svg +++ b/images/fr/sensors/vres.svg @@ -1,46 +1,46 @@ - - - - - - - - - - - - - vres - - + + + + + + + + + + + + + hauteur + + diff --git a/images/it/sensors/sensorsgroup.svg b/images/it/sensors/sensorsgroup.svg index 825e428..e50645b 100644 --- a/images/it/sensors/sensorsgroup.svg +++ b/images/it/sensors/sensorsgroup.svg @@ -252,7 +252,7 @@ style="font-size:11px">tastiera extras гар tastatur toetsenbord bottom + style="font-size:16px">inferior diff --git a/images/pt/sensors/hres.svg b/images/pt/sensors/hres.svg index 630111c..0ff753c 100644 --- a/images/pt/sensors/hres.svg +++ b/images/pt/sensors/hres.svg @@ -41,6 +41,6 @@ x="52" y="15.5" id="tspan14" - style="font-size:16px">hres + style="font-size:16px">largura diff --git a/images/pt/sensors/sensorsgroup.svg b/images/pt/sensors/sensorsgroup.svg index d1539a2..1a02214 100644 --- a/images/pt/sensors/sensorsgroup.svg +++ b/images/pt/sensors/sensorsgroup.svg @@ -1,444 +1,585 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - - - - - Teclado - - - - ler - - - a - - - - teclado - - - - - hres - - - - - - vres - - - - - - - - - - x - - - - - - - pop - - - - - - - show - - - heap - - - - - - empty - - - heap - - - - - - - - push - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + X + + + + + + + Extras + + + + ler + + + a + + + + teclado + + + + + largura + + + + + + altura + + + + + + + + + + x + + + + + + + pop + + + + + + + mostrar + + + heap + + + + + + esvaziar + + + heap + + + + + + + + push + + + + + + + + esquerda + + + + + + superior + + + + + + direita + + + + + + inferior + + + + + + + + + chave + + diff --git a/images/pt/sensors/toppos.svg b/images/pt/sensors/toppos.svg index 7b9e287..d1fbef1 100644 --- a/images/pt/sensors/toppos.svg +++ b/images/pt/sensors/toppos.svg @@ -41,6 +41,6 @@ x="52" y="15.5" id="tspan14" - style="font-size:16px">top + style="font-size:16px">superior diff --git a/images/pt/sensors/vres.svg b/images/pt/sensors/vres.svg index cd25565..d3fa49f 100644 --- a/images/pt/sensors/vres.svg +++ b/images/pt/sensors/vres.svg @@ -41,6 +41,6 @@ x="52" y="15.5" id="tspan14" - style="font-size:16px">vres + style="font-size:16px">altura diff --git a/images/ru/sensors/sensorsgroup.svg b/images/ru/sensors/sensorsgroup.svg index c1c71e6..8745ac7 100644 --- a/images/ru/sensors/sensorsgroup.svg +++ b/images/ru/sensors/sensorsgroup.svg @@ -252,7 +252,7 @@ style="font-size:11px">keyboard keyboard tangentbord extras keyboard bàn phím 鍵盤 \n" "Language-Team: LANGUAGE \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: activity/activity.info:2 -#: /home/walter/Desktop/turtleart-activity/taexporthtml.py:229 +#: /home/walter/Desktop/turtleart-activity/taexporthtml.py:280 msgid "Turtle Art" msgstr "" @@ -450,12 +450,12 @@ msgid "declutter canvas by hiding blocks" msgstr "" #: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:97 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1319 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1382 msgid "Save snapshot" msgstr "" #: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:108 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:999 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1034 msgid "Save as HTML" msgstr "" @@ -464,168 +464,185 @@ msgid "Save as Logo" msgstr "" #: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:122 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1015 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1050 msgid "Save as image" msgstr "" #: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:129 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1063 msgid "Load my block" msgstr "" -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:148 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1302 -msgid "Fullscreen" -msgstr "" - -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:163 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:571 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:582 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:598 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:610 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1203 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1354 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1364 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1407 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1419 -msgid "Hide palette" +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:137 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1071 +msgid "Import project from the Journal" msgstr "" -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:166 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1207 -msgid "p" +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:157 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1365 +msgid "Fullscreen" msgstr "" #: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:172 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:591 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:608 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1215 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1400 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:601 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:612 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:628 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:640 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1266 #: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1417 -msgid "Hide blocks" +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1427 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1470 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1482 +msgid "Hide palette" msgstr "" #: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:175 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1219 -msgid "b" +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1270 +msgid "p" msgstr "" #: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:181 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1285 -msgid "Clean" +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:621 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:638 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1278 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1463 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1480 +msgid "Hide blocks" msgstr "" #: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:184 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1289 -msgid "e" +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1282 +msgid "b" msgstr "" #: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:190 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1232 -msgid "Run" +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1348 +msgid "Clean" msgstr "" #: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:193 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1236 -msgid "r" +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1352 +msgid "e" msgstr "" #: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:199 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1244 -msgid "Step" +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1295 +msgid "Run" msgstr "" #: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:202 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1248 -msgid "w" +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1299 +msgid "r" msgstr "" #: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:208 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1256 -msgid "Debug" +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1307 +msgid "Step" msgstr "" #: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:211 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1260 -msgid "d" +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1311 +msgid "w" msgstr "" #: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:217 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1268 -msgid "Stop turtle" +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1319 +msgid "Debug" msgstr "" #: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:220 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1272 -msgid "s" +msgid "d" msgstr "" -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:232 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1336 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:226 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1331 +msgid "Stop turtle" +msgstr "" + +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:229 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1335 +msgid "s" +msgstr "" + +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:241 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1399 msgid "Samples" msgstr "" -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:243 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:981 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:252 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1016 msgid "Move the cursor over the orange palette for help." msgstr "" -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:279 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:288 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:494 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1187 msgid "Project" msgstr "" -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:281 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:290 msgid "Edit" msgstr "" -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:283 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:292 msgid "Import/Export" msgstr "" -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:285 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:294 msgid "Help" msgstr "" -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:425 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1079 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:435 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1122 msgid "presentation" msgstr "" -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:567 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:577 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:595 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:604 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1350 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1359 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1404 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:550 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1244 +msgid "image" +msgstr "" + +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:578 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1518 +msgid "snapshot" +msgstr "" + +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:597 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:607 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:625 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:634 #: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1413 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1422 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1467 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1476 msgid "Show palette" msgstr "" -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:588 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:602 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1397 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1411 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:618 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:632 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1460 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1474 msgid "Show blocks" msgstr "" -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:930 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:965 msgid "Copy" msgstr "" -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:942 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:977 msgid "Paste" msgstr "" -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1007 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1042 msgid "Save Logo" msgstr "" -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1028 -msgid "load my block" +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1323 +msgid "d" msgstr "" -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1340 -msgid "o" +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1403 +msgid "o" msgstr "" #: /home/walter/Desktop/turtleart-activity/svg/hat2.py:40 @@ -656,7 +673,8 @@ msgid "start" msgstr "" #: /home/walter/Desktop/turtleart-activity/svg/keyboard.py:40 -msgid "Keyboard" +#: /home/walter/Desktop/turtleart-activity/svg/sensorsgroup.py:42 +msgid "keyboard" msgstr "" #: /home/walter/Desktop/turtleart-activity/svg/flowgroup.py:40 @@ -843,10 +861,6 @@ msgstr "" msgid "read key" msgstr "" -#: /home/walter/Desktop/turtleart-activity/svg/sensorsgroup.py:42 -msgid "keyboard" -msgstr "" - #: /home/walter/Desktop/turtleart-activity/svg/sensorsgroup.py:43 #: /home/walter/Desktop/turtleart-activity/svg/hres.py:40 msgid "width" @@ -908,7 +922,8 @@ msgid "radius" msgstr "" #: /home/walter/Desktop/turtleart-activity/svg/turtlegroup.py:49 -msgid "setyx" +#: /home/walter/Desktop/turtleart-activity/svg/setxy.py:40 +msgid "set xy" msgstr "" #: /home/walter/Desktop/turtleart-activity/svg/turtlegroup.py:51 @@ -992,7 +1007,3 @@ msgstr "" #: /home/walter/Desktop/turtleart-activity/svg/pensize.py:40 msgid "pen size" msgstr "" - -#: /home/walter/Desktop/turtleart-activity/svg/setxy.py:40 -msgid "set xy" -msgstr "" diff --git a/po/es.po b/po/es.po index eee5b36..9113d24 100644 --- a/po/es.po +++ b/po/es.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-09-18 12:07+0000\n" -"PO-Revision-Date: 2009-09-21 21:00-0400\n" -"Last-Translator: Rafael Ortiz \n" +"PO-Revision-Date: 2009-09-22 17:21-0400\n" +"Last-Translator: Chema Q \n" "Language-Team: LANGUAGE \n" "Language: es\n" "MIME-Version: 1.0\n" @@ -268,7 +268,7 @@ msgstr "operador lógico de igualdad" #: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:71 msgid "logical greater-than operator" -msgstr "operador lógico mayor que " +msgstr "operador lógico mayor que" #: /home/walter/Desktop/turtleart-activity/tahoverhelp.py:72 msgid "logical less-than operator" @@ -678,9 +678,8 @@ msgstr "pila 2" #: /home/walter/Desktop/turtleart-activity/svg/stack1.py:40 #: /home/walter/Desktop/turtleart-activity/svg/hat1.py:40 #: /home/walter/Desktop/turtleart-activity/svg/myblocksgroup.py:41 -#, fuzzy msgid "stack 1" -msgstr "acción 1" +msgstr "pila 1" #: /home/walter/Desktop/turtleart-activity/svg/hideblocks.py:40 #: /home/walter/Desktop/turtleart-activity/svg/templatesgroup.py:41 @@ -784,9 +783,8 @@ msgstr "mostrar pila" #: /home/walter/Desktop/turtleart-activity/svg/pendown.py:40 #: /home/walter/Desktop/turtleart-activity/svg/pengroup.py:42 -#, fuzzy msgid "pen down" -msgstr "cp" +msgstr "bajar pluma" #: /home/walter/Desktop/turtleart-activity/svg/numbersgroup.py:40 msgid "Numbers" @@ -1012,10 +1010,11 @@ msgstr "fijar el color del texto" msgid "Pen" msgstr "Pluma" +# verbo #: /home/walter/Desktop/turtleart-activity/svg/pengroup.py:41 #: /home/walter/Desktop/turtleart-activity/svg/penup.py:40 msgid "pen up" -msgstr "pluma arriba" +msgstr "subir pluma" #: /home/walter/Desktop/turtleart-activity/svg/pengroup.py:43 #: /home/walter/Desktop/turtleart-activity/svg/setpensize.py:40 diff --git a/po/fr.po b/po/fr.po index c471dd1..94b9fc9 100644 --- a/po/fr.po +++ b/po/fr.po @@ -537,8 +537,7 @@ msgstr "p" msgid "Hide blocks" msgstr "Masquer les blocs" -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:175 -#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:1219 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:156 msgid "b" msgstr "b" @@ -642,6 +641,11 @@ msgid "Show blocks" msgstr "Afficher les blocs" #: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:930 +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:212 +msgid "Move the cursor over the yellow palettes for help." +msgstr "Passer le curseur sur les palettes jaunes pour afficher l'aide." + +#: /home/walter/Desktop/turtleart-activity/TurtleArtActivity.py:865 msgid "Copy" msgstr "Copier" @@ -957,6 +961,9 @@ msgstr "y" msgid "set heading" msgstr "seth" +msgid "seth" +msgstr "seth" + #: /home/walter/Desktop/turtleart-activity/svg/turtlegroup.py:53 #: /home/walter/Desktop/turtleart-activity/svg/xcor.py:40 msgid "xcor" diff --git a/samples/About_me.ta b/samples/About_me.ta index 805b0cf..05ecdaf 100644 --- a/samples/About_me.ta +++ b/samples/About_me.ta @@ -1,390 +1 @@ -(lp0 -(I0 -S'stack1' -p1 -I442 -I94 -(lp2 -I8 -aI1 -atp3 -a(I1 -S'template7' -p4 -I442 -I133 -(lp5 -I0 -aI2 -aI3 -aI4 -aI5 -aI6 -aI7 -atp6 -a(I2 -(S'title' -p7 -S'My favorite things' -p8 -tp9 -I452 -I148 -(lp10 -I1 -aNatp11 -a(I3 -(S'journal' -p12 -S'None' -p13 -tp14 -I452 -I179 -(lp15 -I1 -aNatp16 -a(I4 -(g12 -g13 -tp17 -I532 -I179 -(lp18 -I1 -aNatp19 -a(I5 -(g12 -g13 -tp20 -I452 -I236 -(lp21 -I1 -aNatp22 -a(I6 -(g12 -g13 -tp23 -I532 -I236 -(lp24 -I1 -aNatp25 -a(I7 -S'stack2' -p26 -I442 -I295 -(lp27 -I1 -aI10 -atp28 -a(I8 -S'hat' -p29 -I404 -I24 -(lp30 -NaI9 -aI0 -atp31 -a(I9 -(S'string' -p32 -S'Part2' -p33 -tp34 -I426 -I51 -(lp35 -I8 -aNatp36 -a(I10 -g1 -I442 -I334 -(lp37 -I7 -aI11 -atp38 -a(I11 -S'template3' -p39 -I442 -I373 -(lp40 -I10 -aI12 -aI13 -aI14 -aI15 -aI16 -aI17 -aI18 -aI19 -aNatp41 -a(I12 -(g7 -S'Me' -p42 -tp43 -I452 -I387 -(lp44 -I11 -aNatp45 -a(I13 -(g32 -S'Name' -p46 -tp47 -I452 -I413 -(lp48 -I11 -aNatp49 -a(I14 -(g32 -S'Age' -p50 -tp51 -I452 -I439 -(lp52 -I11 -aNatp53 -a(I15 -(g32 -S'Hair color' -p54 -tp55 -I452 -I465 -(lp56 -I11 -aNatp57 -a(I16 -(g32 -S'Eye color' -p58 -tp59 -I452 -I491 -(lp60 -I11 -aNatp61 -a(I17 -(g32 -S'Favorite color' -p62 -tp63 -I452 -I517 -(lp64 -I11 -aNatp65 -a(I18 -(g32 -S'Favorite food' -p66 -tp67 -I452 -I543 -(lp68 -I11 -aNatp69 -a(I19 -(g32 -S'Favorite hobby' -p70 -tp71 -I452 -I569 -(lp72 -I11 -aNatp73 -a(I20 -S'hat1' -p74 -I990 -I271 -(lp75 -NaI21 -atp76 -a(I21 -S'clean' -p77 -I1002 -I321 -(lp78 -I20 -aNatp79 -a(I22 -S'hat2' -p80 -I993 -I386 -(lp81 -NaI23 -atp82 -a(I23 -S'wait' -p83 -I1005 -I436 -(lp84 -I22 -aI24 -aNatp85 -a(I24 -(S'number' -p86 -S'30' -p87 -tp88 -I1079 -I445 -(lp89 -I23 -aNatp90 -a(I25 -S'hideblocks' -p91 -I250 -I29 -(lp92 -NaI26 -atp93 -a(I26 -g1 -I250 -I83 -(lp94 -I25 -aI27 -atp95 -a(I27 -S'template1' -p96 -I250 -I122 -(lp97 -I26 -aI28 -aI29 -aI30 -atp98 -a(I28 -(g7 -S'About me' -p99 -tp100 -I260 -I137 -(lp101 -I27 -aNatp102 -a(I29 -(g12 -g13 -tp103 -I260 -I168 -(lp104 -I27 -aNatp105 -a(I30 -g26 -I250 -I230 -(lp106 -I27 -aI31 -atp107 -a(I31 -g1 -I250 -I269 -(lp108 -I30 -aI32 -atp109 -a(I32 -S'template6' -p110 -I250 -I308 -(lp111 -I31 -aI33 -aI34 -aI35 -aI36 -atp112 -a(I33 -(g7 -S'My family' -p113 -tp114 -I260 -I323 -(lp115 -I32 -aNatp116 -a(I34 -(g12 -g13 -tp117 -I260 -I354 -(lp118 -I32 -aNatp119 -a(I35 -(g12 -g13 -tp120 -I260 -I411 -(lp121 -I32 -aNatp122 -a(I36 -g26 -I250 -I470 -(lp123 -I32 -aI37 -atp124 -a(I37 -S'stack' -p125 -I250 -I509 -(lp126 -I36 -aI38 -aNatp127 -a(I38 -(g32 -S'Part2' -p128 -tp129 -I262 -I521 -(lp130 -I37 -aNatp131 -a(I-1 -S'turtle' -p132 -I0 -I0 -I0 -I0 -I50 -I5 -tp133 -a. \ No newline at end of file +[[0, "start", 235, 98, [null, 1]], [1, "stack1", 247, 148, [0, 2]], [2, "template1", 247, 187, [1, 3, 4, 5]], [3, ["string", "About me"], 257, 202, [2, null]], [4, ["journal", null], 257, 233, [2, null]], [5, "stack2", 247, 295, [2, 6]], [6, "stack1", 247, 334, [5, 7]], [7, "template6", 247, 373, [6, 8, 9, 10, 11]], [8, ["string", "My family"], 257, 388, [7, null]], [9, ["journal", null], 257, 419, [7, null]], [10, ["journal", null], 257, 476, [7, null]], [11, "stack2", 247, 535, [7, 12]], [12, "stack", 247, 574, [11, 13, null]], [13, ["string", "Part2"], 259, 586, [12, null]], [14, "hat", 406, 87, [null, 15, 16]], [15, ["string", "Part2"], 428, 114, [14, null]], [16, "stack1", 444, 157, [14, 17]], [17, "template7", 444, 196, [16, 18, 19, 20, 21, 22, 23]], [18, ["string", "My favorite things"], 454, 211, [17, null]], [19, ["journal", null], 454, 242, [17, null]], [20, ["journal", null], 534, 242, [17, null]], [21, ["journal", null], 454, 299, [17, null]], [22, ["journal", null], 534, 299, [17, null]], [23, "stack2", 444, 358, [17, 24]], [24, "stack1", 444, 397, [23, 25]], [25, "template3", 444, 436, [24, 26, 27, 28, 29, 30, 31, 32, 33, null]], [26, ["string", "Me"], 454, 450, [25, null]], [27, ["string", "Name"], 454, 476, [25, null]], [28, ["string", "Age"], 454, 502, [25, null]], [29, ["string", "Hair color"], 454, 528, [25, null]], [30, ["string", "Eye color"], 454, 554, [25, null]], [31, ["string", "Favorite color"], 454, 580, [25, null]], [32, ["string", "Favorite food"], 454, 606, [25, null]], [33, ["string", "Favorite hobby"], 454, 632, [25, null]], [34, "hat1", 713, 263, [null, 35]], [35, "clean", 725, 313, [34, null]], [36, "hat2", 720, 394, [null, 37]], [37, "wait", 732, 444, [36, 38, null]], [38, ["number", "30"], 806, 453, [37, null]], [-1, "turtle", -525.0, -30, 0, 0, 50, 5]] \ No newline at end of file diff --git a/samples/Learning_Experiences.ta b/samples/Learning_Experiences.ta index e06c702..fc85172 100644 --- a/samples/Learning_Experiences.ta +++ b/samples/Learning_Experiences.ta @@ -1,529 +1 @@ -(lp0 -(I0 -S'hat' -p1 -I194 -I11 -(lp2 -NaI35 -aI1 -atp3 -a(I1 -S'stack1' -p4 -I232 -I81 -(lp5 -I0 -aI2 -atp6 -a(I2 -S'template1' -p7 -I232 -I120 -(lp8 -I1 -aI27 -aI3 -aI4 -atp9 -a(I3 -(S'journal' -p10 -Ntp11 -I242 -I166 -(lp12 -I2 -aNatp13 -a(I4 -g4 -I232 -I228 -(lp14 -I2 -aI5 -atp15 -a(I5 -g7 -I232 -I267 -(lp16 -I4 -aI28 -aI6 -aI7 -atp17 -a(I6 -(g10 -Ntp18 -I242 -I313 -(lp19 -I5 -aNatp20 -a(I7 -g4 -I232 -I375 -(lp21 -I5 -aI8 -atp22 -a(I8 -g7 -I232 -I414 -(lp23 -I7 -aI29 -aI9 -aI10 -atp24 -a(I9 -(g10 -Ntp25 -I242 -I460 -(lp26 -I8 -aNatp27 -a(I10 -g4 -I232 -I522 -(lp28 -I8 -aI11 -atp29 -a(I11 -g7 -I232 -I561 -(lp30 -I10 -aI30 -aI12 -aNatp31 -a(I12 -(g10 -Ntp32 -I242 -I607 -(lp33 -I11 -aNatp34 -a(I13 -g1 -I592 -I11 -(lp35 -NaI36 -aI14 -atp36 -a(I14 -g4 -I630 -I81 -(lp37 -I13 -aI15 -atp38 -a(I15 -g7 -I630 -I120 -(lp39 -I14 -aI31 -aI16 -aI17 -atp40 -a(I16 -(g10 -Ntp41 -I640 -I166 -(lp42 -I15 -aNatp43 -a(I17 -g4 -I630 -I228 -(lp44 -I15 -aI18 -atp45 -a(I18 -g7 -I630 -I267 -(lp46 -I17 -aI32 -aI19 -aI20 -atp47 -a(I19 -(g10 -Ntp48 -I640 -I313 -(lp49 -I18 -aNatp50 -a(I20 -g4 -I630 -I375 -(lp51 -I18 -aI21 -atp52 -a(I21 -g7 -I630 -I414 -(lp53 -I20 -aI33 -aI22 -aI23 -atp54 -a(I22 -(g10 -Ntp55 -I640 -I460 -(lp56 -I21 -aNatp57 -a(I23 -g4 -I630 -I522 -(lp58 -I21 -aI24 -atp59 -a(I24 -g7 -I630 -I561 -(lp60 -I23 -aI34 -aI25 -aNatp61 -a(I25 -(g10 -Ntp62 -I640 -I607 -(lp63 -I24 -aNatp64 -a(I26 -S'hat1' -p65 -I944 -I130 -(lp66 -NaI37 -atp67 -a(I27 -(S'title' -p68 -S'art' -p69 -tp70 -I242 -I135 -(lp71 -I2 -aNatp72 -a(I28 -(g68 -S'math' -p73 -tp74 -I242 -I282 -(lp75 -I5 -aNatp76 -a(I29 -(g68 -S'music' -p77 -tp78 -I242 -I429 -(lp79 -I8 -aNatp80 -a(I30 -(g68 -S'physical ed.' -p81 -tp82 -I242 -I576 -(lp83 -I11 -aNatp84 -a(I31 -(g68 -S'reading' -p85 -tp86 -I640 -I135 -(lp87 -I15 -aNatp88 -a(I32 -(g68 -S'science' -p89 -tp90 -I640 -I282 -(lp91 -I18 -aNatp92 -a(I33 -(g68 -S'social science' -p93 -tp94 -I640 -I429 -(lp95 -I21 -aNatp96 -a(I34 -(g68 -S'writing' -p97 -tp98 -I640 -I576 -(lp99 -I24 -aNatp100 -a(I35 -(S'string' -p101 -S'A' -p102 -tp103 -I216 -I38 -(lp104 -I0 -aNatp105 -a(I36 -(g101 -S'B' -p106 -tp107 -I614 -I38 -(lp108 -I13 -aNatp109 -a(I37 -S'wait' -p110 -I956 -I180 -(lp111 -I26 -aI38 -aI39 -atp112 -a(I38 -(S'number' -p113 -S'30' -p114 -tp115 -I1030 -I189 -(lp116 -I37 -aNatp117 -a(I39 -S'clean' -p118 -I956 -I219 -(lp119 -I37 -aNatp120 -a(I40 -S'hideblocks' -p121 -I435 -I24 -(lp122 -NaI41 -atp123 -a(I41 -g4 -I435 -I78 -(lp124 -I40 -aI42 -atp125 -a(I42 -g7 -I435 -I117 -(lp126 -I41 -aI43 -aI44 -aI45 -atp127 -a(I43 -(g68 -S'name' -p128 -tp129 -I445 -I132 -(lp130 -I42 -aNatp131 -a(I44 -(g10 -Ntp132 -I445 -I163 -(lp133 -I42 -aNatp134 -a(I45 -S'stack' -p135 -I435 -I225 -(lp136 -I42 -aI46 -aI47 -atp137 -a(I46 -(g101 -g102 -tp138 -I447 -I237 -(lp139 -I45 -aNatp140 -a(I47 -g135 -I435 -I264 -(lp141 -I45 -aI48 -aI49 -atp142 -a(I48 -(g101 -g106 -tp143 -I447 -I276 -(lp144 -I47 -aNatp145 -a(I49 -g4 -I435 -I303 -(lp146 -I47 -aI50 -atp147 -a(I50 -g7 -I435 -I342 -(lp148 -I49 -aI51 -aI52 -aI53 -atp149 -a(I51 -(g68 -S'personal growth' -p150 -tp151 -I445 -I357 -(lp152 -I50 -aNatp153 -a(I52 -(g10 -Ntp154 -I445 -I388 -(lp155 -I50 -aNatp156 -a(I53 -g4 -I435 -I450 -(lp157 -I50 -aI54 -atp158 -a(I54 -g7 -I435 -I489 -(lp159 -I53 -aI55 -aI56 -aNatp160 -a(I55 -(g68 -S'work habits' -p161 -tp162 -I445 -I504 -(lp163 -I54 -aNatp164 -a(I56 -(g10 -Ntp165 -I445 -I535 -(lp166 -I54 -aNatp167 -a(I-1 -S'turtle' -p168 -I0 -I0 -I0 -I0 -I50 -I5 -tp169 -a. \ No newline at end of file +[[0, "hat", 592, 11, [null, 17, 1]], [1, "stack1", 630, 81, [0, 2]], [2, "template1", 630, 120, [1, 13, 3, 4]], [3, ["journal", null], 640, 166, [2, null]], [4, "stack1", 630, 228, [2, 5]], [5, "template1", 630, 267, [4, 14, 6, 7]], [6, ["journal", null], 640, 313, [5, null]], [7, "stack1", 630, 375, [5, 8]], [8, "template1", 630, 414, [7, 15, 9, 10]], [9, ["journal", null], 640, 460, [8, null]], [10, "stack1", 630, 522, [8, 11]], [11, "template1", 630, 561, [10, 16, 12, null]], [12, ["journal", null], 640, 607, [11, null]], [13, ["string", "reading"], 640, 135, [2, null]], [14, ["string", "science"], 640, 282, [5, null]], [15, ["string", "social science"], 640, 429, [8, null]], [16, ["string", "writing"], 640, 576, [11, null]], [17, ["string", "B"], 614, 38, [0, null]], [18, "start", 211, 17, [null, 19]], [19, "stack1", 223, 67, [18, 20]], [20, "template1", 223, 106, [19, 21, 22, 23]], [21, ["string", "name"], 233, 121, [20, null]], [22, ["journal", null], 233, 152, [20, null]], [23, "stack", 223, 214, [20, 24, 25]], [24, ["string", "A"], 235, 226, [23, null]], [25, "stack", 223, 253, [23, 26, 27]], [26, ["string", "B"], 235, 265, [25, null]], [27, "stack1", 223, 292, [25, 28]], [28, "template1", 223, 331, [27, 29, 30, 31]], [29, ["string", "personal growth"], 233, 346, [28, null]], [30, ["journal", null], 233, 377, [28, null]], [31, "stack1", 223, 439, [28, 32]], [32, "template1", 223, 478, [31, 33, 34, null]], [33, ["string", "work habits"], 233, 493, [32, null]], [34, ["journal", null], 233, 524, [32, null]], [35, "hat", 375, 11, [null, 36, 37]], [36, ["string", "A"], 397, 38, [35, null]], [37, "stack1", 413, 81, [35, 38]], [38, "template1", 413, 120, [37, 39, 40, 41]], [39, ["string", "art"], 423, 135, [38, null]], [40, ["journal", null], 423, 166, [38, null]], [41, "stack1", 413, 228, [38, 42]], [42, "template1", 413, 267, [41, 43, 44, 45]], [43, ["string", "math"], 423, 282, [42, null]], [44, ["journal", null], 423, 313, [42, null]], [45, "stack1", 413, 375, [42, 46]], [46, "template1", 413, 414, [45, 47, 48, 49]], [47, ["string", "music"], 423, 429, [46, null]], [48, ["journal", null], 423, 460, [46, null]], [49, "stack1", 413, 522, [46, 50]], [50, "template1", 413, 561, [49, 51, 52, null]], [51, ["string", "physical ed."], 423, 576, [50, null]], [52, ["journal", null], 423, 607, [50, null]], [53, "hat1", 805, 27, [null, 54]], [54, "wait", 817, 77, [53, 55, 56]], [55, ["number", "30"], 891, 86, [54, null]], [56, "clean", 817, 116, [54, null]], [-1, "turtle", 0, 0, 0, 0, 50, 5]] \ No newline at end of file diff --git a/samples/Que_Como_Por_que_Para_que.ta b/samples/Que_Como_Por_que_Para_que.ta index 3fa1151..1fd2bdf 100644 --- a/samples/Que_Como_Por_que_Para_que.ta +++ b/samples/Que_Como_Por_que_Para_que.ta @@ -1,236 +1 @@ -(lp0 -(I0 -S'hat1' -p1 -I990 -I271 -(lp2 -NaI1 -atp3 -a(I1 -S'clean' -p4 -I1002 -I321 -(lp5 -I0 -aNatp6 -a(I2 -S'hat2' -p7 -I993 -I386 -(lp8 -NaI3 -atp9 -a(I3 -S'wait' -p10 -I1005 -I436 -(lp11 -I2 -aI4 -aNatp12 -a(I4 -(S'number' -p13 -S'30' -p14 -tp15 -I1079 -I445 -(lp16 -I3 -aNatp17 -a(I5 -S'hideblocks' -p18 -I232 -I15 -(lp19 -NaI6 -atp20 -a(I6 -S'stack1' -p21 -I232 -I69 -(lp22 -I5 -aI7 -atp23 -a(I7 -S'template1' -p24 -I232 -I108 -(lp25 -I6 -aI21 -aI8 -aI9 -atp26 -a(I8 -(S'journal' -p27 -Ntp28 -I242 -I154 -(lp29 -I7 -aNatp30 -a(I9 -S'stack2' -p31 -I232 -I216 -(lp32 -I7 -aI10 -atp33 -a(I10 -g21 -I232 -I255 -(lp34 -I9 -aI11 -atp35 -a(I11 -g24 -I232 -I294 -(lp36 -I10 -aI22 -aI12 -aI13 -atp37 -a(I12 -(g27 -Ntp38 -I242 -I340 -(lp39 -I11 -aNatp40 -a(I13 -g31 -I232 -I402 -(lp41 -I11 -aI14 -atp42 -a(I14 -g21 -I232 -I441 -(lp43 -I13 -aI15 -atp44 -a(I15 -g24 -I232 -I480 -(lp45 -I14 -aI23 -aI16 -aI17 -atp46 -a(I16 -(g27 -Ntp47 -I242 -I526 -(lp48 -I15 -aNatp49 -a(I17 -g31 -I232 -I588 -(lp50 -I15 -aI18 -atp51 -a(I18 -g21 -I232 -I627 -(lp52 -I17 -aI19 -atp53 -a(I19 -g24 -I232 -I666 -(lp54 -I18 -aI24 -aI20 -aNatp55 -a(I20 -(g27 -Ntp56 -I242 -I712 -(lp57 -I19 -aNatp58 -a(I21 -(S'title' -p59 -S'¿Qué?' -p60 -tp61 -I242 -I123 -(lp62 -I7 -aNatp63 -a(I22 -(g59 -S'¿Cómo?' -p64 -tp65 -I242 -I309 -(lp66 -I11 -aNatp67 -a(I23 -(g59 -S'¿Por qué?' -p68 -tp69 -I242 -I495 -(lp70 -I15 -aNatp71 -a(I24 -(g59 -S'¿Para qui?' -p72 -tp73 -I242 -I681 -(lp74 -I19 -aNatp75 -a(I-1 -S'turtle' -p76 -I0 -I0 -I0 -I0 -I50 -I5 -tp77 -a. +[[0, "hat1", 678, 49, [null, 1]], [1, "clean", 690, 99, [0, null]], [2, "hat2", 684, 197, [null, 3]], [3, "wait", 696, 247, [2, 4, null]], [4, ["number", "30"], 770, 256, [3, null]], [5, "stack1", 313, 58, [24, 6]], [6, "template1", 313, 97, [5, 7, 8, 9]], [7, ["string", "\u00bfQu\u00e9?"], 323, 112, [6, null]], [8, ["journal", null], 323, 143, [6, null]], [9, "stack2", 313, 205, [6, 10]], [10, "stack1", 313, 244, [9, 11]], [11, "template1", 313, 283, [10, 12, 13, 14]], [12, ["string", "\u00bfC\u00f3mo?"], 323, 298, [11, null]], [13, ["journal", null], 323, 329, [11, null]], [14, "stack2", 313, 391, [11, 15]], [15, "stack1", 313, 430, [14, 16]], [16, "template1", 313, 469, [15, 17, 18, 19]], [17, ["string", "\u00bfPor qu\u00e9?"], 323, 484, [16, null]], [18, ["journal", null], 323, 515, [16, null]], [19, "stack2", 313, 577, [16, 20]], [20, "stack1", 313, 616, [19, 21]], [21, "template1", 313, 655, [20, 22, 23, null]], [22, ["string", "\u00bfPara qui?"], 323, 670, [21, null]], [23, ["journal", null], 323, 701, [21, null]], [24, "start", 301, 8, [null, 5]], [-1, "turtle", 0, 354, 0, 0, 50, 5]] \ No newline at end of file diff --git a/samples/What_How_Why_For_whom.ta b/samples/What_How_Why_For_whom.ta index 1e150d1..3cc9678 100644 --- a/samples/What_How_Why_For_whom.ta +++ b/samples/What_How_Why_For_whom.ta @@ -1,240 +1 @@ -(lp0 -(I0 -S'hat1' -p1 -I990 -I271 -(lp2 -NaI1 -atp3 -a(I1 -S'clean' -p4 -I1002 -I321 -(lp5 -I0 -aNatp6 -a(I2 -S'hat2' -p7 -I993 -I386 -(lp8 -NaI3 -atp9 -a(I3 -S'wait' -p10 -I1005 -I436 -(lp11 -I2 -aI4 -aNatp12 -a(I4 -(S'number' -p13 -S'30' -p14 -tp15 -I1079 -I445 -(lp16 -I3 -aNatp17 -a(I5 -S'hideblocks' -p18 -I232 -I15 -(lp19 -NaI6 -atp20 -a(I6 -S'stack1' -p21 -I232 -I69 -(lp22 -I5 -aI7 -atp23 -a(I7 -S'template1' -p24 -I232 -I108 -(lp25 -I6 -aI8 -aI9 -aI10 -atp26 -a(I8 -(S'title' -p27 -S'What?' -p28 -tp29 -I242 -I123 -(lp30 -I7 -aNatp31 -a(I9 -(S'journal' -p32 -Ntp33 -I242 -I154 -(lp34 -I7 -aNatp35 -a(I10 -S'stack2' -p36 -I232 -I216 -(lp37 -I7 -aI11 -atp38 -a(I11 -g21 -I232 -I255 -(lp39 -I10 -aI12 -atp40 -a(I12 -g24 -I232 -I294 -(lp41 -I11 -aI13 -aI14 -aI15 -atp42 -a(I13 -(g27 -S'How?' -p43 -tp44 -I242 -I309 -(lp45 -I12 -aNatp46 -a(I14 -(g32 -S'None' -p47 -tp48 -I242 -I340 -(lp49 -I12 -aNatp50 -a(I15 -g36 -I232 -I402 -(lp51 -I12 -aI16 -atp52 -a(I16 -g21 -I232 -I441 -(lp53 -I15 -aI17 -atp54 -a(I17 -g24 -I232 -I480 -(lp55 -I16 -aI18 -aI19 -aI20 -atp56 -a(I18 -(g27 -S'Why?' -p57 -tp58 -I242 -I495 -(lp59 -I17 -aNatp60 -a(I19 -(g32 -g47 -tp61 -I242 -I526 -(lp62 -I17 -aNatp63 -a(I20 -g36 -I232 -I588 -(lp64 -I17 -aI21 -atp65 -a(I21 -g21 -I232 -I627 -(lp66 -I20 -aI22 -atp67 -a(I22 -g24 -I232 -I666 -(lp68 -I21 -aI24 -aI23 -aNatp69 -a(I23 -(g32 -g47 -tp70 -I242 -I712 -(lp71 -I22 -aNatp72 -a(I24 -(g27 -S'For whom?' -p73 -tp74 -I242 -I681 -(lp75 -I22 -aNatp76 -a(I-1 -S'turtle' -p77 -I0 -I0 -I0 -I0 -I50 -I5 -tp78 -a. \ No newline at end of file +[[0, "start", 311, 5, [null, 1]], [1, "stack1", 323, 55, [0, 2]], [2, "template1", 323, 94, [1, 3, 4, 5]], [3, ["string", "What?"], 333, 109, [2, null]], [4, ["journal", null], 333, 140, [2, null]], [5, "stack2", 323, 202, [2, 6]], [6, "stack1", 323, 241, [5, 7]], [7, "template1", 323, 280, [6, 8, 9, 10]], [8, ["string", "How?"], 333, 295, [7, null]], [9, ["journal", null], 333, 326, [7, null]], [10, "stack2", 323, 388, [7, 11]], [11, "stack1", 323, 427, [10, 12]], [12, "template1", 323, 466, [11, 13, 14, 15]], [13, ["string", "Why?"], 333, 481, [12, null]], [14, ["journal", null], 333, 512, [12, null]], [15, "stack2", 323, 574, [12, 16]], [16, "stack1", 323, 613, [15, 17]], [17, "template1", 323, 652, [16, 18, 19, null]], [18, ["string", "For whom?"], 333, 667, [17, null]], [19, ["journal", null], 333, 698, [17, null]], [20, "hat1", 532, 527, [null, 21]], [21, "clean", 544, 577, [20, null]], [22, "hat2", 532, 640, [null, 23]], [23, "wait", 544, 690, [22, 24, null]], [24, ["number", "30"], 618, 699, [23, null]], [-1, "turtle", 0, 354, 0, 0, 50, 5]] \ No newline at end of file diff --git a/samples/clock.ta b/samples/clock.ta index 3aef8c4..43a9cf8 100644 --- a/samples/clock.ta +++ b/samples/clock.ta @@ -1 +1 @@ -[[0, "hat", -4, 831, [null, 1, 2]], [1, ["string", "show seconds"], 17, 858, [0, null]], [2, "if", 34, 901, [0, 3, 8, 9]], [3, "equal", 114, 911, [2, 4, 6, null]], [4, "box", 146, 915, [3, 5, null]], [5, ["string", "old second"], 164, 920, [4, null]], [6, "box", 295, 915, [3, 7, null]], [7, ["string", "seconds"], 313, 920, [6, null]], [8, "stopstack", 129, 975, [2, null]], [9, "setcolor", 34, 1016, [2, 10, 11]], [10, ["number", "60"], 108, 1033, [9, null]], [11, "setshade", 34, 1070, [9, 12, 13]], [12, ["number", "100"], 108, 1087, [11, null]], [13, "seth", 34, 1124, [11, 14, 20]], [14, "product2", 108, 1109, [13, 15, 17]], [15, "box", 148, 1112, [14, 16, null]], [16, ["string", "old second"], 166, 1117, [15, null]], [17, "division2", 148, 1126, [14, 18, 19]], [18, ["number", "360"], 188, 1134, [17, null]], [19, ["number", "60"], 207, 1167, [17, null]], [20, "setpensize", 34, 1163, [13, 21, 22]], [21, ["number", "5"], 108, 1180, [20, null]], [22, "forward", 34, 1217, [20, 23, 24]], [23, ["number", "225"], 108, 1226, [22, null]], [24, "back", 34, 1256, [22, 25, 26]], [25, ["number", "225"], 108, 1265, [24, null]], [26, "setshade", 34, 1295, [24, 27, 28]], [27, ["number", "50"], 108, 1312, [26, null]], [28, "setcolor", 34, 1349, [26, 29, 30]], [29, ["number", "0"], 108, 1366, [28, null]], [30, "seth", 34, 1403, [28, 31, 37]], [31, "product2", 108, 1388, [30, 32, 34]], [32, "box", 148, 1391, [31, 33, null]], [33, ["string", "seconds"], 166, 1396, [32, null]], [34, "division2", 148, 1405, [31, 35, 36]], [35, ["number", "360"], 188, 1413, [34, null]], [36, ["number", "60"], 207, 1446, [34, null]], [37, "setpensize", 34, 1442, [30, 38, 39]], [38, ["number", "5"], 108, 1459, [37, null]], [39, "forward", 34, 1496, [37, 40, 41]], [40, ["number", "225"], 108, 1505, [39, null]], [41, "back", 34, 1535, [39, 42, 43]], [42, ["number", "225"], 108, 1544, [41, null]], [43, "storein", 34, 1574, [41, 44, 45, null]], [44, ["string", "old second"], 46, 1601, [43, null]], [45, "box", 164, 1587, [43, 46, null]], [46, ["string", "seconds"], 182, 1592, [45, null]], [47, "hat", 1022, 34, [null, 48, 49]], [48, ["string", "clock"], 1043, 61, [47, null]], [49, "stack", 1060, 104, [47, 52, 50]], [50, "stack", 1060, 143, [49, 271, 51]], [51, "stack", 1060, 182, [50, 272, null]], [52, ["string", "show seconds"], 1072, 116, [49, null]], [53, "hat", 900, 833, [null, 54, 55]], [54, ["string", "dial"], 921, 860, [53, null]], [55, "clean", 938, 903, [53, 56]], [56, "fillscreen", 938, 942, [55, 57, 58, 59]], [57, ["number", "60"], 1012, 951, [56, null]], [58, ["number", "100"], 1012, 988, [56, null]], [59, "setpensize", 938, 1018, [56, 60, 61]], [60, ["number", "10"], 1012, 1035, [59, null]], [61, "setxy", 938, 1072, [59, 62, 63, 64]], [62, ["number", "-300"], 1012, 1081, [61, null]], [63, ["number", "0"], 1012, 1118, [61, null]], [64, "repeat", 938, 1148, [61, 65, 66, 70]], [65, ["number", "12"], 1024, 1157, [64, null]], [66, "setcolor", 1033, 1197, [64, 351, 67]], [67, "arc", 1033, 1251, [66, 68, 69, null]], [68, ["number", "30"], 1107, 1260, [67, null]], [69, ["number", "300"], 1107, 1297, [67, null]], [70, "setxy", 938, 1238, [64, 71, 72, 73]], [71, ["number", "0"], 1012, 1247, [70, null]], [72, ["number", "0"], 1012, 1284, [70, null]], [73, "repeat", 938, 1314, [70, 74, 75, 88]], [74, ["number", "60"], 1024, 1323, [73, null]], [75, "hspace", 1033, 1354, [73, 76]], [76, "setcolor", 1124, 1362, [75, 354, 77]], [77, "penup", 1124, 1416, [76, 78]], [78, "forward", 1124, 1455, [77, 79, 80]], [79, ["number", "290"], 1198, 1464, [78, null]], [80, "pendown", 1124, 1494, [78, 81]], [81, "forward", 1124, 1533, [80, 82, 83]], [82, ["number", "10"], 1198, 1542, [81, null]], [83, "penup", 1124, 1572, [81, 84]], [84, "back", 1124, 1611, [83, 85, 86]], [85, ["number", "300"], 1198, 1620, [84, null]], [86, "right", 1124, 1650, [84, 87, null]], [87, ["number", "6"], 1198, 1659, [86, null]], [88, "setxy", 938, 1404, [73, 89, 90, 91]], [89, ["number", "-20"], 1012, 1413, [88, null]], [90, ["number", "0"], 1012, 1450, [88, null]], [91, "storeinbox", 938, 1480, [88, 92, 93, 94]], [92, ["string", "box"], 950, 1491, [91, null]], [93, ["number", "12"], 1068, 1491, [91, null]], [94, "repeat", 938, 1519, [91, 95, 96, 119]], [95, ["number", "12"], 1024, 1528, [94, null]], [96, "vspace", 1033, 1568, [94, 97]], [97, "penup", 1033, 1637, [96, 98]], [98, "seth", 1033, 1676, [97, 99, 105]], [99, "product2", 1107, 1661, [98, 100, 102]], [100, "box", 1147, 1664, [99, 101, null]], [101, ["string", "box"], 1165, 1669, [100, null]], [102, "division2", 1147, 1678, [99, 103, 104]], [103, ["number", "360"], 1187, 1686, [102, null]], [104, ["number", "12"], 1206, 1719, [102, null]], [105, "forward", 1033, 1715, [98, 106, 107]], [106, ["number", "250"], 1107, 1724, [105, null]], [107, "show", 1033, 1754, [105, 108, 110]], [108, "box", 1107, 1758, [107, 109, null]], [109, ["string", "box"], 1125, 1763, [108, null]], [110, "back", 1033, 1793, [107, 111, 112]], [111, ["number", "250"], 1107, 1802, [110, null]], [112, "storeinbox", 1033, 1832, [110, 113, 114, 118]], [113, ["string", "box"], 1045, 1843, [112, null]], [114, "minus2", 1163, 1819, [112, 115, 117]], [115, "box", 1203, 1822, [114, 116, null]], [116, ["string", "box"], 1221, 1827, [115, null]], [117, ["number", "1"], 1222, 1860, [114, null]], [118, "pendown", 1033, 1871, [112, null]], [119, "setxy", 938, 1609, [94, 120, 121, null]], [120, ["number", "0"], 1012, 1618, [119, null]], [121, ["number", "0"], 1012, 1655, [119, null]], [122, "hat", 261, 832, [null, 123, 124]], [123, ["string", "show minutes"], 282, 859, [122, null]], [124, "setcolor", 299, 902, [122, 125, 126]], [125, ["number", "60"], 373, 919, [124, null]], [126, "setshade", 299, 956, [124, 127, 128]], [127, ["number", "100"], 373, 973, [126, null]], [128, "seth", 299, 1010, [126, 129, 135]], [129, "product2", 373, 995, [128, 130, 132]], [130, "box", 413, 998, [129, 131, null]], [131, ["string", "old minute"], 431, 1003, [130, null]], [132, "division2", 413, 1012, [129, 133, 134]], [133, ["number", "360"], 453, 1020, [132, null]], [134, ["number", "60"], 472, 1053, [132, null]], [135, "setpensize", 299, 1049, [128, 136, 137]], [136, ["number", "5"], 373, 1066, [135, null]], [137, "forward", 299, 1103, [135, 138, 198]], [138, ["number", "200"], 373, 1112, [137, null]], [139, "start", 250, 15, [null, 140]], [140, "hideblocks", 262, 65, [139, 141]], [141, "storein", 262, 119, [140, 142, 143, 144]], [142, ["string", "alarm hour"], 274, 146, [141, null]], [143, ["number", "10"], 392, 137, [141, null]], [144, "storein", 262, 173, [141, 145, 146, 147]], [145, ["string", "alarm minute"], 274, 200, [144, null]], [146, ["number", "30"], 392, 191, [144, null]], [147, "stack", 262, 227, [144, 148, 149]], [148, ["string", "dial"], 274, 239, [147, null]], [149, "storein", 262, 266, [147, 150, 151, 152]], [150, ["string", "old hour"], 274, 293, [149, null]], [151, ["number", "12"], 392, 284, [149, null]], [152, "storein", 262, 320, [149, 153, 154, 155]], [153, ["string", "old minute"], 274, 347, [152, null]], [154, ["number", "0"], 392, 338, [152, null]], [155, "storein", 262, 374, [152, 156, 157, 158]], [156, ["string", "old second"], 274, 401, [155, null]], [157, ["number", "0"], 392, 392, [155, null]], [158, "storein", 262, 428, [155, 159, 160, 161]], [159, ["string", "timezone"], 274, 455, [158, null]], [160, ["number", "-4"], 392, 446, [158, null]], [161, "forever", 262, 482, [158, 162, null]], [162, "storein", 343, 496, [161, 163, 164, 170]], [163, ["string", "hours"], 355, 523, [162, null]], [164, "plus2", 473, 490, [162, 165, 168]], [165, "myfunc", 513, 488, [164, 166, 167]], [166, ["string", "localtime().tm_hour"], 537, 499, [165, null]], [167, ["number", "100"], 655, 498, [165, null]], [168, "box", 513, 526, [164, 169, null]], [169, ["string", "timezone"], 531, 531, [168, null]], [170, "storein", 343, 550, [162, 171, 172, 175]], [171, ["string", "minutes"], 355, 577, [170, null]], [172, "myfunc", 473, 558, [170, 173, 174]], [173, ["string", "localtime().tm_min"], 497, 569, [172, null]], [174, ["number", "100"], 615, 568, [172, null]], [175, "storein", 343, 604, [170, 176, 177, 180]], [176, ["string", "seconds"], 355, 631, [175, null]], [177, "myfunc", 473, 612, [175, 178, 179]], [178, ["string", "localtime().tm_sec"], 497, 623, [177, null]], [179, ["number", "100"], 615, 622, [177, null]], [180, "stack", 343, 658, [175, 181, 182]], [181, ["string", "clock"], 355, 670, [180, null]], [182, "if", 343, 697, [180, 183, 194, 196]], [183, "equal", 423, 707, [182, 184, 186, 188]], [184, "box", 455, 711, [183, 185, null]], [185, ["string", "alarm hour"], 473, 716, [184, null]], [186, "box", 604, 711, [183, 187, null]], [187, ["string", "hours"], 622, 716, [186, null]], [188, "and", 715, 704, [183, 189]], [189, "equal", 779, 707, [188, 190, 192, null]], [190, "box", 811, 711, [189, 191, null]], [191, ["string", "alarm minute"], 829, 716, [190, null]], [192, "box", 960, 711, [189, 193, null]], [193, ["string", "minutes"], 978, 716, [192, null]], [194, "stack", 438, 771, [182, 195, null]], [195, ["string", "alarm"], 450, 783, [194, null]], [196, "wait", 343, 812, [182, 197, null]], [197, ["number", "10"], 417, 821, [196, null]], [198, "setpensize", 299, 1142, [137, 199, 200]], [199, ["number", "25"], 373, 1159, [198, null]], [200, "forward", 299, 1196, [198, 201, 202]], [201, ["number", "1"], 373, 1205, [200, null]], [202, "back", 299, 1235, [200, 203, 204]], [203, ["number", "1"], 373, 1244, [202, null]], [204, "setpensize", 299, 1274, [202, 205, 206]], [205, ["number", "7"], 373, 1291, [204, null]], [206, "back", 299, 1328, [204, 207, 208]], [207, ["number", "200"], 373, 1337, [206, null]], [208, "setshade", 299, 1367, [206, 209, 210]], [209, ["number", "30"], 373, 1384, [208, null]], [210, "setcolor", 299, 1421, [208, 211, 212]], [211, ["number", "30"], 373, 1438, [210, null]], [212, "seth", 299, 1475, [210, 213, 219]], [213, "product2", 373, 1460, [212, 214, 216]], [214, "box", 413, 1463, [213, 215, null]], [215, ["string", "minutes"], 431, 1468, [214, null]], [216, "division2", 413, 1477, [213, 217, 218]], [217, ["number", "360"], 453, 1485, [216, null]], [218, ["number", "60"], 472, 1518, [216, null]], [219, "setpensize", 299, 1514, [212, 220, 221]], [220, ["number", "5"], 373, 1531, [219, null]], [221, "forward", 299, 1568, [219, 222, 223]], [222, ["number", "200"], 373, 1577, [221, null]], [223, "setpensize", 299, 1607, [221, 224, 225]], [224, ["number", "25"], 373, 1624, [223, null]], [225, "forward", 299, 1661, [223, 226, 227]], [226, ["number", "1"], 373, 1670, [225, null]], [227, "setpensize", 299, 1700, [225, 228, 229]], [228, ["number", "5"], 373, 1717, [227, null]], [229, "back", 299, 1754, [227, 230, 231]], [230, ["number", "201"], 373, 1763, [229, null]], [231, "storein", 299, 1793, [229, 232, 233, null]], [232, ["string", "old minute"], 311, 1820, [231, null]], [233, "box", 429, 1806, [231, 234, null]], [234, ["string", "minutes"], 447, 1811, [233, null]], [235, "hat", 671, 835, [null, 236, 237]], [236, ["string", "alarm"], 692, 862, [235, null]], [237, "seth", 709, 905, [235, 238, 239]], [238, ["number", "0"], 783, 914, [237, null]], [239, "setxy", 709, 944, [237, 240, 241, 242]], [240, ["number", "-360"], 783, 953, [239, null]], [241, ["number", "0"], 783, 990, [239, null]], [242, "setcolor", 709, 1020, [239, 243, 246]], [243, "random", 783, 1018, [242, 244, 245, null]], [244, ["number", "0"], 811, 1037, [243, null]], [245, ["number", "100"], 933, 1037, [243, null]], [246, "setpensize", 709, 1074, [242, 247, 248]], [247, ["number", "60"], 783, 1091, [246, null]], [248, "repeat", 709, 1128, [246, 249, 250, 259]], [249, ["number", "60"], 795, 1137, [248, null]], [250, "setshade", 804, 1177, [248, 251, 254]], [251, "division2", 878, 1170, [250, 252, 253]], [252, "heading", 918, 1178, [251, null]], [253, ["number", "6"], 937, 1211, [251, null]], [254, "arc", 804, 1231, [250, 255, 256, 257]], [255, ["number", "6"], 878, 1240, [254, null]], [256, ["number", "360"], 878, 1277, [254, null]], [257, "wait", 804, 1307, [254, 258, null]], [258, ["number", "1"], 878, 1316, [257, null]], [259, "setcolor", 709, 1218, [248, 260, 261]], [260, ["number", "60"], 783, 1235, [259, null]], [261, "setshade", 709, 1272, [259, 262, 263]], [262, ["number", "100"], 783, 1289, [261, null]], [263, "repeat", 709, 1326, [261, 264, 265, 268]], [264, ["number", "60"], 795, 1335, [263, null]], [265, "arc", 804, 1375, [263, 266, 267, null]], [266, ["number", "6"], 878, 1384, [265, null]], [267, ["number", "360"], 878, 1421, [265, null]], [268, "setxy", 709, 1416, [263, 269, 270, null]], [269, ["number", "0"], 783, 1425, [268, null]], [270, ["number", "0"], 783, 1462, [268, null]], [271, ["string", "show hours"], 1072, 155, [50, null]], [272, ["string", "show minutes"], 1072, 194, [51, null]], [273, "hat", 442, 831, [null, 274, 275]], [274, ["string", "show hours"], 463, 858, [273, null]], [275, "setcolor", 480, 901, [273, 276, 277]], [276, ["number", "60"], 554, 918, [275, null]], [277, "setshade", 480, 955, [275, 278, 279]], [278, ["number", "100"], 554, 972, [277, null]], [279, "seth", 480, 1009, [277, 280, 297]], [280, "plus2", 554, 994, [279, 281, 288]], [281, "identity2", 594, 966, [280, 282]], [282, "product2", 634, 949, [281, 283, 285]], [283, "box", 674, 952, [282, 284, null]], [284, ["string", "old hour"], 692, 957, [283, null]], [285, "division2", 674, 966, [282, 286, 287]], [286, ["number", "360"], 714, 974, [285, null]], [287, ["number", "12"], 733, 1007, [285, null]], [288, "identity", 594, 1035, [280, 289]], [289, "division2", 634, 1039, [288, 290, 295]], [290, "product2", 674, 1023, [289, 291, 292]], [291, "box", 714, 1026, [290, 350, null]], [292, "division2", 714, 1040, [290, 293, 294]], [293, ["number", "360"], 754, 1048, [292, null]], [294, ["number", "60"], 773, 1081, [292, null]], [295, "identity", 693, 1080, [289, 296]], [296, ["number", "12"], 733, 1108, [295, null]], [297, "setpensize", 480, 1048, [279, 298, 299]], [298, ["number", "5"], 554, 1065, [297, null]], [299, "forward", 480, 1102, [297, 300, 301]], [300, ["number", "100"], 554, 1111, [299, null]], [301, "setpensize", 480, 1141, [299, 302, 303]], [302, ["number", "25"], 554, 1158, [301, null]], [303, "forward", 480, 1195, [301, 304, 305]], [304, ["number", "1"], 554, 1204, [303, null]], [305, "back", 480, 1234, [303, 306, 307]], [306, ["number", "1"], 554, 1243, [305, null]], [307, "setpensize", 480, 1273, [305, 308, 309]], [308, ["number", "7"], 554, 1290, [307, null]], [309, "back", 480, 1327, [307, 310, 311]], [310, ["number", "100"], 554, 1336, [309, null]], [311, "setshade", 480, 1366, [309, 312, 313]], [312, ["number", "50"], 554, 1383, [311, null]], [313, "setcolor", 480, 1420, [311, 314, 315]], [314, ["number", "70"], 554, 1437, [313, null]], [315, "seth", 480, 1474, [313, 316, 334]], [316, "plus2", 554, 1459, [315, 317, 324]], [317, "identity2", 594, 1431, [316, 318]], [318, "product2", 634, 1414, [317, 319, 321]], [319, "box", 674, 1417, [318, 320, null]], [320, ["string", "hours"], 692, 1422, [319, null]], [321, "division2", 674, 1431, [318, 322, 323]], [322, ["number", "360"], 714, 1439, [321, null]], [323, ["number", "12"], 733, 1472, [321, null]], [324, "identity", 594, 1500, [316, 325]], [325, "division2", 634, 1504, [324, 326, 332]], [326, "product2", 674, 1488, [325, 327, 329]], [327, "box", 714, 1491, [326, 328, null]], [328, ["string", "minutes"], 732, 1496, [327, null]], [329, "division2", 714, 1505, [326, 330, 331]], [330, ["number", "360"], 754, 1513, [329, null]], [331, ["number", "60"], 773, 1546, [329, null]], [332, "identity", 693, 1545, [325, 333]], [333, ["number", "12"], 733, 1573, [332, null]], [334, "setpensize", 480, 1513, [315, 335, 336]], [335, ["number", "5"], 554, 1530, [334, null]], [336, "forward", 480, 1567, [334, 337, 338]], [337, ["number", "100"], 554, 1576, [336, null]], [338, "setpensize", 480, 1606, [336, 339, 340]], [339, ["number", "25"], 554, 1623, [338, null]], [340, "forward", 480, 1660, [338, 341, 342]], [341, ["number", "1"], 554, 1669, [340, null]], [342, "setpensize", 480, 1699, [340, 343, 344]], [343, ["number", "5"], 554, 1716, [342, null]], [344, "back", 480, 1753, [342, 345, 346]], [345, ["number", "101"], 554, 1762, [344, null]], [346, "storein", 480, 1792, [344, 347, 348, null]], [347, ["string", "old hour"], 492, 1819, [346, null]], [348, "box", 610, 1805, [346, 349, null]], [349, ["string", "hours"], 628, 1810, [348, null]], [350, ["string", "old minute"], 732, 1031, [291, null]], [351, "division2", 1107, 1190, [66, 352, 353]], [352, "heading", 1147, 1198, [351, null]], [353, ["number", "3.6"], 1166, 1231, [351, null]], [354, "division2", 1198, 1355, [76, 356, 355]], [355, ["number", "3.6"], 1257, 1396, [354, null]], [356, "heading", 1238, 1363, [354, null]], [-1, "turtle", 0.0, -3.694822225952521e-13, 210.0, 30.0, 30.0, 5.0]] \ No newline at end of file +[[0, "hat", -4, 831, [null, 1, 2]], [1, ["string", "show seconds"], 17, 858, [0, null]], [2, "if", 34, 901, [0, 3, 8, 9]], [3, "equal", 114, 911, [2, 4, 6, null]], [4, "box", 146, 915, [3, 5, null]], [5, ["string", "old second"], 164, 920, [4, null]], [6, "box", 295, 915, [3, 7, null]], [7, ["string", "seconds"], 313, 920, [6, null]], [8, "stopstack", 129, 975, [2, null]], [9, "setcolor", 34, 1016, [2, 10, 11]], [10, ["number", "60"], 108, 1033, [9, null]], [11, "setshade", 34, 1070, [9, 12, 13]], [12, ["number", "100"], 108, 1087, [11, null]], [13, "seth", 34, 1124, [11, 14, 20]], [14, "product2", 108, 1109, [13, 15, 17]], [15, "box", 148, 1112, [14, 16, null]], [16, ["string", "old second"], 166, 1117, [15, null]], [17, "division2", 148, 1126, [14, 18, 19]], [18, ["number", "360"], 188, 1134, [17, null]], [19, ["number", "60"], 207, 1167, [17, null]], [20, "setpensize", 34, 1163, [13, 21, 22]], [21, ["number", "5"], 108, 1180, [20, null]], [22, "forward", 34, 1217, [20, 23, 24]], [23, ["number", "225"], 108, 1226, [22, null]], [24, "back", 34, 1256, [22, 25, 26]], [25, ["number", "225"], 108, 1265, [24, null]], [26, "setshade", 34, 1295, [24, 27, 28]], [27, ["number", "50"], 108, 1312, [26, null]], [28, "setcolor", 34, 1349, [26, 29, 30]], [29, ["number", "0"], 108, 1366, [28, null]], [30, "seth", 34, 1403, [28, 31, 37]], [31, "product2", 108, 1388, [30, 32, 34]], [32, "box", 148, 1391, [31, 33, null]], [33, ["string", "seconds"], 166, 1396, [32, null]], [34, "division2", 148, 1405, [31, 35, 36]], [35, ["number", "360"], 188, 1413, [34, null]], [36, ["number", "60"], 207, 1446, [34, null]], [37, "setpensize", 34, 1442, [30, 38, 39]], [38, ["number", "5"], 108, 1459, [37, null]], [39, "forward", 34, 1496, [37, 40, 41]], [40, ["number", "225"], 108, 1505, [39, null]], [41, "back", 34, 1535, [39, 42, 43]], [42, ["number", "225"], 108, 1544, [41, null]], [43, "storein", 34, 1574, [41, 44, 45, null]], [44, ["string", "old second"], 46, 1601, [43, null]], [45, "box", 164, 1587, [43, 46, null]], [46, ["string", "seconds"], 182, 1592, [45, null]], [47, "hat", 900, 833, [null, 48, 49]], [48, ["string", "dial"], 921, 860, [47, null]], [49, "clean", 938, 903, [47, 50]], [50, "fillscreen", 938, 942, [49, 51, 52, 53]], [51, ["number", "60"], 1012, 951, [50, null]], [52, ["number", "100"], 1012, 988, [50, null]], [53, "setpensize", 938, 1018, [50, 54, 55]], [54, ["number", "10"], 1012, 1035, [53, null]], [55, "setxy", 938, 1072, [53, 56, 57, 58]], [56, ["number", "-300"], 1012, 1081, [55, null]], [57, ["number", "0"], 1012, 1118, [55, null]], [58, "repeat", 938, 1148, [55, 59, 60, 64]], [59, ["number", "12"], 1024, 1157, [58, null]], [60, "setcolor", 1033, 1197, [58, 284, 61]], [61, "arc", 1033, 1251, [60, 62, 63, null]], [62, ["number", "30"], 1107, 1260, [61, null]], [63, ["number", "300"], 1107, 1297, [61, null]], [64, "setxy", 938, 1238, [58, 65, 66, 67]], [65, ["number", "0"], 1012, 1247, [64, null]], [66, ["number", "0"], 1012, 1284, [64, null]], [67, "repeat", 938, 1314, [64, 68, 69, 82]], [68, ["number", "60"], 1024, 1323, [67, null]], [69, "hspace", 1033, 1354, [67, 70]], [70, "setcolor", 1124, 1362, [69, 287, 71]], [71, "penup", 1124, 1416, [70, 72]], [72, "forward", 1124, 1455, [71, 73, 74]], [73, ["number", "290"], 1198, 1464, [72, null]], [74, "pendown", 1124, 1494, [72, 75]], [75, "forward", 1124, 1533, [74, 76, 77]], [76, ["number", "10"], 1198, 1542, [75, null]], [77, "penup", 1124, 1572, [75, 78]], [78, "back", 1124, 1611, [77, 79, 80]], [79, ["number", "300"], 1198, 1620, [78, null]], [80, "right", 1124, 1650, [78, 81, null]], [81, ["number", "6"], 1198, 1659, [80, null]], [82, "setxy", 938, 1404, [67, 83, 84, 85]], [83, ["number", "-20"], 1012, 1413, [82, null]], [84, ["number", "0"], 1012, 1450, [82, null]], [85, "storeinbox", 938, 1480, [82, 86, 87, 88]], [86, ["string", "box"], 950, 1491, [85, null]], [87, ["number", "12"], 1068, 1491, [85, null]], [88, "repeat", 938, 1519, [85, 89, 90, 113]], [89, ["number", "12"], 1024, 1528, [88, null]], [90, "vspace", 1033, 1568, [88, 91]], [91, "penup", 1033, 1637, [90, 92]], [92, "seth", 1033, 1676, [91, 93, 99]], [93, "product2", 1107, 1661, [92, 94, 96]], [94, "box", 1147, 1664, [93, 95, null]], [95, ["string", "box"], 1165, 1669, [94, null]], [96, "division2", 1147, 1678, [93, 97, 98]], [97, ["number", "360"], 1187, 1686, [96, null]], [98, ["number", "12"], 1206, 1719, [96, null]], [99, "forward", 1033, 1715, [92, 100, 101]], [100, ["number", "250"], 1107, 1724, [99, null]], [101, "show", 1033, 1754, [99, 102, 104]], [102, "box", 1107, 1758, [101, 103, null]], [103, ["string", "box"], 1125, 1763, [102, null]], [104, "back", 1033, 1793, [101, 105, 106]], [105, ["number", "250"], 1107, 1802, [104, null]], [106, "storeinbox", 1033, 1832, [104, 107, 108, 112]], [107, ["string", "box"], 1045, 1843, [106, null]], [108, "minus2", 1163, 1819, [106, 109, 111]], [109, "box", 1203, 1822, [108, 110, null]], [110, ["string", "box"], 1221, 1827, [109, null]], [111, ["number", "1"], 1222, 1860, [108, null]], [112, "pendown", 1033, 1871, [106, null]], [113, "setxy", 938, 1609, [88, 114, 115, null]], [114, ["number", "0"], 1012, 1618, [113, null]], [115, ["number", "0"], 1012, 1655, [113, null]], [116, "hat", 261, 832, [null, 117, 118]], [117, ["string", "show minutes"], 282, 859, [116, null]], [118, "setcolor", 299, 902, [116, 119, 120]], [119, ["number", "60"], 373, 919, [118, null]], [120, "setshade", 299, 956, [118, 121, 122]], [121, ["number", "100"], 373, 973, [120, null]], [122, "seth", 299, 1010, [120, 123, 129]], [123, "product2", 373, 995, [122, 124, 126]], [124, "box", 413, 998, [123, 125, null]], [125, ["string", "old minute"], 431, 1003, [124, null]], [126, "division2", 413, 1012, [123, 127, 128]], [127, ["number", "360"], 453, 1020, [126, null]], [128, ["number", "60"], 472, 1053, [126, null]], [129, "setpensize", 299, 1049, [122, 130, 131]], [130, ["number", "5"], 373, 1066, [129, null]], [131, "forward", 299, 1103, [129, 132, 133]], [132, ["number", "200"], 373, 1112, [131, null]], [133, "setpensize", 299, 1142, [131, 134, 135]], [134, ["number", "25"], 373, 1159, [133, null]], [135, "forward", 299, 1196, [133, 136, 137]], [136, ["number", "1"], 373, 1205, [135, null]], [137, "back", 299, 1235, [135, 138, 139]], [138, ["number", "1"], 373, 1244, [137, null]], [139, "setpensize", 299, 1274, [137, 140, 141]], [140, ["number", "7"], 373, 1291, [139, null]], [141, "back", 299, 1328, [139, 142, 143]], [142, ["number", "200"], 373, 1337, [141, null]], [143, "setshade", 299, 1367, [141, 144, 145]], [144, ["number", "30"], 373, 1384, [143, null]], [145, "setcolor", 299, 1421, [143, 146, 147]], [146, ["number", "30"], 373, 1438, [145, null]], [147, "seth", 299, 1475, [145, 148, 154]], [148, "product2", 373, 1460, [147, 149, 151]], [149, "box", 413, 1463, [148, 150, null]], [150, ["string", "minutes"], 431, 1468, [149, null]], [151, "division2", 413, 1477, [148, 152, 153]], [152, ["number", "360"], 453, 1485, [151, null]], [153, ["number", "60"], 472, 1518, [151, null]], [154, "setpensize", 299, 1514, [147, 155, 156]], [155, ["number", "5"], 373, 1531, [154, null]], [156, "forward", 299, 1568, [154, 157, 158]], [157, ["number", "200"], 373, 1577, [156, null]], [158, "setpensize", 299, 1607, [156, 159, 160]], [159, ["number", "25"], 373, 1624, [158, null]], [160, "forward", 299, 1661, [158, 161, 162]], [161, ["number", "1"], 373, 1670, [160, null]], [162, "setpensize", 299, 1700, [160, 163, 164]], [163, ["number", "5"], 373, 1717, [162, null]], [164, "back", 299, 1754, [162, 165, 166]], [165, ["number", "201"], 373, 1763, [164, null]], [166, "storein", 299, 1793, [164, 167, 168, null]], [167, ["string", "old minute"], 311, 1820, [166, null]], [168, "box", 429, 1806, [166, 169, null]], [169, ["string", "minutes"], 447, 1811, [168, null]], [170, "hat", 671, 835, [null, 171, 172]], [171, ["string", "alarm"], 692, 862, [170, null]], [172, "seth", 709, 905, [170, 173, 174]], [173, ["number", "0"], 783, 914, [172, null]], [174, "setxy", 709, 944, [172, 175, 176, 177]], [175, ["number", "-360"], 783, 953, [174, null]], [176, ["number", "0"], 783, 990, [174, null]], [177, "setcolor", 709, 1020, [174, 178, 181]], [178, "random", 783, 1018, [177, 179, 180, null]], [179, ["number", "0"], 811, 1037, [178, null]], [180, ["number", "100"], 933, 1037, [178, null]], [181, "setpensize", 709, 1074, [177, 182, 183]], [182, ["number", "60"], 783, 1091, [181, null]], [183, "repeat", 709, 1128, [181, 184, 185, 194]], [184, ["number", "60"], 795, 1137, [183, null]], [185, "setshade", 804, 1177, [183, 186, 189]], [186, "division2", 878, 1170, [185, 187, 188]], [187, "heading", 918, 1178, [186, null]], [188, ["number", "6"], 937, 1211, [186, null]], [189, "arc", 804, 1231, [185, 190, 191, 192]], [190, ["number", "6"], 878, 1240, [189, null]], [191, ["number", "360"], 878, 1277, [189, null]], [192, "wait", 804, 1307, [189, 193, null]], [193, ["number", "1"], 878, 1316, [192, null]], [194, "setcolor", 709, 1218, [183, 195, 196]], [195, ["number", "60"], 783, 1235, [194, null]], [196, "setshade", 709, 1272, [194, 197, 198]], [197, ["number", "100"], 783, 1289, [196, null]], [198, "repeat", 709, 1326, [196, 199, 200, 203]], [199, ["number", "60"], 795, 1335, [198, null]], [200, "arc", 804, 1375, [198, 201, 202, null]], [201, ["number", "6"], 878, 1384, [200, null]], [202, ["number", "360"], 878, 1421, [200, null]], [203, "setxy", 709, 1416, [198, 204, 205, null]], [204, ["number", "0"], 783, 1425, [203, null]], [205, ["number", "0"], 783, 1462, [203, null]], [206, "hat", 442, 831, [null, 207, 208]], [207, ["string", "show hours"], 463, 858, [206, null]], [208, "setcolor", 480, 901, [206, 209, 210]], [209, ["number", "60"], 554, 918, [208, null]], [210, "setshade", 480, 955, [208, 211, 212]], [211, ["number", "100"], 554, 972, [210, null]], [212, "seth", 480, 1009, [210, 213, 230]], [213, "plus2", 554, 994, [212, 214, 221]], [214, "identity2", 594, 966, [213, 215]], [215, "product2", 634, 949, [214, 216, 218]], [216, "box", 674, 952, [215, 217, null]], [217, ["string", "old hour"], 692, 957, [216, null]], [218, "division2", 674, 966, [215, 219, 220]], [219, ["number", "360"], 714, 974, [218, null]], [220, ["number", "12"], 733, 1007, [218, null]], [221, "identity", 594, 1035, [213, 222]], [222, "division2", 634, 1039, [221, 223, 228]], [223, "product2", 674, 1023, [222, 224, 225]], [224, "box", 714, 1026, [223, 283, null]], [225, "division2", 714, 1040, [223, 226, 227]], [226, ["number", "360"], 754, 1048, [225, null]], [227, ["number", "60"], 773, 1081, [225, null]], [228, "identity", 693, 1080, [222, 229]], [229, ["number", "12"], 733, 1108, [228, null]], [230, "setpensize", 480, 1048, [212, 231, 232]], [231, ["number", "5"], 554, 1065, [230, null]], [232, "forward", 480, 1102, [230, 233, 234]], [233, ["number", "100"], 554, 1111, [232, null]], [234, "setpensize", 480, 1141, [232, 235, 236]], [235, ["number", "25"], 554, 1158, [234, null]], [236, "forward", 480, 1195, [234, 237, 238]], [237, ["number", "1"], 554, 1204, [236, null]], [238, "back", 480, 1234, [236, 239, 240]], [239, ["number", "1"], 554, 1243, [238, null]], [240, "setpensize", 480, 1273, [238, 241, 242]], [241, ["number", "7"], 554, 1290, [240, null]], [242, "back", 480, 1327, [240, 243, 244]], [243, ["number", "100"], 554, 1336, [242, null]], [244, "setshade", 480, 1366, [242, 245, 246]], [245, ["number", "50"], 554, 1383, [244, null]], [246, "setcolor", 480, 1420, [244, 247, 248]], [247, ["number", "70"], 554, 1437, [246, null]], [248, "seth", 480, 1474, [246, 249, 267]], [249, "plus2", 554, 1459, [248, 250, 257]], [250, "identity2", 594, 1431, [249, 251]], [251, "product2", 634, 1414, [250, 252, 254]], [252, "box", 674, 1417, [251, 253, null]], [253, ["string", "hours"], 692, 1422, [252, null]], [254, "division2", 674, 1431, [251, 255, 256]], [255, ["number", "360"], 714, 1439, [254, null]], [256, ["number", "12"], 733, 1472, [254, null]], [257, "identity", 594, 1500, [249, 258]], [258, "division2", 634, 1504, [257, 259, 265]], [259, "product2", 674, 1488, [258, 260, 262]], [260, "box", 714, 1491, [259, 261, null]], [261, ["string", "minutes"], 732, 1496, [260, null]], [262, "division2", 714, 1505, [259, 263, 264]], [263, ["number", "360"], 754, 1513, [262, null]], [264, ["number", "60"], 773, 1546, [262, null]], [265, "identity", 693, 1545, [258, 266]], [266, ["number", "12"], 733, 1573, [265, null]], [267, "setpensize", 480, 1513, [248, 268, 269]], [268, ["number", "5"], 554, 1530, [267, null]], [269, "forward", 480, 1567, [267, 270, 271]], [270, ["number", "100"], 554, 1576, [269, null]], [271, "setpensize", 480, 1606, [269, 272, 273]], [272, ["number", "25"], 554, 1623, [271, null]], [273, "forward", 480, 1660, [271, 274, 275]], [274, ["number", "1"], 554, 1669, [273, null]], [275, "setpensize", 480, 1699, [273, 276, 277]], [276, ["number", "5"], 554, 1716, [275, null]], [277, "back", 480, 1753, [275, 278, 279]], [278, ["number", "101"], 554, 1762, [277, null]], [279, "storein", 480, 1792, [277, 280, 281, null]], [280, ["string", "old hour"], 492, 1819, [279, null]], [281, "box", 610, 1805, [279, 282, null]], [282, ["string", "hours"], 628, 1810, [281, null]], [283, ["string", "old minute"], 732, 1031, [224, null]], [284, "division2", 1107, 1190, [60, 285, 286]], [285, "heading", 1147, 1198, [284, null]], [286, ["number", "3.6"], 1166, 1231, [284, null]], [287, "division2", 1198, 1355, [70, 289, 288]], [288, ["number", "3.6"], 1257, 1396, [287, null]], [289, "heading", 1238, 1363, [287, null]], [290, "start", 723, 26, [null, 291]], [291, "storein", 735, 76, [290, 292, 293, 294]], [292, ["string", "alarm hour"], 747, 103, [291, null]], [293, ["number", "10"], 865, 94, [291, null]], [294, "storein", 735, 130, [291, 295, 296, 297]], [295, ["string", "alarm minute"], 747, 157, [294, null]], [296, ["number", "30"], 865, 148, [294, null]], [297, "stack", 735, 184, [294, 298, 299]], [298, ["string", "dial"], 747, 196, [297, null]], [299, "storein", 735, 223, [297, 300, 301, 302]], [300, ["string", "old hour"], 747, 250, [299, null]], [301, ["number", "12"], 865, 241, [299, null]], [302, "storein", 735, 277, [299, 303, 304, 305]], [303, ["string", "old minute"], 747, 304, [302, null]], [304, ["number", "0"], 865, 295, [302, null]], [305, "storein", 735, 331, [302, 306, 307, 308]], [306, ["string", "old second"], 747, 358, [305, null]], [307, ["number", "0"], 865, 349, [305, null]], [308, "storein", 735, 385, [305, 309, 310, 311]], [309, ["string", "timezone"], 747, 412, [308, null]], [310, ["number", "-4"], 865, 403, [308, null]], [311, "forever", 735, 439, [308, 312, null]], [312, "storein", 816, 453, [311, 313, 314, 320]], [313, ["string", "hours"], 828, 480, [312, null]], [314, "plus2", 946, 447, [312, 315, 318]], [315, "myfunc", 986, 445, [314, 316, 317]], [316, ["string", "localtime().tm_hour"], 1010, 456, [315, null]], [317, ["number", "100"], 1128, 455, [315, null]], [318, "box", 986, 483, [314, 319, null]], [319, ["string", "timezone"], 1004, 488, [318, null]], [320, "storein", 816, 507, [312, 321, 322, 325]], [321, ["string", "minutes"], 828, 534, [320, null]], [322, "myfunc", 946, 515, [320, 323, 324]], [323, ["string", "localtime().tm_min"], 970, 526, [322, null]], [324, ["number", "100"], 1088, 525, [322, null]], [325, "storein", 816, 561, [320, 326, 327, 330]], [326, ["string", "seconds"], 828, 588, [325, null]], [327, "myfunc", 946, 569, [325, 328, 329]], [328, ["string", "localtime().tm_sec"], 970, 580, [327, null]], [329, ["number", "100"], 1088, 579, [327, null]], [330, "stack", 816, 615, [325, 331, 332]], [331, ["string", "clock"], 828, 627, [330, null]], [332, "if", 816, 654, [330, 333, 344, 346]], [333, "equal", 896, 664, [332, 334, 336, 338]], [334, "box", 928, 668, [333, 335, null]], [335, ["string", "alarm hour"], 946, 673, [334, null]], [336, "box", 1077, 668, [333, 337, null]], [337, ["string", "hours"], 1095, 673, [336, null]], [338, "and", 1188, 661, [333, 339]], [339, "equal", 1252, 664, [338, 340, 342, null]], [340, "box", 1284, 668, [339, 341, null]], [341, ["string", "alarm minute"], 1302, 673, [340, null]], [342, "box", 1433, 668, [339, 343, null]], [343, ["string", "minutes"], 1451, 673, [342, null]], [344, "stack", 911, 728, [332, 345, null]], [345, ["string", "alarm"], 923, 740, [344, null]], [346, "wait", 816, 769, [332, 347, null]], [347, ["number", "1"], 890, 778, [346, null]], [348, "hat", 972, 25, [null, 349, 350]], [349, ["string", "clock"], 993, 52, [348, null]], [350, "stack", 1010, 95, [348, 351, 352]], [351, ["string", "show seconds"], 1022, 107, [350, null]], [352, "stack", 1010, 134, [350, 353, 354]], [353, ["string", "show hours"], 1022, 146, [352, null]], [354, "stack", 1010, 173, [352, 355, null]], [355, ["string", "show minutes"], 1022, 185, [354, null]], [-1, "turtle", -3.5527136788005009e-15, 5.6843418860808015e-14, 6.0, 30.0, 30.0, 5.0]] diff --git a/samples/csquiral.ta b/samples/csquiral.ta index 5e791ea..bd11427 100644 --- a/samples/csquiral.ta +++ b/samples/csquiral.ta @@ -1 +1 @@ -[[0, "clean", 227, 73, [1, 51]], [1, "start", 215, 23, [null, 0]], [2, "hat2", 220, 328, [null, 3]], [3, "setcolor", 232, 378, [2, 4, 7]], [4, "random", 306, 376, [3, 5, 6, null]], [5, ["number", "0"], 334, 395, [4, null]], [6, ["number", "100"], 456, 395, [4, null]], [7, "setpensize", 232, 432, [3, 8, 9]], [8, ["number", "40"], 306, 449, [7, null]], [9, "stack1", 232, 486, [7, 10]], [10, "setcolor", 232, 525, [9, 11, 14]], [11, "plus2", 306, 518, [10, 12, 13]], [12, "color", 346, 526, [11, null]], [13, ["number", "10"], 346, 559, [11, null]], [14, "setpensize", 232, 579, [10, 15, 18]], [15, "minus2", 306, 572, [14, 16, 17]], [16, "pensize", 346, 580, [15, null]], [17, ["number", "25"], 365, 613, [15, null]], [18, "stack1", 232, 633, [14, null]], [19, "hat1", 685, 19, [null, 20]], [20, "left", 697, 69, [19, 21, 22]], [21, ["number", "45"], 771, 78, [20, null]], [22, "repeat", 697, 108, [20, 23, 24, 30]], [23, ["number", "4"], 783, 117, [22, null]], [24, "forward", 792, 157, [22, 25, 26]], [25, ["number", "75"], 866, 166, [24, null]], [26, "back", 792, 196, [24, 27, 28]], [27, ["number", "75"], 866, 205, [26, null]], [28, "left", 792, 235, [26, 29, null]], [29, ["number", "90"], 866, 244, [28, null]], [30, "vspace", 697, 198, [22, 31]], [31, "right", 697, 267, [30, 32, 33]], [32, ["number", "45"], 771, 276, [31, null]], [33, "penup", 697, 306, [31, 34]], [34, "forward", 697, 345, [33, 35, 36]], [35, ["number", "90"], 771, 354, [34, null]], [36, "pendown", 697, 384, [34, 37]], [37, "setpensize", 697, 423, [36, 45, 38]], [38, "forward", 697, 477, [37, 39, 40]], [39, ["number", "1"], 771, 486, [38, null]], [40, "penup", 697, 516, [38, 41]], [41, "back", 697, 555, [40, 42, 43]], [42, ["number", "91"], 771, 564, [41, null]], [43, "pendown", 697, 594, [41, 44]], [44, "setpensize", 697, 633, [43, 48, null]], [45, "plus2", 771, 416, [37, 46, 47]], [46, "pensize", 811, 424, [45, null]], [47, ["number", "35"], 811, 457, [45, null]], [48, "minus2", 771, 626, [44, 49, 50]], [49, "pensize", 811, 634, [48, null]], [50, ["number", "35"], 830, 667, [48, null]], [51, "repeat", 227, 112, [0, 52, 53, null]], [52, ["number", "500"], 313, 121, [51, null]], [53, "penup", 322, 161, [51, 54]], [54, "setxy", 322, 200, [53, 55, 58, 61]], [55, "random", 396, 190, [54, 56, 57, null]], [56, ["number", "-600"], 424, 209, [55, null]], [57, ["number", "600"], 546, 209, [55, null]], [58, "random", 396, 227, [54, 59, 60, null]], [59, ["number", "-450"], 424, 246, [58, null]], [60, ["number", "450"], 546, 246, [58, null]], [61, "pendown", 322, 276, [54, 62]], [62, "stack2", 322, 315, [61, null]], [-1, "turtle", 562.0, -180.0, 0.0, 87.0, 50, 15.0]] \ No newline at end of file +[[0, "start", 215, 24, [null, 1]], [1, "clean", 227, 74, [0, 2]], [2, "storeinbox1", 227, 113, [1, 3, 4]], [3, ["number", "1"], 301, 130, [2, null]], [4, "setpensize", 227, 167, [2, 5, 6]], [5, ["number", "20"], 301, 184, [4, null]], [6, "repeat", 227, 221, [4, 7, 8, null]], [7, ["number", "1300"], 313, 230, [6, null]], [8, "wait", 322, 270, [6, 9, 10]], [9, ["number", "0.1"], 396, 279, [8, null]], [10, "forward", 322, 309, [8, 11, 12]], [11, "box1", 396, 318, [10, null]], [12, "right", 322, 348, [10, 13, 14]], [13, ["number", "91"], 396, 357, [12, null]], [14, "setcolor", 322, 387, [12, 15, 18]], [15, "division2", 396, 380, [14, 16, 17]], [16, "xcor", 436, 388, [15, null]], [17, ["number", "6"], 455, 421, [15, null]], [18, "setshade", 322, 441, [14, 19, 20]], [19, "heading", 396, 458, [18, null]], [20, "storeinbox1", 322, 495, [18, 21, null]], [21, "plus2", 396, 488, [20, 22, 23]], [22, "box1", 436, 496, [21, null]], [23, ["number", "1"], 436, 529, [21, null]], [-1, "turtle", -324.93992977292589, 553.15991039106382, 105.0, -54.156654962154313, 105.0, 20.0]] \ No newline at end of file diff --git a/samples/find_boston.ta b/samples/find_boston.ta index 76ab7dc..296a0c4 100644 --- a/samples/find_boston.ta +++ b/samples/find_boston.ta @@ -1 +1 @@ -[[0, "hat", 183, 16, [null, 1, 2]], [1, ["string", "Q1"], 204, 43, [0, null]], [2, "storein", 221, 86, [0, 3, 17, 4]], [3, ["string", "x"], 233, 113, [2, null]], [4, "storein", 221, 140, [2, 5, 18, 6]], [5, ["string", "y"], 233, 167, [4, null]], [6, "storein", 221, 194, [4, 7, 16, 8]], [7, ["string", "size"], 233, 221, [6, null]], [8, "storein", 221, 248, [6, 9, 10, 11]], [9, ["string", "name"], 233, 275, [8, null]], [10, ["string", "North America"], 351, 267, [8, null]], [11, "storein", 221, 302, [8, 12, 13, 14]], [12, ["string", "picture"], 233, 329, [11, null]], [13, ["journal", "3562805e-5ff2-4b18-a6df-6c9057e266d5"], 351, 305, [11, null]], [14, "stack", 221, 356, [11, 15, null]], [15, ["string", "go"], 233, 368, [14, null]], [16, ["number", "180"], 351, 212, [6, null]], [17, ["number", "-250"], 351, 104, [2, null]], [18, ["number", "200"], 351, 158, [4, null]], [19, "hat", 654, 10, [null, 20, 21]], [20, ["string", "Q3"], 675, 37, [19, null]], [21, "storein", 692, 80, [19, 22, 23, 24]], [22, ["string", "x"], 704, 107, [21, null]], [23, ["number", "481"], 822, 98, [21, null]], [24, "storein", 692, 134, [21, 25, 26, 27]], [25, ["string", "y"], 704, 161, [24, null]], [26, ["number", "279"], 822, 152, [24, null]], [27, "storein", 692, 188, [24, 28, 29, 30]], [28, ["string", "size"], 704, 215, [27, null]], [29, ["number", "100"], 822, 206, [27, null]], [30, "storein", 692, 242, [27, 31, 32, 33]], [31, ["string", "name"], 704, 269, [30, null]], [32, ["string", "New England"], 822, 261, [30, null]], [33, "storein", 692, 296, [30, 34, 35, 36]], [34, ["string", "picture"], 704, 323, [33, null]], [35, ["journal", "25949567-1329-4488-b2ba-e5a589e7800c"], 822, 299, [33, null]], [36, "stack", 692, 350, [33, 37, null]], [37, ["string", "go"], 704, 362, [36, null]], [38, "hat", 424, 28, [null, 39, 40]], [39, ["string", "Q2"], 445, 55, [38, null]], [40, "storein", 462, 98, [38, 41, 42, 43]], [41, ["string", "x"], 474, 125, [40, null]], [42, ["number", "-200"], 592, 116, [40, null]], [43, "storein", 462, 152, [40, 44, 45, 46]], [44, ["string", "y"], 474, 179, [43, null]], [45, ["number", "-220"], 592, 170, [43, null]], [46, "storein", 462, 206, [43, 47, 48, 49]], [47, ["string", "size"], 474, 233, [46, null]], [48, ["number", "200"], 592, 224, [46, null]], [49, "storein", 462, 260, [46, 50, 51, 52]], [50, ["string", "name"], 474, 287, [49, null]], [51, ["string", "USA"], 592, 279, [49, null]], [52, "storein", 462, 314, [49, 53, 54, 55]], [53, ["string", "picture"], 474, 341, [52, null]], [54, ["journal", "881d35a4-546d-4309-af21-5c93b4b276b5"], 592, 317, [52, null]], [55, "stack", 462, 368, [52, 56, null]], [56, ["string", "go"], 474, 380, [55, null]], [57, "hat", 192, 449, [null, 58, 59]], [58, ["string", "Q4"], 213, 476, [57, null]], [59, "storein", 230, 519, [57, 60, 61, 62]], [60, ["string", "x"], 242, 546, [59, null]], [61, ["number", "-456"], 360, 537, [59, null]], [62, "storein", 230, 573, [59, 63, 64, 65]], [63, ["string", "y"], 242, 600, [62, null]], [64, ["number", "-175"], 360, 591, [62, null]], [65, "storein", 230, 627, [62, 66, 67, 68]], [66, ["string", "size"], 242, 654, [65, null]], [67, ["number", "100"], 360, 645, [65, null]], [68, "storein", 230, 681, [65, 69, 70, 71]], [69, ["string", "name"], 242, 708, [68, null]], [70, ["string", "Massachusetts"], 360, 700, [68, null]], [71, "storein", 230, 735, [68, 72, 73, 74]], [72, ["string", "picture"], 242, 762, [71, null]], [73, ["journal", "c27445ad-fc18-4f5b-afb2-7307075f7ea7"], 360, 738, [71, null]], [74, "stack", 230, 789, [71, 75, null]], [75, ["string", "go"], 242, 801, [74, null]], [76, "hat", 16, 807, [null, 77, 78]], [77, ["string", "calculate distance"], 37, 834, [76, null]], [78, "storein", 54, 877, [76, 79, 80, 87]], [79, ["string", "dx"], 66, 904, [78, null]], [80, "minus2", 184, 871, [78, 81, 86]], [81, "product2", 224, 855, [80, 82, 84]], [82, "box", 264, 858, [81, 83, null]], [83, ["string", "x"], 282, 863, [82, null]], [84, "box", 264, 891, [81, 85, null]], [85, ["string", "scale"], 282, 896, [84, null]], [86, "xcor", 243, 912, [80, null]], [87, "storein", 54, 931, [78, 88, 89, 96]], [88, ["string", "dy"], 66, 958, [87, null]], [89, "minus2", 184, 925, [87, 90, 95]], [90, "product2", 224, 909, [89, 91, 93]], [91, "box", 264, 912, [90, 92, null]], [92, ["string", "y"], 282, 917, [91, null]], [93, "box", 264, 945, [90, 94, null]], [94, ["string", "scale"], 282, 950, [93, null]], [95, "ycor", 243, 966, [89, null]], [96, "storein", 54, 985, [87, 97, 98, null]], [97, ["string", "distance"], 66, 1012, [96, null]], [98, "sqrt", 184, 995, [96, 99]], [99, "plus2", 226, 979, [98, 100, 106]], [100, "identity2", 266, 951, [99, 101]], [101, "product2", 306, 934, [100, 102, 104]], [102, "box", 346, 937, [101, 103, null]], [103, ["string", "dx"], 364, 942, [102, null]], [104, "box", 346, 970, [101, 105, null]], [105, ["string", "dx"], 364, 975, [104, null]], [106, "identity", 266, 1020, [99, 107]], [107, "product2", 306, 1024, [106, 108, 110]], [108, "box", 346, 1027, [107, 109, null]], [109, ["string", "dy"], 364, 1032, [108, null]], [110, "box", 346, 1060, [107, 111, null]], [111, ["string", "dy"], 364, 1065, [110, null]], [112, "start", 931, 13, [null, 113]], [113, "storein", 943, 63, [112, 114, 115, 116]], [114, ["string", "test"], 955, 90, [113, null]], [115, ["number", "0"], 1073, 81, [113, null]], [116, "stack", 943, 117, [113, 117, 118]], [117, ["string", "setup"], 955, 129, [116, null]], [118, "stack", 943, 156, [116, 119, 120]], [119, ["string", "map"], 955, 168, [118, null]], [120, "stack", 943, 195, [118, 121, 122]], [121, ["string", "Q1"], 955, 207, [120, null]], [122, "stack", 943, 234, [120, 123, 124]], [123, ["string", "Q2"], 955, 246, [122, null]], [124, "stack", 943, 273, [122, 125, 126]], [125, ["string", "Q3"], 955, 285, [124, null]], [126, "stack", 943, 312, [124, 127, 128]], [127, ["string", "Q4"], 955, 324, [126, null]], [128, "stack", 943, 351, [126, 129, 130]], [129, ["string", "Q5"], 955, 363, [128, null]], [130, "stack", 943, 390, [128, 131, null]], [131, ["string", "star"], 955, 402, [130, null]], [132, "hat", 459, 443, [null, 133, 134]], [133, ["string", "Q5"], 480, 470, [132, null]], [134, "storein", 497, 513, [132, 135, 136, 137]], [135, ["string", "x"], 509, 540, [134, null]], [136, ["number", "210"], 627, 531, [134, null]], [137, "storein", 497, 567, [134, 138, 139, 140]], [138, ["string", "y"], 509, 594, [137, null]], [139, ["number", "200"], 627, 585, [137, null]], [140, "storein", 497, 621, [137, 141, 142, 143]], [141, ["string", "size"], 509, 648, [140, null]], [142, ["number", "50"], 627, 639, [140, null]], [143, "storein", 497, 675, [140, 144, 145, 146]], [144, ["string", "name"], 509, 702, [143, null]], [145, ["string", "Boston"], 627, 694, [143, null]], [146, "storein", 497, 729, [143, 147, 148, 149]], [147, ["string", "picture"], 509, 756, [146, null]], [148, ["journal", "555170a9-688c-46ff-9071-c392c71c5eb8"], 627, 732, [146, null]], [149, "stack", 497, 783, [146, 150, null]], [150, ["string", "go"], 509, 795, [149, null]], [151, "hat", 716, 437, [null, 152, 153]], [152, ["string", "map"], 737, 464, [151, null]], [153, "setscale", 754, 507, [151, 154, 155]], [154, ["number", "100"], 828, 516, [153, null]], [155, "setxy", 754, 546, [153, 156, 157, 158]], [156, ["number", "0"], 828, 555, [155, null]], [157, ["number", "0"], 828, 592, [155, null]], [158, "show", 754, 622, [155, 159, null]], [159, ["journal", "3261f780-e492-4034-a773-f400542d02ca"], 828, 616, [158, null]], [160, "hat", 938, 446, [null, 161, 162]], [161, ["string", "go"], 959, 473, [160, null]], [162, "if", 976, 516, [160, 163, 167, 187]], [163, "greater", 1056, 526, [162, 164, 166, null]], [164, "box", 1088, 530, [163, 165, null]], [165, ["string", "test"], 1106, 535, [164, null]], [166, ["number", "0"], 1237, 535, [163, null]], [167, "setxy", 1071, 590, [162, 168, 175, 177]], [168, "minus2", 1145, 575, [167, 169, 171]], [169, "box", 1185, 578, [168, 170, null]], [170, ["string", "x"], 1203, 583, [169, null]], [171, "division2", 1204, 592, [168, 172, 174]], [172, "box", 1244, 595, [171, 173, null]], [173, ["string", "size"], 1262, 600, [172, null]], [174, ["number", "2"], 1263, 633, [171, null]], [175, "box", 1145, 631, [167, 176, null]], [176, ["string", "y"], 1163, 636, [175, null]], [177, "arc", 1071, 666, [167, 178, 179, 181]], [178, ["number", "360"], 1145, 675, [177, null]], [179, "box", 1145, 707, [177, 180, null]], [180, ["string", "size"], 1163, 712, [179, null]], [181, "print", 1071, 742, [177, 182, null]], [182, "plus2", 1145, 727, [181, 183, 184]], [183, "xcor", 1185, 735, [182, null]], [184, "plus2", 1185, 744, [182, 185, 186]], [185, ["string", ", "], 1225, 753, [184, null]], [186, "ycor", 1225, 785, [184, null]], [187, "vspace", 976, 631, [162, 188]], [188, "vspace", 976, 700, [187, 189]], [189, "setxy", 976, 769, [188, 190, 191, 193]], [190, ["number", "0"], 1050, 778, [189, null]], [191, "box", 1050, 810, [189, 192, null]], [192, ["string", "box"], 1068, 815, [191, null]], [193, "settextsize", 976, 845, [189, 194, 198]], [194, "product2", 1050, 838, [193, 195, 196]], [195, ["number", "24"], 1090, 846, [194, null]], [196, "box", 1090, 874, [194, 197, null]], [197, ["string", "scale"], 1108, 879, [196, null]], [198, "show", 976, 899, [193, 199, 203]], [199, "plus2", 1050, 884, [198, 200, 201]], [200, ["string", "Put the turtle in "], 1090, 893, [199, null]], [201, "box", 1090, 920, [199, 202, null]], [202, ["string", "name"], 1108, 925, [201, null]], [203, "setxy", 976, 938, [198, 204, 205, 206]], [204, ["number", "0"], 1050, 947, [203, null]], [205, ["number", "0"], 1050, 984, [203, null]], [206, "forever", 976, 1014, [203, 207, null]], [207, "stack", 1057, 1028, [206, 208, 209]], [208, ["string", "calculate distance"], 1069, 1040, [207, null]], [209, "if", 1057, 1067, [207, 210, 218, 228]], [210, "less", 1137, 1077, [209, 211, 213, null]], [211, "box", 1169, 1081, [210, 212, null]], [212, ["string", "distance"], 1187, 1086, [211, null]], [213, "product2", 1318, 1062, [210, 214, 216]], [214, "box", 1358, 1065, [213, 215, null]], [215, ["string", "size"], 1376, 1070, [214, null]], [216, "box", 1358, 1098, [213, 217, null]], [217, ["string", "scale"], 1376, 1103, [216, null]], [218, "clean", 1152, 1141, [209, 219]], [219, "setxy", 1152, 1180, [218, 220, 221, 222]], [220, ["number", "0"], 1226, 1189, [219, null]], [221, ["number", "0"], 1226, 1226, [219, null]], [222, "setscale", 1152, 1256, [219, 223, 224]], [223, ["number", "100"], 1226, 1265, [222, null]], [224, "show", 1152, 1295, [222, 225, 227]], [225, "box", 1226, 1299, [224, 226, null]], [226, ["string", "picture"], 1244, 1304, [225, null]], [227, "stopstack", 1152, 1334, [224, null]], [228, "wait", 1057, 1182, [209, 229, null]], [229, ["number", "10"], 1131, 1191, [228, null]], [230, "hat", 487, 873, [null, 231, 232]], [231, ["string", "setup"], 508, 900, [230, null]], [232, "storein", 525, 943, [230, 233, 234, 237]], [233, ["string", "scale"], 537, 970, [232, null]], [234, "division2", 655, 937, [232, 235, 236]], [235, "vres", 695, 945, [234, null]], [236, ["number", "900"], 714, 978, [234, null]], [237, "storein", 525, 997, [232, 238, 239, 243]], [238, ["string", "box"], 537, 1024, [237, null]], [239, "product2", 655, 991, [237, 240, 241]], [240, ["number", "-260"], 695, 999, [239, null]], [241, "box", 695, 1027, [239, 242, null]], [242, ["string", "scale"], 713, 1032, [241, null]], [243, "hideblocks", 525, 1051, [237, 244]], [244, "clean", 525, 1105, [243, null]], [245, "hat", 792, 860, [null, 246, 247]], [246, ["string", "star"], 813, 887, [245, null]], [247, "setpensize", 830, 930, [245, 248, 249]], [248, ["number", "15"], 904, 947, [247, null]], [249, "setxy", 830, 984, [247, 250, 251, 252]], [250, ["number", "0"], 904, 993, [249, null]], [251, ["number", "0"], 904, 1030, [249, null]], [252, "repeat", 830, 1060, [249, 253, 254, null]], [253, ["number", "5"], 916, 1069, [252, null]], [254, "setcolor", 925, 1109, [252, 255, 256]], [255, "heading", 999, 1126, [254, null]], [256, "forward", 925, 1163, [254, 257, 258]], [257, ["number", "200"], 999, 1172, [256, null]], [258, "right", 925, 1202, [256, 259, null]], [259, ["number", "144"], 999, 1211, [258, null]], [-1, "turtle", 1.4210854715202004e-14, -2.8421709430404007e-14, 0.0, 216.0, 50, 15.0]] \ No newline at end of file +[[0, "hat", 183, 16, [null, 1, 2]], [1, ["string", "Q1"], 204, 43, [0, null]], [2, "storein", 221, 86, [0, 3, 330, 4]], [3, ["string", "x"], 233, 113, [2, null]], [4, "storein", 221, 140, [2, 5, 17, 6]], [5, ["string", "y"], 233, 167, [4, null]], [6, "storein", 221, 194, [4, 7, 16, 8]], [7, ["string", "size"], 233, 221, [6, null]], [8, "storein", 221, 248, [6, 9, 10, 11]], [9, ["string", "name"], 233, 275, [8, null]], [10, ["string", "North America"], 351, 267, [8, null]], [11, "storein", 221, 302, [8, 12, 13, 14]], [12, ["string", "picture"], 233, 329, [11, null]], [13, ["journal", "3562805e-5ff2-4b18-a6df-6c9057e266d5"], 351, 305, [11, null]], [14, "stack", 221, 356, [11, 15, null]], [15, ["string", "go"], 233, 368, [14, null]], [16, ["number", "180"], 351, 212, [6, null]], [17, ["number", "200"], 351, 158, [4, null]], [18, "hat", 654, 10, [null, 19, 20]], [19, ["string", "Q3"], 675, 37, [18, null]], [20, "storein", 692, 80, [18, 21, 22, 23]], [21, ["string", "x"], 704, 107, [20, null]], [22, ["number", "481"], 822, 98, [20, null]], [23, "storein", 692, 134, [20, 24, 25, 26]], [24, ["string", "y"], 704, 161, [23, null]], [25, ["number", "279"], 822, 152, [23, null]], [26, "storein", 692, 188, [23, 27, 28, 29]], [27, ["string", "size"], 704, 215, [26, null]], [28, ["number", "100"], 822, 206, [26, null]], [29, "storein", 692, 242, [26, 30, 31, 32]], [30, ["string", "name"], 704, 269, [29, null]], [31, ["string", "New England"], 822, 261, [29, null]], [32, "storein", 692, 296, [29, 33, 34, 35]], [33, ["string", "picture"], 704, 323, [32, null]], [34, ["journal", "25949567-1329-4488-b2ba-e5a589e7800c"], 822, 299, [32, null]], [35, "stack", 692, 350, [32, 36, null]], [36, ["string", "go"], 704, 362, [35, null]], [37, "hat", 192, 449, [null, 38, 39]], [38, ["string", "Q4"], 213, 476, [37, null]], [39, "storein", 230, 519, [37, 40, 41, 42]], [40, ["string", "x"], 242, 546, [39, null]], [41, ["number", "-456"], 360, 537, [39, null]], [42, "storein", 230, 573, [39, 43, 44, 45]], [43, ["string", "y"], 242, 600, [42, null]], [44, ["number", "-175"], 360, 591, [42, null]], [45, "storein", 230, 627, [42, 46, 47, 48]], [46, ["string", "size"], 242, 654, [45, null]], [47, ["number", "100"], 360, 645, [45, null]], [48, "storein", 230, 681, [45, 49, 50, 51]], [49, ["string", "name"], 242, 708, [48, null]], [50, ["string", "Massachusetts"], 360, 700, [48, null]], [51, "storein", 230, 735, [48, 52, 53, 54]], [52, ["string", "picture"], 242, 762, [51, null]], [53, ["journal", "c27445ad-fc18-4f5b-afb2-7307075f7ea7"], 360, 738, [51, null]], [54, "stack", 230, 789, [51, 55, null]], [55, ["string", "go"], 242, 801, [54, null]], [56, "hat", 16, 807, [null, 57, 58]], [57, ["string", "calculate distance"], 37, 834, [56, null]], [58, "storein", 54, 877, [56, 59, 60, 67]], [59, ["string", "dx"], 66, 904, [58, null]], [60, "minus2", 184, 871, [58, 61, 66]], [61, "product2", 224, 855, [60, 62, 64]], [62, "box", 264, 858, [61, 63, null]], [63, ["string", "x"], 282, 863, [62, null]], [64, "box", 264, 891, [61, 65, null]], [65, ["string", "scale"], 282, 896, [64, null]], [66, "xcor", 243, 912, [60, null]], [67, "storein", 54, 931, [58, 68, 69, 76]], [68, ["string", "dy"], 66, 958, [67, null]], [69, "minus2", 184, 925, [67, 70, 75]], [70, "product2", 224, 909, [69, 71, 73]], [71, "box", 264, 912, [70, 72, null]], [72, ["string", "y"], 282, 917, [71, null]], [73, "box", 264, 945, [70, 74, null]], [74, ["string", "scale"], 282, 950, [73, null]], [75, "ycor", 243, 966, [69, null]], [76, "storein", 54, 985, [67, 77, 78, null]], [77, ["string", "distance"], 66, 1012, [76, null]], [78, "sqrt", 184, 995, [76, 79]], [79, "plus2", 226, 979, [78, 80, 86]], [80, "identity2", 266, 951, [79, 81]], [81, "product2", 306, 934, [80, 82, 84]], [82, "box", 346, 937, [81, 83, null]], [83, ["string", "dx"], 364, 942, [82, null]], [84, "box", 346, 970, [81, 85, null]], [85, ["string", "dx"], 364, 975, [84, null]], [86, "identity", 266, 1020, [79, 87]], [87, "product2", 306, 1024, [86, 88, 90]], [88, "box", 346, 1027, [87, 89, null]], [89, ["string", "dy"], 364, 1032, [88, null]], [90, "box", 346, 1060, [87, 91, null]], [91, ["string", "dy"], 364, 1065, [90, null]], [92, "hat", 459, 443, [null, 93, 94]], [93, ["string", "Q5"], 480, 470, [92, null]], [94, "storein", 497, 513, [92, 95, 96, 97]], [95, ["string", "x"], 509, 540, [94, null]], [96, ["number", "210"], 627, 531, [94, null]], [97, "storein", 497, 567, [94, 98, 99, 100]], [98, ["string", "y"], 509, 594, [97, null]], [99, ["number", "200"], 627, 585, [97, null]], [100, "storein", 497, 621, [97, 101, 102, 103]], [101, ["string", "size"], 509, 648, [100, null]], [102, ["number", "50"], 627, 639, [100, null]], [103, "storein", 497, 675, [100, 104, 105, 106]], [104, ["string", "name"], 509, 702, [103, null]], [105, ["string", "Boston"], 627, 694, [103, null]], [106, "storein", 497, 729, [103, 107, 108, 109]], [107, ["string", "picture"], 509, 756, [106, null]], [108, ["journal", "555170a9-688c-46ff-9071-c392c71c5eb8"], 627, 732, [106, null]], [109, "stack", 497, 783, [106, 110, null]], [110, ["string", "go"], 509, 795, [109, null]], [111, "hat", 716, 437, [null, 112, 113]], [112, ["string", "map"], 737, 464, [111, null]], [113, "setscale", 754, 507, [111, 114, 115]], [114, ["number", "100"], 828, 516, [113, null]], [115, "setxy", 754, 546, [113, 116, 117, 118]], [116, ["number", "0"], 828, 555, [115, null]], [117, ["number", "0"], 828, 592, [115, null]], [118, "show", 754, 622, [115, 119, null]], [119, ["journal", "3261f780-e492-4034-a773-f400542d02ca"], 828, 616, [118, null]], [120, "hat", 487, 873, [null, 121, 122]], [121, ["string", "setup"], 508, 900, [120, null]], [122, "storein", 525, 943, [120, 123, 124, 127]], [123, ["string", "scale"], 537, 970, [122, null]], [124, "division2", 655, 937, [122, 125, 126]], [125, "vres", 695, 945, [124, null]], [126, ["number", "900"], 714, 978, [124, null]], [127, "storein", 525, 997, [122, 128, 129, 148]], [128, ["string", "box"], 537, 1024, [127, null]], [129, "product2", 655, 991, [127, 130, 131]], [130, ["number", "-260"], 695, 999, [129, null]], [131, "box", 695, 1027, [129, 132, null]], [132, ["string", "scale"], 713, 1032, [131, null]], [133, "hat", 792, 860, [null, 134, 135]], [134, ["string", "star"], 813, 887, [133, null]], [135, "setpensize", 830, 930, [133, 136, 137]], [136, ["number", "15"], 904, 947, [135, null]], [137, "setxy", 830, 984, [135, 138, 139, 140]], [138, ["number", "0"], 904, 993, [137, null]], [139, ["number", "0"], 904, 1030, [137, null]], [140, "repeat", 830, 1060, [137, 141, 142, null]], [141, ["number", "5"], 916, 1069, [140, null]], [142, "setcolor", 925, 1109, [140, 143, 144]], [143, "heading", 999, 1126, [142, null]], [144, "forward", 925, 1163, [142, 145, 146]], [145, ["number", "200"], 999, 1172, [144, null]], [146, "right", 925, 1202, [144, 147, null]], [147, ["number", "144"], 999, 1211, [146, null]], [148, "clean", 525, 1051, [127, null]], [149, "hat", 445, 12, [null, 150, 151]], [150, ["string", "Q2"], 466, 39, [149, null]], [151, "storein", 483, 82, [149, 152, 153, 154]], [152, ["string", "x"], 495, 109, [151, null]], [153, ["number", "-200"], 613, 100, [151, null]], [154, "storein", 483, 136, [151, 167, 155, 156]], [155, ["number", "-220"], 613, 154, [154, null]], [156, "storein", 483, 190, [154, 157, 158, 159]], [157, ["string", "size"], 495, 217, [156, null]], [158, ["number", "200"], 613, 208, [156, null]], [159, "storein", 483, 244, [156, 160, 161, 162]], [160, ["string", "name"], 495, 271, [159, null]], [161, ["string", "USA"], 613, 263, [159, null]], [162, "storein", 483, 298, [159, 163, 164, 165]], [163, ["string", "picture"], 495, 325, [162, null]], [164, ["journal", "881d35a4-546d-4309-af21-5c93b4b276b5"], 613, 301, [162, null]], [165, "stack", 483, 352, [162, 166, null]], [166, ["string", "go"], 495, 364, [165, null]], [167, ["string", "y"], 495, 163, [154, null]], [168, "hat", 1328, 8, [null, 169, 170]], [169, ["string", "xaxis"], 1349, 35, [168, null]], [170, "settextsize", 1366, 78, [168, 171, 172]], [171, ["number", "16"], 1440, 95, [170, null]], [172, "setxy", 1366, 132, [170, 173, 174, 175]], [173, "leftpos", 1440, 141, [172, null]], [174, ["number", "0"], 1440, 178, [172, null]], [175, "repeat", 1366, 208, [172, 176, 179, null]], [176, "division2", 1452, 193, [175, 177, 178]], [177, "hres", 1492, 201, [176, null]], [178, ["number", "100"], 1511, 234, [176, null]], [179, "seth", 1461, 257, [175, 180, 181]], [180, ["number", "0"], 1535, 266, [179, null]], [181, "forward", 1461, 296, [179, 182, 183]], [182, ["number", "10"], 1535, 305, [181, null]], [183, "penup", 1461, 335, [181, 184]], [184, "forward", 1461, 374, [183, 185, 186]], [185, ["number", "5"], 1535, 383, [184, null]], [186, "show", 1461, 413, [184, 187, 188]], [187, "xcor", 1535, 422, [186, null]], [188, "back", 1461, 452, [186, 189, 190]], [189, ["number", "5"], 1535, 461, [188, null]], [190, "pendown", 1461, 491, [188, 191]], [191, "back", 1461, 530, [190, 192, 193]], [192, ["number", "10"], 1535, 539, [191, null]], [193, "seth", 1461, 569, [191, 194, 195]], [194, ["number", "90"], 1535, 578, [193, null]], [195, "forward", 1461, 608, [193, 196, null]], [196, ["number", "100"], 1535, 617, [195, null]], [197, "hat", 1373, 672, [null, 198, 199]], [198, ["string", "yaxis"], 1394, 699, [197, null]], [199, "settextsize", 1411, 742, [197, 200, 201]], [200, ["number", "16"], 1485, 759, [199, null]], [201, "setxy", 1411, 796, [199, 202, 203, 204]], [202, ["number", "0"], 1485, 805, [201, null]], [203, "bottompos", 1485, 842, [201, null]], [204, "repeat", 1411, 872, [201, 205, 208, null]], [205, "division2", 1497, 857, [204, 206, 207]], [206, "vres", 1537, 865, [205, null]], [207, ["number", "100"], 1556, 898, [205, null]], [208, "seth", 1506, 921, [204, 209, 210]], [209, ["number", "90"], 1580, 930, [208, null]], [210, "forward", 1506, 960, [208, 211, 212]], [211, ["number", "10"], 1580, 969, [210, null]], [212, "penup", 1506, 999, [210, 213]], [213, "forward", 1506, 1038, [212, 214, 215]], [214, ["number", "5"], 1580, 1047, [213, null]], [215, "show", 1506, 1077, [213, 216, 217]], [216, "ycor", 1580, 1086, [215, null]], [217, "back", 1506, 1116, [215, 218, 219]], [218, ["number", "5"], 1580, 1125, [217, null]], [219, "pendown", 1506, 1155, [217, 220]], [220, "back", 1506, 1194, [219, 221, 222]], [221, ["number", "10"], 1580, 1203, [220, null]], [222, "seth", 1506, 1233, [220, 223, 224]], [223, ["number", "0"], 1580, 1242, [222, null]], [224, "forward", 1506, 1272, [222, 225, null]], [225, ["number", "100"], 1580, 1281, [224, null]], [226, "hat", 925, 445, [null, 227, 228]], [227, ["string", "go"], 946, 472, [226, null]], [228, "if", 963, 515, [226, 229, 233, 244]], [229, "greater", 1043, 525, [228, 230, 232, null]], [230, "box", 1075, 529, [229, 231, null]], [231, ["string", "test"], 1093, 534, [230, null]], [232, ["number", "0"], 1224, 534, [229, null]], [233, "setxy", 1058, 589, [228, 234, 237, 239]], [234, "minus2", 1132, 574, [233, 235, 309]], [235, "box", 1172, 577, [234, 236, null]], [236, ["string", "x"], 1190, 582, [235, null]], [237, "box", 1132, 630, [233, 238, null]], [238, ["string", "y"], 1150, 635, [237, null]], [239, "arc", 1058, 665, [233, 240, 241, 243]], [240, ["number", "360"], 1132, 674, [239, null]], [241, "box", 1132, 706, [239, 242, null]], [242, ["string", "size"], 1150, 711, [241, null]], [243, "hspace", 1058, 732, [239, 311]], [244, "vspace", 963, 630, [228, 245]], [245, "vspace", 963, 699, [244, 246]], [246, "setxy", 963, 768, [245, 247, 248, 250]], [247, ["number", "0"], 1037, 777, [246, null]], [248, "box", 1037, 809, [246, 249, null]], [249, ["string", "box"], 1055, 814, [248, null]], [250, "settextsize", 963, 844, [246, 251, 255]], [251, "product2", 1037, 837, [250, 252, 253]], [252, ["number", "24"], 1077, 845, [251, null]], [253, "box", 1077, 873, [251, 254, null]], [254, ["string", "scale"], 1095, 878, [253, null]], [255, "show", 963, 898, [250, 256, 260]], [256, "plus2", 1037, 883, [255, 257, 258]], [257, ["string", "Put the turtle in "], 1077, 892, [256, null]], [258, "box", 1077, 919, [256, 259, null]], [259, ["string", "name"], 1095, 924, [258, null]], [260, "setxy", 963, 937, [255, 261, 262, 263]], [261, ["number", "0"], 1037, 946, [260, null]], [262, ["number", "0"], 1037, 983, [260, null]], [263, "forever", 963, 1013, [260, 264, null]], [264, "stack", 1044, 1027, [263, 265, 266]], [265, ["string", "calculate distance"], 1056, 1039, [264, null]], [266, "if", 1044, 1066, [264, 267, 275, 285]], [267, "less", 1124, 1076, [266, 268, 270, null]], [268, "box", 1156, 1080, [267, 269, null]], [269, ["string", "distance"], 1174, 1085, [268, null]], [270, "product2", 1305, 1061, [267, 271, 273]], [271, "box", 1345, 1064, [270, 272, null]], [272, ["string", "size"], 1363, 1069, [271, null]], [273, "box", 1345, 1097, [270, 274, null]], [274, ["string", "scale"], 1363, 1102, [273, null]], [275, "clean", 1139, 1140, [266, 276]], [276, "setxy", 1139, 1179, [275, 277, 278, 279]], [277, ["number", "0"], 1213, 1188, [276, null]], [278, ["number", "0"], 1213, 1225, [276, null]], [279, "setscale", 1139, 1255, [276, 280, 281]], [280, ["number", "100"], 1213, 1264, [279, null]], [281, "show", 1139, 1294, [279, 282, 284]], [282, "box", 1213, 1298, [281, 283, null]], [283, ["string", "picture"], 1231, 1303, [282, null]], [284, "stopstack", 1139, 1333, [281, null]], [285, "wait", 1044, 1181, [266, 286, null]], [286, ["number", "1"], 1118, 1190, [285, null]], [287, "start", 1030, 7, [null, 288]], [288, "storein", 1042, 57, [287, 289, 290, 291]], [289, ["string", "test"], 1054, 84, [288, null]], [290, ["number", "1"], 1172, 75, [288, null]], [291, "stack", 1042, 111, [288, 292, 293]], [292, ["string", "setup"], 1054, 123, [291, null]], [293, "stack", 1042, 150, [291, 294, 295]], [294, ["string", "map"], 1054, 162, [293, null]], [295, "stack", 1042, 189, [293, 296, 297]], [296, ["string", "Q1"], 1054, 201, [295, null]], [297, "stack", 1042, 228, [295, 298, 299]], [298, ["string", "Q2"], 1054, 240, [297, null]], [299, "stack", 1042, 267, [297, 300, 301]], [300, ["string", "Q3"], 1054, 279, [299, null]], [301, "stack", 1042, 306, [299, 302, 303]], [302, ["string", "Q4"], 1054, 318, [301, null]], [303, "stack", 1042, 345, [301, 304, 305]], [304, ["string", "Q5"], 1054, 357, [303, null]], [305, "stack", 1042, 384, [303, 306, null]], [306, ["string", "star"], 1054, 396, [305, null]], [307, "division2", 1291, 420, [null, null, 308]], [308, ["number", "2"], 1350, 461, [307, null]], [309, "box", 1191, 610, [234, 310, null]], [310, ["string", "size"], 1209, 615, [309, null]], [311, "storein", 1149, 740, [243, 312, 315, 319]], [312, ["string", "box"], 1161, 767, [311, null]], [313, "division2", 1654, 756, [null, null, 314]], [314, ["number", "2"], 1713, 797, [313, null]], [315, "plus2", 1279, 734, [311, 316, 317]], [316, "xcor", 1319, 742, [315, null]], [317, "box", 1319, 770, [315, 318, null]], [318, ["string", "size"], 1337, 775, [317, null]], [319, "print", 1149, 794, [311, 320, 326]], [320, "plus2", 1223, 779, [319, 321, 323]], [321, "box", 1263, 782, [320, 322, null]], [322, ["string", "box"], 1281, 787, [321, null]], [323, "plus2", 1263, 796, [320, 324, 325]], [324, ["string", ", "], 1303, 805, [323, null]], [325, "ycor", 1303, 837, [323, null]], [326, "stack", 1149, 833, [319, 327, 328]], [327, ["string", "xaxis"], 1161, 845, [326, null]], [328, "stack", 1149, 872, [326, 329, null]], [329, ["string", "yaxis"], 1161, 884, [328, null]], [330, ["number", "-200"], 351, 104, [2, null]], [-1, "turtle", 0.0, 0.0, 0.0, 0, 50, 5]] \ No newline at end of file diff --git a/samples/rainbow.ta b/samples/rainbow.ta index 5e791ea..66df564 100644 --- a/samples/rainbow.ta +++ b/samples/rainbow.ta @@ -1 +1 @@ -[[0, "clean", 227, 73, [1, 51]], [1, "start", 215, 23, [null, 0]], [2, "hat2", 220, 328, [null, 3]], [3, "setcolor", 232, 378, [2, 4, 7]], [4, "random", 306, 376, [3, 5, 6, null]], [5, ["number", "0"], 334, 395, [4, null]], [6, ["number", "100"], 456, 395, [4, null]], [7, "setpensize", 232, 432, [3, 8, 9]], [8, ["number", "40"], 306, 449, [7, null]], [9, "stack1", 232, 486, [7, 10]], [10, "setcolor", 232, 525, [9, 11, 14]], [11, "plus2", 306, 518, [10, 12, 13]], [12, "color", 346, 526, [11, null]], [13, ["number", "10"], 346, 559, [11, null]], [14, "setpensize", 232, 579, [10, 15, 18]], [15, "minus2", 306, 572, [14, 16, 17]], [16, "pensize", 346, 580, [15, null]], [17, ["number", "25"], 365, 613, [15, null]], [18, "stack1", 232, 633, [14, null]], [19, "hat1", 685, 19, [null, 20]], [20, "left", 697, 69, [19, 21, 22]], [21, ["number", "45"], 771, 78, [20, null]], [22, "repeat", 697, 108, [20, 23, 24, 30]], [23, ["number", "4"], 783, 117, [22, null]], [24, "forward", 792, 157, [22, 25, 26]], [25, ["number", "75"], 866, 166, [24, null]], [26, "back", 792, 196, [24, 27, 28]], [27, ["number", "75"], 866, 205, [26, null]], [28, "left", 792, 235, [26, 29, null]], [29, ["number", "90"], 866, 244, [28, null]], [30, "vspace", 697, 198, [22, 31]], [31, "right", 697, 267, [30, 32, 33]], [32, ["number", "45"], 771, 276, [31, null]], [33, "penup", 697, 306, [31, 34]], [34, "forward", 697, 345, [33, 35, 36]], [35, ["number", "90"], 771, 354, [34, null]], [36, "pendown", 697, 384, [34, 37]], [37, "setpensize", 697, 423, [36, 45, 38]], [38, "forward", 697, 477, [37, 39, 40]], [39, ["number", "1"], 771, 486, [38, null]], [40, "penup", 697, 516, [38, 41]], [41, "back", 697, 555, [40, 42, 43]], [42, ["number", "91"], 771, 564, [41, null]], [43, "pendown", 697, 594, [41, 44]], [44, "setpensize", 697, 633, [43, 48, null]], [45, "plus2", 771, 416, [37, 46, 47]], [46, "pensize", 811, 424, [45, null]], [47, ["number", "35"], 811, 457, [45, null]], [48, "minus2", 771, 626, [44, 49, 50]], [49, "pensize", 811, 634, [48, null]], [50, ["number", "35"], 830, 667, [48, null]], [51, "repeat", 227, 112, [0, 52, 53, null]], [52, ["number", "500"], 313, 121, [51, null]], [53, "penup", 322, 161, [51, 54]], [54, "setxy", 322, 200, [53, 55, 58, 61]], [55, "random", 396, 190, [54, 56, 57, null]], [56, ["number", "-600"], 424, 209, [55, null]], [57, ["number", "600"], 546, 209, [55, null]], [58, "random", 396, 227, [54, 59, 60, null]], [59, ["number", "-450"], 424, 246, [58, null]], [60, ["number", "450"], 546, 246, [58, null]], [61, "pendown", 322, 276, [54, 62]], [62, "stack2", 322, 315, [61, null]], [-1, "turtle", 562.0, -180.0, 0.0, 87.0, 50, 15.0]] \ No newline at end of file +[[0, "start", 215, 13, [null, 1]], [1, "clean", 227, 63, [0, 2]], [2, "setcolor", 227, 102, [1, 3, 4]], [3, ["number", "50"], 301, 119, [2, null]], [4, "setpensize", 227, 156, [2, 5, 6]], [5, ["number", "15"], 301, 173, [4, null]], [6, "repeat", 227, 210, [4, 7, 8, null]], [7, ["number", 360], 313, 219, [6, null]], [8, "setcolor", 322, 259, [6, 9, 14]], [9, "product2", 396, 252, [8, 10, 11]], [10, "heading", 436, 260, [9, null]], [11, "division2", 436, 269, [9, 12, 13]], [12, ["number", "100"], 476, 277, [11, null]], [13, ["number", 360], 495, 310, [11, null]], [14, "forward", 322, 313, [8, 15, 16]], [15, ["number", "1000"], 396, 322, [14, null]], [16, "back", 322, 352, [14, 17, 18]], [17, ["number", "1000"], 396, 361, [16, null]], [18, "right", 322, 391, [16, 19, null]], [19, ["number", 1], 396, 400, [18, null]], [-1, "turtle", 0.0, 0.0, 0.0, 99.722222222222229, 50, 15.0]] \ No newline at end of file diff --git a/samples/redwisp.ta b/samples/redwisp.ta index 5e791ea..806461f 100644 --- a/samples/redwisp.ta +++ b/samples/redwisp.ta @@ -1 +1 @@ -[[0, "clean", 227, 73, [1, 51]], [1, "start", 215, 23, [null, 0]], [2, "hat2", 220, 328, [null, 3]], [3, "setcolor", 232, 378, [2, 4, 7]], [4, "random", 306, 376, [3, 5, 6, null]], [5, ["number", "0"], 334, 395, [4, null]], [6, ["number", "100"], 456, 395, [4, null]], [7, "setpensize", 232, 432, [3, 8, 9]], [8, ["number", "40"], 306, 449, [7, null]], [9, "stack1", 232, 486, [7, 10]], [10, "setcolor", 232, 525, [9, 11, 14]], [11, "plus2", 306, 518, [10, 12, 13]], [12, "color", 346, 526, [11, null]], [13, ["number", "10"], 346, 559, [11, null]], [14, "setpensize", 232, 579, [10, 15, 18]], [15, "minus2", 306, 572, [14, 16, 17]], [16, "pensize", 346, 580, [15, null]], [17, ["number", "25"], 365, 613, [15, null]], [18, "stack1", 232, 633, [14, null]], [19, "hat1", 685, 19, [null, 20]], [20, "left", 697, 69, [19, 21, 22]], [21, ["number", "45"], 771, 78, [20, null]], [22, "repeat", 697, 108, [20, 23, 24, 30]], [23, ["number", "4"], 783, 117, [22, null]], [24, "forward", 792, 157, [22, 25, 26]], [25, ["number", "75"], 866, 166, [24, null]], [26, "back", 792, 196, [24, 27, 28]], [27, ["number", "75"], 866, 205, [26, null]], [28, "left", 792, 235, [26, 29, null]], [29, ["number", "90"], 866, 244, [28, null]], [30, "vspace", 697, 198, [22, 31]], [31, "right", 697, 267, [30, 32, 33]], [32, ["number", "45"], 771, 276, [31, null]], [33, "penup", 697, 306, [31, 34]], [34, "forward", 697, 345, [33, 35, 36]], [35, ["number", "90"], 771, 354, [34, null]], [36, "pendown", 697, 384, [34, 37]], [37, "setpensize", 697, 423, [36, 45, 38]], [38, "forward", 697, 477, [37, 39, 40]], [39, ["number", "1"], 771, 486, [38, null]], [40, "penup", 697, 516, [38, 41]], [41, "back", 697, 555, [40, 42, 43]], [42, ["number", "91"], 771, 564, [41, null]], [43, "pendown", 697, 594, [41, 44]], [44, "setpensize", 697, 633, [43, 48, null]], [45, "plus2", 771, 416, [37, 46, 47]], [46, "pensize", 811, 424, [45, null]], [47, ["number", "35"], 811, 457, [45, null]], [48, "minus2", 771, 626, [44, 49, 50]], [49, "pensize", 811, 634, [48, null]], [50, ["number", "35"], 830, 667, [48, null]], [51, "repeat", 227, 112, [0, 52, 53, null]], [52, ["number", "500"], 313, 121, [51, null]], [53, "penup", 322, 161, [51, 54]], [54, "setxy", 322, 200, [53, 55, 58, 61]], [55, "random", 396, 190, [54, 56, 57, null]], [56, ["number", "-600"], 424, 209, [55, null]], [57, ["number", "600"], 546, 209, [55, null]], [58, "random", 396, 227, [54, 59, 60, null]], [59, ["number", "-450"], 424, 246, [58, null]], [60, ["number", "450"], 546, 246, [58, null]], [61, "pendown", 322, 276, [54, 62]], [62, "stack2", 322, 315, [61, null]], [-1, "turtle", 562.0, -180.0, 0.0, 87.0, 50, 15.0]] \ No newline at end of file +[[0, "setpensize", 228, 140, [2, 1, 3]], [1, ["number", "15"], 302, 157, [0, null]], [2, "clean", 228, 101, [8, 0]], [3, "repeat", 228, 194, [0, 4, 5, null]], [4, ["number", "360"], 314, 203, [3, null]], [5, "storeinbox1", 323, 243, [3, 9, 6]], [6, "setshade", 323, 297, [5, 12, 7]], [7, "stack1", 323, 351, [6, null]], [8, "start", 216, 51, [null, 2]], [9, "product2", 397, 236, [5, 10, 11]], [10, "heading", 437, 244, [9, null]], [11, ["number", "600"], 437, 277, [9, null]], [12, "division2", 397, 290, [6, 13, 14]], [13, "box1", 437, 298, [12, null]], [14, ["number", "360"], 456, 331, [12, null]], [15, "hat1", 655, 14, [null, 16]], [16, "repeat", 667, 64, [15, 17, 18, 24]], [17, ["number", "4"], 753, 73, [16, null]], [18, "arc", 762, 113, [16, 19, 20, 21]], [19, ["number", "180"], 836, 122, [18, null]], [20, ["number", "75"], 836, 159, [18, null]], [21, "arc", 762, 189, [18, 22, 23, null]], [22, ["number", "-180"], 836, 198, [21, null]], [23, ["number", "75"], 836, 235, [21, null]], [24, "vspace", 667, 154, [16, 25]], [25, "vspace", 667, 223, [24, 26]], [26, "repeat", 667, 292, [25, 27, 28, 34]], [27, ["number", "4"], 753, 301, [26, null]], [28, "arc", 762, 341, [26, 29, 30, 31]], [29, ["number", "-180"], 836, 350, [28, null]], [30, ["number", "-75"], 836, 387, [28, null]], [31, "arc", 762, 417, [28, 32, 33, null]], [32, ["number", "180"], 836, 426, [31, null]], [33, ["number", "-75"], 836, 463, [31, null]], [34, "vspace", 667, 382, [26, 35]], [35, "vspace", 667, 451, [34, 36]], [36, "right", 667, 520, [35, 37, null]], [37, ["number", "1"], 741, 529, [36, null]], [-1, "turtle", 8.5265128291212022e-14, -6.5347727229436714e-13, 0.0, 0, 598.33333333333337, 15.0]] \ No newline at end of file diff --git a/samples/reflections.ta b/samples/reflections.ta index 5e791ea..28cdcd5 100644 --- a/samples/reflections.ta +++ b/samples/reflections.ta @@ -1 +1 @@ -[[0, "clean", 227, 73, [1, 51]], [1, "start", 215, 23, [null, 0]], [2, "hat2", 220, 328, [null, 3]], [3, "setcolor", 232, 378, [2, 4, 7]], [4, "random", 306, 376, [3, 5, 6, null]], [5, ["number", "0"], 334, 395, [4, null]], [6, ["number", "100"], 456, 395, [4, null]], [7, "setpensize", 232, 432, [3, 8, 9]], [8, ["number", "40"], 306, 449, [7, null]], [9, "stack1", 232, 486, [7, 10]], [10, "setcolor", 232, 525, [9, 11, 14]], [11, "plus2", 306, 518, [10, 12, 13]], [12, "color", 346, 526, [11, null]], [13, ["number", "10"], 346, 559, [11, null]], [14, "setpensize", 232, 579, [10, 15, 18]], [15, "minus2", 306, 572, [14, 16, 17]], [16, "pensize", 346, 580, [15, null]], [17, ["number", "25"], 365, 613, [15, null]], [18, "stack1", 232, 633, [14, null]], [19, "hat1", 685, 19, [null, 20]], [20, "left", 697, 69, [19, 21, 22]], [21, ["number", "45"], 771, 78, [20, null]], [22, "repeat", 697, 108, [20, 23, 24, 30]], [23, ["number", "4"], 783, 117, [22, null]], [24, "forward", 792, 157, [22, 25, 26]], [25, ["number", "75"], 866, 166, [24, null]], [26, "back", 792, 196, [24, 27, 28]], [27, ["number", "75"], 866, 205, [26, null]], [28, "left", 792, 235, [26, 29, null]], [29, ["number", "90"], 866, 244, [28, null]], [30, "vspace", 697, 198, [22, 31]], [31, "right", 697, 267, [30, 32, 33]], [32, ["number", "45"], 771, 276, [31, null]], [33, "penup", 697, 306, [31, 34]], [34, "forward", 697, 345, [33, 35, 36]], [35, ["number", "90"], 771, 354, [34, null]], [36, "pendown", 697, 384, [34, 37]], [37, "setpensize", 697, 423, [36, 45, 38]], [38, "forward", 697, 477, [37, 39, 40]], [39, ["number", "1"], 771, 486, [38, null]], [40, "penup", 697, 516, [38, 41]], [41, "back", 697, 555, [40, 42, 43]], [42, ["number", "91"], 771, 564, [41, null]], [43, "pendown", 697, 594, [41, 44]], [44, "setpensize", 697, 633, [43, 48, null]], [45, "plus2", 771, 416, [37, 46, 47]], [46, "pensize", 811, 424, [45, null]], [47, ["number", "35"], 811, 457, [45, null]], [48, "minus2", 771, 626, [44, 49, 50]], [49, "pensize", 811, 634, [48, null]], [50, ["number", "35"], 830, 667, [48, null]], [51, "repeat", 227, 112, [0, 52, 53, null]], [52, ["number", "500"], 313, 121, [51, null]], [53, "penup", 322, 161, [51, 54]], [54, "setxy", 322, 200, [53, 55, 58, 61]], [55, "random", 396, 190, [54, 56, 57, null]], [56, ["number", "-600"], 424, 209, [55, null]], [57, ["number", "600"], 546, 209, [55, null]], [58, "random", 396, 227, [54, 59, 60, null]], [59, ["number", "-450"], 424, 246, [58, null]], [60, ["number", "450"], 546, 246, [58, null]], [61, "pendown", 322, 276, [54, 62]], [62, "stack2", 322, 315, [61, null]], [-1, "turtle", 562.0, -180.0, 0.0, 87.0, 50, 15.0]] \ No newline at end of file +[[0, "clean", 243, 63, [16, 1]], [1, "setpensize", 243, 102, [0, 2, 3]], [2, ["number", "15"], 317, 119, [1, null]], [3, "storeinbox1", 243, 156, [1, 4, 5]], [4, ["number", "6200"], 317, 173, [3, null]], [5, "repeat", 243, 210, [3, 6, 7, null]], [6, ["number", "6200"], 329, 219, [5, null]], [7, "storeinbox2", 338, 259, [5, 23, 8]], [8, "setshade", 338, 313, [7, 17, 9]], [9, "forward", 338, 367, [8, 26, 10]], [10, "back", 338, 406, [9, 29, 11]], [11, "right", 338, 445, [10, 12, 13]], [12, ["number", "1"], 412, 454, [11, null]], [13, "storeinbox1", 338, 484, [11, 20, 14]], [14, "setcolor", 338, 538, [13, 15, null]], [15, "box1", 412, 555, [14, null]], [16, "start", 231, 13, [null, 0]], [17, "minus2", 412, 306, [8, 18, 19]], [18, ["number", "100"], 452, 314, [17, null]], [19, "box2", 471, 347, [17, null]], [20, "minus2", 412, 477, [13, 21, 22]], [21, "box1", 452, 485, [20, null]], [22, ["number", "1"], 471, 518, [20, null]], [23, "division2", 412, 252, [7, 24, 25]], [24, "box1", 452, 260, [23, null]], [25, ["number", "50"], 471, 293, [23, null]], [26, "division2", 412, 352, [9, 27, 28]], [27, "box1", 452, 360, [26, null]], [28, ["number", "8"], 471, 393, [26, null]], [29, "division2", 412, 391, [10, 30, 31]], [30, "box1", 452, 399, [29, null]], [31, ["number", "8"], 471, 432, [29, null]], [-1, "turtle", 0.0, 0.0, 115.0, 3205.0, 35.900000000000006, 15.0]] \ No newline at end of file diff --git a/samples/shape-and-color-game.ta b/samples/shape-and-color-game.ta index 34f0a6e..ec0a5a0 100644 --- a/samples/shape-and-color-game.ta +++ b/samples/shape-and-color-game.ta @@ -1 +1 @@ -[[0, "hat", 28, 522, [null, 1, 2]], [1, ["string", "circle"], 49, 549, [0, null]], [2, "penup", 66, 592, [0, 3]], [3, "seth", 66, 631, [2, 4, 5]], [4, ["number", "270"], 140, 640, [3, null]], [5, "forward", 66, 670, [3, 6, 7]], [6, ["number", "56"], 140, 679, [5, null]], [7, "seth", 66, 709, [5, 8, 9]], [8, ["number", "0"], 140, 718, [7, null]], [9, "pendown", 66, 748, [7, 10]], [10, "arc", 66, 787, [9, 11, 12, null]], [11, ["number", "360"], 140, 796, [10, null]], [12, ["number", "56"], 140, 833, [10, null]], [13, "hat", 182, 520, [null, 14, 15]], [14, ["string", "square"], 203, 547, [13, null]], [15, "penup", 220, 590, [13, 16]], [16, "seth", 220, 629, [15, 17, 18]], [17, ["number", "0"], 294, 638, [16, null]], [18, "back", 220, 668, [16, 19, 20]], [19, ["number", "50"], 294, 677, [18, null]], [20, "seth", 220, 707, [18, 21, 22]], [21, ["number", "270"], 294, 716, [20, null]], [22, "forward", 220, 746, [20, 23, 24]], [23, ["number", "50"], 294, 755, [22, null]], [24, "seth", 220, 785, [22, 25, 26]], [25, ["number", "0"], 294, 794, [24, null]], [26, "pendown", 220, 824, [24, 27]], [27, "repeat", 220, 863, [26, 28, 29, null]], [28, ["number", "4"], 306, 872, [27, null]], [29, "forward", 315, 912, [27, 30, 31]], [30, ["number", "100"], 389, 921, [29, null]], [31, "right", 315, 951, [29, 32, null]], [32, ["number", "90"], 389, 960, [31, null]], [33, "hat", 341, 519, [null, 34, 35]], [34, ["string", "triangle"], 362, 546, [33, null]], [35, "penup", 379, 589, [33, 36]], [36, "seth", 379, 628, [35, 37, 38]], [37, ["number", "270"], 453, 637, [36, null]], [38, "forward", 379, 667, [36, 39, 40]], [39, ["number", "60"], 453, 676, [38, null]], [40, "seth", 379, 706, [38, 41, 42]], [41, ["number", "0"], 453, 715, [40, null]], [42, "back", 379, 745, [40, 43, 44]], [43, ["number", "50"], 453, 754, [42, null]], [44, "seth", 379, 784, [42, 45, 46]], [45, ["number", "30"], 453, 793, [44, null]], [46, "pendown", 379, 823, [44, 47]], [47, "repeat", 379, 862, [46, 48, 49, 53]], [48, ["number", "3"], 465, 871, [47, null]], [49, "forward", 474, 911, [47, 50, 51]], [50, ["number", "120"], 548, 920, [49, null]], [51, "right", 474, 950, [49, 52, null]], [52, ["number", "120"], 548, 959, [51, null]], [53, "seth", 379, 952, [47, 54, null]], [54, ["number", "0"], 453, 961, [53, null]], [55, "hat", 502, 514, [null, 56, 57]], [56, ["string", "star"], 523, 541, [55, null]], [57, "penup", 540, 584, [55, 58]], [58, "seth", 540, 623, [57, 59, 60]], [59, ["number", "0"], 614, 632, [58, null]], [60, "back", 540, 662, [58, 61, 62]], [61, ["number", "44"], 614, 671, [60, null]], [62, "seth", 540, 701, [60, 63, 64]], [63, ["number", "270"], 614, 710, [62, null]], [64, "forward", 540, 740, [62, 65, 66]], [65, ["number", "30"], 614, 749, [64, null]], [66, "seth", 540, 779, [64, 67, 68]], [67, ["number", "18"], 614, 788, [66, null]], [68, "pendown", 540, 818, [66, 69]], [69, "repeat", 540, 857, [68, 70, 71, 75]], [70, ["number", "5"], 626, 866, [69, null]], [71, "forward", 635, 906, [69, 72, 73]], [72, ["number", "100"], 709, 915, [71, null]], [73, "right", 635, 945, [71, 74, null]], [74, ["number", "144"], 709, 954, [73, null]], [75, "seth", 540, 947, [69, 76, null]], [76, ["number", "0"], 614, 956, [75, null]], [77, "hat", 660, 515, [null, 78, 79]], [78, ["string", "shapes"], 681, 542, [77, null]], [79, "setpensize", 698, 585, [77, 80, 81]], [80, ["number", "10"], 772, 602, [79, null]], [81, "setxy", 698, 639, [79, 82, 83, 84]], [82, ["number", "-100"], 772, 648, [81, null]], [83, ["number", "100"], 772, 685, [81, null]], [84, "setcolor", 698, 715, [81, 85, 86]], [85, "pop", 772, 732, [84, null]], [86, "stack", 698, 769, [84, 87, 88]], [87, "pop", 710, 780, [86, null]], [88, "setxy", 698, 808, [86, 89, 90, 91]], [89, ["number", "100"], 772, 817, [88, null]], [90, ["number", "100"], 772, 854, [88, null]], [91, "setcolor", 698, 884, [88, 92, 93]], [92, "pop", 772, 901, [91, null]], [93, "stack", 698, 938, [91, 94, 95]], [94, "pop", 710, 949, [93, null]], [95, "setxy", 698, 977, [93, 96, 97, 98]], [96, ["number", "100"], 772, 986, [95, null]], [97, ["number", "-100"], 772, 1023, [95, null]], [98, "setcolor", 698, 1053, [95, 99, 100]], [99, "pop", 772, 1070, [98, null]], [100, "stack", 698, 1107, [98, 101, 102]], [101, "pop", 710, 1118, [100, null]], [102, "setxy", 698, 1146, [100, 103, 104, 105]], [103, ["number", "-100"], 772, 1155, [102, null]], [104, ["number", "-100"], 772, 1192, [102, null]], [105, "setcolor", 698, 1222, [102, 106, 107]], [106, "pop", 772, 1239, [105, null]], [107, "stack", 698, 1276, [105, 108, 109]], [108, "pop", 710, 1287, [107, null]], [109, "setxy", 698, 1315, [107, 110, 111, null]], [110, ["number", "0"], 772, 1324, [109, null]], [111, ["number", "0"], 772, 1361, [109, null]], [112, "hat", 840, 514, [null, 113, 114]], [113, ["string", "calculate distance"], 861, 541, [112, null]], [114, "storein", 878, 584, [112, 115, 116, 120]], [115, ["string", "dx"], 890, 611, [114, null]], [116, "minus2", 1008, 578, [114, 117, 119]], [117, "box", 1048, 581, [116, 118, null]], [118, ["string", "x"], 1066, 586, [117, null]], [119, "xcor", 1067, 619, [116, null]], [120, "storein", 878, 638, [114, 121, 122, 126]], [121, ["string", "dy"], 890, 665, [120, null]], [122, "minus2", 1008, 632, [120, 123, 125]], [123, "box", 1048, 635, [122, 124, null]], [124, ["string", "y"], 1066, 640, [123, null]], [125, "ycor", 1067, 673, [122, null]], [126, "storein", 878, 692, [120, 127, 128, null]], [127, ["string", "distance"], 890, 719, [126, null]], [128, "sqrt", 1008, 702, [126, 129]], [129, "plus2", 1050, 686, [128, 130, 136]], [130, "identity2", 1090, 658, [129, 131]], [131, "product2", 1130, 641, [130, 132, 134]], [132, "box", 1170, 644, [131, 133, null]], [133, ["string", "dx"], 1188, 649, [132, null]], [134, "box", 1170, 677, [131, 135, null]], [135, ["string", "dx"], 1188, 682, [134, null]], [136, "identity", 1090, 727, [129, 137]], [137, "product2", 1130, 731, [136, 138, 140]], [138, "box", 1170, 734, [137, 139, null]], [139, ["string", "dy"], 1188, 739, [138, null]], [140, "box", 1170, 767, [137, 141, null]], [141, ["string", "dy"], 1188, 772, [140, null]], [142, "hat", 145, 17, [null, 143, 144]], [143, ["string", "q1"], 166, 44, [142, null]], [144, "storein", 183, 87, [142, 145, 146, 147]], [145, ["string", "x"], 195, 114, [144, null]], [146, ["number", "100"], 313, 105, [144, null]], [147, "storein", 183, 141, [144, 148, 149, 150]], [148, ["string", "y"], 195, 168, [147, null]], [149, ["number", "100"], 313, 159, [147, null]], [150, "push", 183, 195, [147, 163, 151]], [151, "stack", 183, 234, [150, 152, null]], [152, ["string", "ask"], 195, 246, [151, null]], [153, "hat", 371, 11, [null, 161, 154]], [154, "storein", 409, 81, [153, 155, 165, 156]], [155, ["string", "x"], 421, 108, [154, null]], [156, "storein", 409, 135, [154, 157, 164, 158]], [157, ["string", "y"], 421, 162, [156, null]], [158, "push", 409, 189, [156, 162, 159]], [159, "stack", 409, 228, [158, 160, null]], [160, ["string", "ask"], 421, 240, [159, null]], [161, ["string", "q2"], 392, 38, [153, null]], [162, ["string", "Put the turtle in the red square."], 483, 199, [158, null]], [163, ["string", "Put the turtle in the blue triangle."], 257, 205, [150, null]], [164, ["number", "100"], 539, 153, [156, null]], [165, ["number", "-100"], 539, 99, [154, null]], [166, "hat", 143, 290, [null, 167, 168]], [167, ["string", "q3"], 164, 317, [166, null]], [168, "storein", 181, 360, [166, 169, 188, 170]], [169, ["string", "x"], 193, 387, [168, null]], [170, "storein", 181, 414, [168, 171, 172, 173]], [171, ["string", "y"], 193, 441, [170, null]], [172, ["number", "-100"], 311, 432, [170, null]], [173, "push", 181, 468, [170, 187, 174]], [174, "stack", 181, 507, [173, 175, null]], [175, ["string", "ask"], 193, 519, [174, null]], [176, "hat", 411, 283, [null, 177, 178]], [177, ["string", "fini"], 432, 310, [176, null]], [178, "storein", 449, 353, [176, 181, 179, 180]], [179, ["number", "0"], 579, 371, [178, null]], [180, "storein", 449, 407, [178, 182, 183, 184]], [181, ["string", "x"], 461, 380, [178, null]], [182, ["string", "y"], 461, 434, [180, null]], [183, ["number", "0"], 579, 425, [180, null]], [184, "push", 449, 461, [180, 189, 185]], [185, "stack", 449, 500, [184, 186, null]], [186, ["string", "ask"], 461, 512, [185, null]], [187, ["string", "Put the turtle in the red circle."], 255, 478, [173, null]], [188, ["number", "-100"], 311, 378, [168, null]], [189, ["string", "Well played!"], 523, 471, [184, null]], [190, "start", 601, 10, [null, 191]], [191, "storein", 613, 60, [190, 192, 193, 194]], [192, ["string", "blue"], 625, 87, [191, null]], [193, ["number", "70"], 743, 78, [191, null]], [194, "storein", 613, 114, [191, 195, 196, 197]], [195, ["string", "red"], 625, 141, [194, null]], [196, ["number", "0"], 743, 132, [194, null]], [197, "storein", 613, 168, [194, 198, 199, 200]], [198, ["string", "green"], 625, 195, [197, null]], [199, ["number", "30"], 743, 186, [197, null]], [200, "hideblocks", 613, 222, [197, 201]], [201, "stack", 613, 276, [200, 202, 203]], [202, ["string", "pattern a"], 625, 288, [201, null]], [203, "stack", 613, 315, [201, 204, 205]], [204, ["string", "q1"], 625, 327, [203, null]], [205, "stack", 613, 354, [203, 233, 206]], [206, "stack", 613, 393, [205, 207, 208]], [207, ["string", "q2"], 625, 405, [206, null]], [208, "stack", 613, 432, [206, 232, 209]], [209, "stack", 613, 471, [208, 210, 211]], [210, ["string", "q3"], 625, 483, [209, null]], [211, "stack", 613, 510, [209, 212, null]], [212, ["string", "fini"], 625, 522, [211, null]], [213, "hat", 1470, 5, [null, 214, 215]], [214, ["string", "answer"], 1491, 32, [213, null]], [215, "setxy", 1508, 75, [213, 216, 217, 218]], [216, ["number", "0"], 1582, 84, [215, null]], [217, ["number", "0"], 1582, 121, [215, null]], [218, "forever", 1508, 151, [215, 219, null]], [219, "stack", 1589, 165, [218, 220, 221]], [220, ["string", "calculate distance"], 1601, 177, [219, null]], [221, "if", 1589, 204, [219, 222, 226, 230]], [222, "less", 1669, 214, [221, 223, 225, null]], [223, "box", 1701, 218, [222, 224, null]], [224, ["string", "distance"], 1719, 223, [223, null]], [225, ["number", 100], 1850, 223, [222, null]], [226, "setxy", 1684, 278, [221, 227, 228, 229]], [227, ["number", "0"], 1758, 287, [226, null]], [228, ["number", "0"], 1758, 324, [226, null]], [229, "stopstack", 1684, 354, [226, null]], [230, "wait", 1589, 319, [221, 231, null]], [231, ["number", "10"], 1663, 328, [230, null]], [232, ["string", "pattern c"], 625, 444, [208, null]], [233, ["string", "pattern b"], 625, 366, [205, null]], [234, "hat", 815, 1, [null, 235, 236]], [235, ["string", "pattern a"], 836, 28, [234, null]], [236, "clean", 853, 71, [234, 237]], [237, "push", 853, 110, [236, 238, 239]], [238, ["string", "square"], 927, 120, [237, null]], [239, "push", 853, 149, [237, 240, 242]], [240, "box", 927, 153, [239, 241, null]], [241, ["string", "blue"], 945, 158, [240, null]], [242, "push", 853, 188, [239, 243, 244]], [243, ["string", "circle"], 927, 198, [242, null]], [244, "push", 853, 227, [242, 245, 247]], [245, "box", 927, 231, [244, 246, null]], [246, ["string", "green"], 945, 236, [245, null]], [247, "push", 853, 266, [244, 248, 249]], [248, ["string", "triangle"], 927, 276, [247, null]], [249, "push", 853, 305, [247, 250, 252]], [250, "box", 927, 309, [249, 251, null]], [251, ["string", "blue"], 945, 314, [250, null]], [252, "push", 853, 344, [249, 253, 254]], [253, ["string", "square"], 927, 354, [252, null]], [254, "push", 853, 383, [252, 255, 257]], [255, "box", 927, 387, [254, 256, null]], [256, ["string", "red"], 945, 392, [255, null]], [257, "stack", 853, 422, [254, 258, null]], [258, ["string", "shapes"], 865, 434, [257, null]], [259, "hat", 998, 2, [null, 260, 261]], [260, ["string", "pattern b"], 1019, 29, [259, null]], [261, "clean", 1036, 72, [259, 262]], [262, "push", 1036, 111, [261, 263, 264]], [263, ["string", "triangle"], 1110, 121, [262, null]], [264, "push", 1036, 150, [262, 265, 267]], [265, "box", 1110, 154, [264, 266, null]], [266, ["string", "red"], 1128, 159, [265, null]], [267, "push", 1036, 189, [264, 268, 269]], [268, ["string", "circle"], 1110, 199, [267, null]], [269, "push", 1036, 228, [267, 270, 272]], [270, "box", 1110, 232, [269, 271, null]], [271, ["string", "green"], 1128, 237, [270, null]], [272, "push", 1036, 267, [269, 273, 274]], [273, ["string", "square"], 1110, 277, [272, null]], [274, "push", 1036, 306, [272, 275, 277]], [275, "box", 1110, 310, [274, 276, null]], [276, ["string", "green"], 1128, 315, [275, null]], [277, "push", 1036, 345, [274, 278, 279]], [278, ["string", "square"], 1110, 355, [277, null]], [279, "push", 1036, 384, [277, 280, 282]], [280, "box", 1110, 388, [279, 281, null]], [281, ["string", "red"], 1128, 393, [280, null]], [282, "stack", 1036, 423, [279, 283, null]], [283, ["string", "shapes"], 1048, 435, [282, null]], [284, "hat", 1176, 5, [null, 285, 286]], [285, ["string", "pattern c"], 1197, 32, [284, null]], [286, "clean", 1214, 75, [284, 287]], [287, "push", 1214, 114, [286, 288, 289]], [288, ["string", "circle"], 1288, 124, [287, null]], [289, "push", 1214, 153, [287, 290, 292]], [290, "box", 1288, 157, [289, 291, null]], [291, ["string", "red"], 1306, 162, [290, null]], [292, "push", 1214, 192, [289, 293, 294]], [293, ["string", "circle"], 1288, 202, [292, null]], [294, "push", 1214, 231, [292, 295, 297]], [295, "box", 1288, 235, [294, 296, null]], [296, ["string", "green"], 1306, 240, [295, null]], [297, "push", 1214, 270, [294, 298, 299]], [298, ["string", "square"], 1288, 280, [297, null]], [299, "push", 1214, 309, [297, 300, 302]], [300, "box", 1288, 313, [299, 301, null]], [301, ["string", "blue"], 1306, 318, [300, null]], [302, "push", 1214, 348, [299, 303, 304]], [303, ["string", "triangle"], 1288, 358, [302, null]], [304, "push", 1214, 387, [302, 305, 307]], [305, "box", 1288, 391, [304, 306, null]], [306, ["string", "red"], 1306, 396, [305, null]], [307, "stack", 1214, 426, [304, 308, null]], [308, ["string", "shapes"], 1226, 438, [307, null]], [309, "hat", 1328, 5, [null, 310, 311]], [310, ["string", "ask"], 1349, 32, [309, null]], [311, "setxy", 1366, 75, [309, 312, 313, 314]], [312, ["number", "-300"], 1440, 84, [311, null]], [313, ["number", "300"], 1440, 121, [311, null]], [314, "seth", 1366, 151, [311, 315, 316]], [315, ["number", "90"], 1440, 160, [314, null]], [316, "setcolor", 1366, 190, [314, 317, 318]], [317, ["number", "0"], 1440, 207, [316, null]], [318, "setshade", 1366, 244, [316, 319, 320]], [319, ["number", "100"], 1440, 261, [318, null]], [320, "setpensize", 1366, 298, [318, 321, 322]], [321, ["number", "120"], 1440, 315, [320, null]], [322, "forward", 1366, 352, [320, 323, 324]], [323, ["number", "700"], 1440, 361, [322, null]], [324, "back", 1366, 391, [322, 325, 326]], [325, ["number", "700"], 1440, 400, [324, null]], [326, "setshade", 1366, 430, [324, 327, 328]], [327, ["number", "50"], 1440, 447, [326, null]], [328, "seth", 1366, 484, [326, 329, 330]], [329, ["number", "0"], 1440, 493, [328, null]], [330, "setxy", 1366, 523, [328, 331, 332, 333]], [331, ["number", "-300"], 1440, 532, [330, null]], [332, ["number", "300"], 1440, 569, [330, null]], [333, "settextsize", 1366, 599, [330, 334, 335]], [334, ["number", "24"], 1440, 616, [333, null]], [335, "show", 1366, 653, [333, 336, 337]], [336, "pop", 1440, 662, [335, null]], [337, "stack", 1366, 692, [335, 338, null]], [338, ["string", "answer"], 1378, 704, [337, null]], [-1, "turtle", 0.0, 0.0, 0.0, 0.0, 50.0, 120.0]] \ No newline at end of file +[[0, "hat", 28, 522, [null, 1, 2]], [1, ["string", "circle"], 49, 549, [0, null]], [2, "penup", 66, 592, [0, 3]], [3, "seth", 66, 631, [2, 4, 5]], [4, ["number", "270"], 140, 640, [3, null]], [5, "forward", 66, 670, [3, 6, 7]], [6, ["number", "56"], 140, 679, [5, null]], [7, "seth", 66, 709, [5, 8, 9]], [8, ["number", "0"], 140, 718, [7, null]], [9, "pendown", 66, 748, [7, 10]], [10, "arc", 66, 787, [9, 11, 12, null]], [11, ["number", "360"], 140, 796, [10, null]], [12, ["number", "56"], 140, 833, [10, null]], [13, "hat", 182, 520, [null, 14, 15]], [14, ["string", "square"], 203, 547, [13, null]], [15, "penup", 220, 590, [13, 16]], [16, "seth", 220, 629, [15, 17, 18]], [17, ["number", "0"], 294, 638, [16, null]], [18, "back", 220, 668, [16, 19, 20]], [19, ["number", "50"], 294, 677, [18, null]], [20, "seth", 220, 707, [18, 21, 22]], [21, ["number", "270"], 294, 716, [20, null]], [22, "forward", 220, 746, [20, 23, 24]], [23, ["number", "50"], 294, 755, [22, null]], [24, "seth", 220, 785, [22, 25, 26]], [25, ["number", "0"], 294, 794, [24, null]], [26, "pendown", 220, 824, [24, 27]], [27, "repeat", 220, 863, [26, 28, 29, null]], [28, ["number", "4"], 306, 872, [27, null]], [29, "forward", 315, 912, [27, 30, 31]], [30, ["number", "100"], 389, 921, [29, null]], [31, "right", 315, 951, [29, 32, null]], [32, ["number", "90"], 389, 960, [31, null]], [33, "hat", 341, 519, [null, 34, 35]], [34, ["string", "triangle"], 362, 546, [33, null]], [35, "penup", 379, 589, [33, 36]], [36, "seth", 379, 628, [35, 37, 38]], [37, ["number", "270"], 453, 637, [36, null]], [38, "forward", 379, 667, [36, 39, 40]], [39, ["number", "60"], 453, 676, [38, null]], [40, "seth", 379, 706, [38, 41, 42]], [41, ["number", "0"], 453, 715, [40, null]], [42, "back", 379, 745, [40, 43, 44]], [43, ["number", "50"], 453, 754, [42, null]], [44, "seth", 379, 784, [42, 45, 46]], [45, ["number", "30"], 453, 793, [44, null]], [46, "pendown", 379, 823, [44, 47]], [47, "repeat", 379, 862, [46, 48, 49, 53]], [48, ["number", "3"], 465, 871, [47, null]], [49, "forward", 474, 911, [47, 50, 51]], [50, ["number", "120"], 548, 920, [49, null]], [51, "right", 474, 950, [49, 52, null]], [52, ["number", "120"], 548, 959, [51, null]], [53, "seth", 379, 952, [47, 54, null]], [54, ["number", "0"], 453, 961, [53, null]], [55, "hat", 502, 514, [null, 56, 57]], [56, ["string", "star"], 523, 541, [55, null]], [57, "penup", 540, 584, [55, 58]], [58, "seth", 540, 623, [57, 59, 60]], [59, ["number", "0"], 614, 632, [58, null]], [60, "back", 540, 662, [58, 61, 62]], [61, ["number", "44"], 614, 671, [60, null]], [62, "seth", 540, 701, [60, 63, 64]], [63, ["number", "270"], 614, 710, [62, null]], [64, "forward", 540, 740, [62, 65, 66]], [65, ["number", "30"], 614, 749, [64, null]], [66, "seth", 540, 779, [64, 67, 68]], [67, ["number", "18"], 614, 788, [66, null]], [68, "pendown", 540, 818, [66, 69]], [69, "repeat", 540, 857, [68, 70, 71, 75]], [70, ["number", "5"], 626, 866, [69, null]], [71, "forward", 635, 906, [69, 72, 73]], [72, ["number", "100"], 709, 915, [71, null]], [73, "right", 635, 945, [71, 74, null]], [74, ["number", "144"], 709, 954, [73, null]], [75, "seth", 540, 947, [69, 76, null]], [76, ["number", "0"], 614, 956, [75, null]], [77, "hat", 660, 515, [null, 78, 79]], [78, ["string", "shapes"], 681, 542, [77, null]], [79, "setpensize", 698, 585, [77, 80, 81]], [80, ["number", "10"], 772, 602, [79, null]], [81, "setxy", 698, 639, [79, 82, 83, 84]], [82, ["number", "-100"], 772, 648, [81, null]], [83, ["number", "100"], 772, 685, [81, null]], [84, "setcolor", 698, 715, [81, 85, 86]], [85, "pop", 772, 732, [84, null]], [86, "stack", 698, 769, [84, 87, 88]], [87, "pop", 710, 780, [86, null]], [88, "setxy", 698, 808, [86, 89, 90, 91]], [89, ["number", "100"], 772, 817, [88, null]], [90, ["number", "100"], 772, 854, [88, null]], [91, "setcolor", 698, 884, [88, 92, 93]], [92, "pop", 772, 901, [91, null]], [93, "stack", 698, 938, [91, 94, 95]], [94, "pop", 710, 949, [93, null]], [95, "setxy", 698, 977, [93, 96, 97, 98]], [96, ["number", "100"], 772, 986, [95, null]], [97, ["number", "-100"], 772, 1023, [95, null]], [98, "setcolor", 698, 1053, [95, 99, 100]], [99, "pop", 772, 1070, [98, null]], [100, "stack", 698, 1107, [98, 101, 102]], [101, "pop", 710, 1118, [100, null]], [102, "setxy", 698, 1146, [100, 103, 104, 105]], [103, ["number", "-100"], 772, 1155, [102, null]], [104, ["number", "-100"], 772, 1192, [102, null]], [105, "setcolor", 698, 1222, [102, 106, 107]], [106, "pop", 772, 1239, [105, null]], [107, "stack", 698, 1276, [105, 108, 109]], [108, "pop", 710, 1287, [107, null]], [109, "setxy", 698, 1315, [107, 110, 111, null]], [110, ["number", "0"], 772, 1324, [109, null]], [111, ["number", "0"], 772, 1361, [109, null]], [112, "hat", 840, 514, [null, 113, 114]], [113, ["string", "calculate distance"], 861, 541, [112, null]], [114, "storein", 878, 584, [112, 115, 116, 120]], [115, ["string", "dx"], 890, 611, [114, null]], [116, "minus2", 1008, 578, [114, 117, 119]], [117, "box", 1048, 581, [116, 118, null]], [118, ["string", "x"], 1066, 586, [117, null]], [119, "xcor", 1067, 619, [116, null]], [120, "storein", 878, 638, [114, 121, 122, 126]], [121, ["string", "dy"], 890, 665, [120, null]], [122, "minus2", 1008, 632, [120, 123, 125]], [123, "box", 1048, 635, [122, 124, null]], [124, ["string", "y"], 1066, 640, [123, null]], [125, "ycor", 1067, 673, [122, null]], [126, "storein", 878, 692, [120, 127, 128, null]], [127, ["string", "distance"], 890, 719, [126, null]], [128, "sqrt", 1008, 702, [126, 129]], [129, "plus2", 1050, 686, [128, 130, 136]], [130, "identity2", 1090, 658, [129, 131]], [131, "product2", 1130, 641, [130, 132, 134]], [132, "box", 1170, 644, [131, 133, null]], [133, ["string", "dx"], 1188, 649, [132, null]], [134, "box", 1170, 677, [131, 135, null]], [135, ["string", "dx"], 1188, 682, [134, null]], [136, "identity", 1090, 727, [129, 137]], [137, "product2", 1130, 731, [136, 138, 140]], [138, "box", 1170, 734, [137, 139, null]], [139, ["string", "dy"], 1188, 739, [138, null]], [140, "box", 1170, 767, [137, 141, null]], [141, ["string", "dy"], 1188, 772, [140, null]], [142, "hat", 145, 17, [null, 143, 144]], [143, ["string", "q1"], 166, 44, [142, null]], [144, "storein", 183, 87, [142, 145, 146, 147]], [145, ["string", "x"], 195, 114, [144, null]], [146, ["number", "100"], 313, 105, [144, null]], [147, "storein", 183, 141, [144, 148, 149, 150]], [148, ["string", "y"], 195, 168, [147, null]], [149, ["number", "100"], 313, 159, [147, null]], [150, "push", 183, 195, [147, 163, 151]], [151, "stack", 183, 234, [150, 152, null]], [152, ["string", "ask"], 195, 246, [151, null]], [153, "hat", 371, 11, [null, 161, 154]], [154, "storein", 409, 81, [153, 155, 165, 156]], [155, ["string", "x"], 421, 108, [154, null]], [156, "storein", 409, 135, [154, 157, 164, 158]], [157, ["string", "y"], 421, 162, [156, null]], [158, "push", 409, 189, [156, 162, 159]], [159, "stack", 409, 228, [158, 160, null]], [160, ["string", "ask"], 421, 240, [159, null]], [161, ["string", "q2"], 392, 38, [153, null]], [162, ["string", "Put the turtle in the red square."], 483, 199, [158, null]], [163, ["string", "Put the turtle in the blue triangle."], 257, 205, [150, null]], [164, ["number", "100"], 539, 153, [156, null]], [165, ["number", "-100"], 539, 99, [154, null]], [166, "hat", 143, 290, [null, 167, 168]], [167, ["string", "q3"], 164, 317, [166, null]], [168, "storein", 181, 360, [166, 169, 188, 170]], [169, ["string", "x"], 193, 387, [168, null]], [170, "storein", 181, 414, [168, 171, 172, 173]], [171, ["string", "y"], 193, 441, [170, null]], [172, ["number", "-100"], 311, 432, [170, null]], [173, "push", 181, 468, [170, 187, 174]], [174, "stack", 181, 507, [173, 175, null]], [175, ["string", "ask"], 193, 519, [174, null]], [176, "hat", 411, 283, [null, 177, 178]], [177, ["string", "fini"], 432, 310, [176, null]], [178, "storein", 449, 353, [176, 181, 179, 180]], [179, ["number", "0"], 579, 371, [178, null]], [180, "storein", 449, 407, [178, 182, 183, 184]], [181, ["string", "x"], 461, 380, [178, null]], [182, ["string", "y"], 461, 434, [180, null]], [183, ["number", "0"], 579, 425, [180, null]], [184, "push", 449, 461, [180, 189, 185]], [185, "stack", 449, 500, [184, 186, null]], [186, ["string", "ask"], 461, 512, [185, null]], [187, ["string", "Put the turtle in the red circle."], 255, 478, [173, null]], [188, ["number", "-100"], 311, 378, [168, null]], [189, ["string", "Well played!"], 523, 471, [184, null]], [190, "start", 601, 10, [null, 191]], [191, "storein", 613, 60, [190, 192, 193, 194]], [192, ["string", "blue"], 625, 87, [191, null]], [193, ["number", "70"], 743, 78, [191, null]], [194, "storein", 613, 114, [191, 195, 196, 197]], [195, ["string", "red"], 625, 141, [194, null]], [196, ["number", "0"], 743, 132, [194, null]], [197, "storein", 613, 168, [194, 198, 199, 200]], [198, ["string", "green"], 625, 195, [197, null]], [199, ["number", "30"], 743, 186, [197, null]], [200, "hideblocks", 613, 222, [197, 201]], [201, "stack", 613, 276, [200, 202, 203]], [202, ["string", "pattern a"], 625, 288, [201, null]], [203, "stack", 613, 315, [201, 204, 205]], [204, ["string", "q1"], 625, 327, [203, null]], [205, "stack", 613, 354, [203, 233, 206]], [206, "stack", 613, 393, [205, 207, 208]], [207, ["string", "q2"], 625, 405, [206, null]], [208, "stack", 613, 432, [206, 232, 209]], [209, "stack", 613, 471, [208, 210, 211]], [210, ["string", "q3"], 625, 483, [209, null]], [211, "stack", 613, 510, [209, 212, null]], [212, ["string", "fini"], 625, 522, [211, null]], [213, "hat", 1470, 5, [null, 214, 215]], [214, ["string", "answer"], 1491, 32, [213, null]], [215, "setxy", 1508, 75, [213, 216, 217, 218]], [216, ["number", "0"], 1582, 84, [215, null]], [217, ["number", "0"], 1582, 121, [215, null]], [218, "forever", 1508, 151, [215, 219, null]], [219, "stack", 1589, 165, [218, 220, 221]], [220, ["string", "calculate distance"], 1601, 177, [219, null]], [221, "if", 1589, 204, [219, 222, 226, 230]], [222, "less", 1669, 214, [221, 223, 225, null]], [223, "box", 1701, 218, [222, 224, null]], [224, ["string", "distance"], 1719, 223, [223, null]], [225, ["number", 100], 1850, 223, [222, null]], [226, "setxy", 1684, 278, [221, 227, 228, 229]], [227, ["number", "0"], 1758, 287, [226, null]], [228, ["number", "0"], 1758, 324, [226, null]], [229, "stopstack", 1684, 354, [226, null]], [230, "wait", 1589, 319, [221, 231, null]], [231, ["number", "1"], 1663, 328, [230, null]], [232, ["string", "pattern c"], 625, 444, [208, null]], [233, ["string", "pattern b"], 625, 366, [205, null]], [234, "hat", 815, 1, [null, 235, 236]], [235, ["string", "pattern a"], 836, 28, [234, null]], [236, "clean", 853, 71, [234, 237]], [237, "push", 853, 110, [236, 238, 239]], [238, ["string", "square"], 927, 120, [237, null]], [239, "push", 853, 149, [237, 240, 242]], [240, "box", 927, 153, [239, 241, null]], [241, ["string", "blue"], 945, 158, [240, null]], [242, "push", 853, 188, [239, 243, 244]], [243, ["string", "circle"], 927, 198, [242, null]], [244, "push", 853, 227, [242, 245, 247]], [245, "box", 927, 231, [244, 246, null]], [246, ["string", "green"], 945, 236, [245, null]], [247, "push", 853, 266, [244, 248, 249]], [248, ["string", "triangle"], 927, 276, [247, null]], [249, "push", 853, 305, [247, 250, 252]], [250, "box", 927, 309, [249, 251, null]], [251, ["string", "blue"], 945, 314, [250, null]], [252, "push", 853, 344, [249, 253, 254]], [253, ["string", "square"], 927, 354, [252, null]], [254, "push", 853, 383, [252, 255, 257]], [255, "box", 927, 387, [254, 256, null]], [256, ["string", "red"], 945, 392, [255, null]], [257, "stack", 853, 422, [254, 258, null]], [258, ["string", "shapes"], 865, 434, [257, null]], [259, "hat", 998, 2, [null, 260, 261]], [260, ["string", "pattern b"], 1019, 29, [259, null]], [261, "clean", 1036, 72, [259, 262]], [262, "push", 1036, 111, [261, 263, 264]], [263, ["string", "triangle"], 1110, 121, [262, null]], [264, "push", 1036, 150, [262, 265, 267]], [265, "box", 1110, 154, [264, 266, null]], [266, ["string", "red"], 1128, 159, [265, null]], [267, "push", 1036, 189, [264, 268, 269]], [268, ["string", "circle"], 1110, 199, [267, null]], [269, "push", 1036, 228, [267, 270, 272]], [270, "box", 1110, 232, [269, 271, null]], [271, ["string", "green"], 1128, 237, [270, null]], [272, "push", 1036, 267, [269, 273, 274]], [273, ["string", "square"], 1110, 277, [272, null]], [274, "push", 1036, 306, [272, 275, 277]], [275, "box", 1110, 310, [274, 276, null]], [276, ["string", "green"], 1128, 315, [275, null]], [277, "push", 1036, 345, [274, 278, 279]], [278, ["string", "square"], 1110, 355, [277, null]], [279, "push", 1036, 384, [277, 280, 282]], [280, "box", 1110, 388, [279, 281, null]], [281, ["string", "red"], 1128, 393, [280, null]], [282, "stack", 1036, 423, [279, 283, null]], [283, ["string", "shapes"], 1048, 435, [282, null]], [284, "hat", 1176, 5, [null, 285, 286]], [285, ["string", "pattern c"], 1197, 32, [284, null]], [286, "clean", 1214, 75, [284, 287]], [287, "push", 1214, 114, [286, 288, 289]], [288, ["string", "circle"], 1288, 124, [287, null]], [289, "push", 1214, 153, [287, 290, 292]], [290, "box", 1288, 157, [289, 291, null]], [291, ["string", "red"], 1306, 162, [290, null]], [292, "push", 1214, 192, [289, 293, 294]], [293, ["string", "circle"], 1288, 202, [292, null]], [294, "push", 1214, 231, [292, 295, 297]], [295, "box", 1288, 235, [294, 296, null]], [296, ["string", "green"], 1306, 240, [295, null]], [297, "push", 1214, 270, [294, 298, 299]], [298, ["string", "square"], 1288, 280, [297, null]], [299, "push", 1214, 309, [297, 300, 302]], [300, "box", 1288, 313, [299, 301, null]], [301, ["string", "blue"], 1306, 318, [300, null]], [302, "push", 1214, 348, [299, 303, 304]], [303, ["string", "triangle"], 1288, 358, [302, null]], [304, "push", 1214, 387, [302, 305, 307]], [305, "box", 1288, 391, [304, 306, null]], [306, ["string", "red"], 1306, 396, [305, null]], [307, "stack", 1214, 426, [304, 308, null]], [308, ["string", "shapes"], 1226, 438, [307, null]], [309, "hat", 1328, 5, [null, 310, 311]], [310, ["string", "ask"], 1349, 32, [309, null]], [311, "setxy", 1366, 75, [309, 312, 313, 314]], [312, ["number", "-300"], 1440, 84, [311, null]], [313, ["number", "300"], 1440, 121, [311, null]], [314, "seth", 1366, 151, [311, 315, 316]], [315, ["number", "90"], 1440, 160, [314, null]], [316, "setcolor", 1366, 190, [314, 317, 318]], [317, ["number", "0"], 1440, 207, [316, null]], [318, "setshade", 1366, 244, [316, 319, 320]], [319, ["number", "100"], 1440, 261, [318, null]], [320, "setpensize", 1366, 298, [318, 321, 322]], [321, ["number", "120"], 1440, 315, [320, null]], [322, "forward", 1366, 352, [320, 323, 324]], [323, ["number", "700"], 1440, 361, [322, null]], [324, "back", 1366, 391, [322, 325, 326]], [325, ["number", "700"], 1440, 400, [324, null]], [326, "setshade", 1366, 430, [324, 327, 328]], [327, ["number", "50"], 1440, 447, [326, null]], [328, "seth", 1366, 484, [326, 329, 330]], [329, ["number", "0"], 1440, 493, [328, null]], [330, "setxy", 1366, 523, [328, 331, 332, 333]], [331, ["number", "-300"], 1440, 532, [330, null]], [332, ["number", "300"], 1440, 569, [330, null]], [333, "settextsize", 1366, 599, [330, 334, 335]], [334, ["number", "24"], 1440, 616, [333, null]], [335, "show", 1366, 653, [333, 336, 337]], [336, "pop", 1440, 662, [335, null]], [337, "stack", 1366, 692, [335, 338, null]], [338, ["string", "answer"], 1378, 704, [337, null]], [-1, "turtle", 0.0, 0.0, 0.0, 0.0, 50.0, 120.0]] \ No newline at end of file diff --git a/samples/smoothcandy.ta b/samples/smoothcandy.ta index 5e791ea..e236eb9 100644 --- a/samples/smoothcandy.ta +++ b/samples/smoothcandy.ta @@ -1 +1 @@ -[[0, "clean", 227, 73, [1, 51]], [1, "start", 215, 23, [null, 0]], [2, "hat2", 220, 328, [null, 3]], [3, "setcolor", 232, 378, [2, 4, 7]], [4, "random", 306, 376, [3, 5, 6, null]], [5, ["number", "0"], 334, 395, [4, null]], [6, ["number", "100"], 456, 395, [4, null]], [7, "setpensize", 232, 432, [3, 8, 9]], [8, ["number", "40"], 306, 449, [7, null]], [9, "stack1", 232, 486, [7, 10]], [10, "setcolor", 232, 525, [9, 11, 14]], [11, "plus2", 306, 518, [10, 12, 13]], [12, "color", 346, 526, [11, null]], [13, ["number", "10"], 346, 559, [11, null]], [14, "setpensize", 232, 579, [10, 15, 18]], [15, "minus2", 306, 572, [14, 16, 17]], [16, "pensize", 346, 580, [15, null]], [17, ["number", "25"], 365, 613, [15, null]], [18, "stack1", 232, 633, [14, null]], [19, "hat1", 685, 19, [null, 20]], [20, "left", 697, 69, [19, 21, 22]], [21, ["number", "45"], 771, 78, [20, null]], [22, "repeat", 697, 108, [20, 23, 24, 30]], [23, ["number", "4"], 783, 117, [22, null]], [24, "forward", 792, 157, [22, 25, 26]], [25, ["number", "75"], 866, 166, [24, null]], [26, "back", 792, 196, [24, 27, 28]], [27, ["number", "75"], 866, 205, [26, null]], [28, "left", 792, 235, [26, 29, null]], [29, ["number", "90"], 866, 244, [28, null]], [30, "vspace", 697, 198, [22, 31]], [31, "right", 697, 267, [30, 32, 33]], [32, ["number", "45"], 771, 276, [31, null]], [33, "penup", 697, 306, [31, 34]], [34, "forward", 697, 345, [33, 35, 36]], [35, ["number", "90"], 771, 354, [34, null]], [36, "pendown", 697, 384, [34, 37]], [37, "setpensize", 697, 423, [36, 45, 38]], [38, "forward", 697, 477, [37, 39, 40]], [39, ["number", "1"], 771, 486, [38, null]], [40, "penup", 697, 516, [38, 41]], [41, "back", 697, 555, [40, 42, 43]], [42, ["number", "91"], 771, 564, [41, null]], [43, "pendown", 697, 594, [41, 44]], [44, "setpensize", 697, 633, [43, 48, null]], [45, "plus2", 771, 416, [37, 46, 47]], [46, "pensize", 811, 424, [45, null]], [47, ["number", "35"], 811, 457, [45, null]], [48, "minus2", 771, 626, [44, 49, 50]], [49, "pensize", 811, 634, [48, null]], [50, ["number", "35"], 830, 667, [48, null]], [51, "repeat", 227, 112, [0, 52, 53, null]], [52, ["number", "500"], 313, 121, [51, null]], [53, "penup", 322, 161, [51, 54]], [54, "setxy", 322, 200, [53, 55, 58, 61]], [55, "random", 396, 190, [54, 56, 57, null]], [56, ["number", "-600"], 424, 209, [55, null]], [57, ["number", "600"], 546, 209, [55, null]], [58, "random", 396, 227, [54, 59, 60, null]], [59, ["number", "-450"], 424, 246, [58, null]], [60, ["number", "450"], 546, 246, [58, null]], [61, "pendown", 322, 276, [54, 62]], [62, "stack2", 322, 315, [61, null]], [-1, "turtle", 562.0, -180.0, 0.0, 87.0, 50, 15.0]] \ No newline at end of file +[[0, "start", 201, 14, [null, 1]], [1, "clean", 213, 64, [0, 2]], [2, "repeat", 213, 103, [1, 3, 4, null]], [3, ["number", 350], 299, 112, [2, null]], [4, "setpensize", 308, 152, [2, 23, 5]], [5, "forward", 308, 206, [4, 6, 7]], [6, ["number", "1000"], 382, 215, [5, null]], [7, "setcolor", 308, 245, [5, 20, 8]], [8, "storeinbox1", 308, 299, [7, 17, 9]], [9, "setshade", 308, 353, [8, 14, 10]], [10, "back", 308, 407, [9, 11, 12]], [11, ["number", "1000"], 382, 416, [10, null]], [12, "left", 308, 446, [10, 13, null]], [13, ["number", 1], 382, 455, [12, null]], [14, "minus2", 382, 346, [9, 15, 16]], [15, ["number", 100], 422, 354, [14, null]], [16, "box1", 441, 387, [14, null]], [17, "division2", 382, 292, [8, 18, 19]], [18, "heading", 422, 300, [17, null]], [19, ["number", 2], 441, 333, [17, null]], [20, "division2", 382, 238, [7, 21, 22]], [21, "heading", 422, 246, [20, null]], [22, ["number", 3], 441, 279, [20, null]], [23, "plus2", 382, 145, [4, 24, 25]], [24, "heading", 422, 153, [23, null]], [25, ["number", 4], 422, 186, [23, null]], [-1, "turtle", 0.0, 0.0, 10.0, 3.6666666666666665, 94.5, 15.0]] \ No newline at end of file diff --git a/samples/xo-child.ta b/samples/xo-child.ta new file mode 100644 index 0000000..5f733ac --- /dev/null +++ b/samples/xo-child.ta @@ -0,0 +1 @@ +[[0, "clean", 227, 73, [1, 51]], [1, "start", 215, 23, [null, 0]], [2, "hat2", 220, 328, [null, 3]], [3, "setcolor", 232, 378, [2, 4, 7]], [4, "random", 306, 376, [3, 5, 6, null]], [5, ["number", "0"], 334, 395, [4, null]], [6, ["number", "100"], 456, 395, [4, null]], [7, "setpensize", 232, 432, [3, 8, 9]], [8, ["number", "40"], 306, 449, [7, null]], [9, "stack1", 232, 486, [7, 10]], [10, "setcolor", 232, 525, [9, 11, 14]], [11, "plus2", 306, 518, [10, 12, 13]], [12, "color", 346, 526, [11, null]], [13, ["number", "10"], 346, 559, [11, null]], [14, "setpensize", 232, 579, [10, 15, 18]], [15, "minus2", 306, 572, [14, 16, 17]], [16, "pensize", 346, 580, [15, null]], [17, ["number", "25"], 365, 613, [15, null]], [18, "stack1", 232, 633, [14, null]], [19, "hat1", 685, 19, [null, 20]], [20, "left", 697, 69, [19, 21, 22]], [21, ["number", "45"], 771, 78, [20, null]], [22, "repeat", 697, 108, [20, 23, 24, 30]], [23, ["number", "4"], 783, 117, [22, null]], [24, "forward", 792, 157, [22, 25, 26]], [25, ["number", "75"], 866, 166, [24, null]], [26, "back", 792, 196, [24, 27, 28]], [27, ["number", "75"], 866, 205, [26, null]], [28, "left", 792, 235, [26, 29, null]], [29, ["number", "90"], 866, 244, [28, null]], [30, "vspace", 697, 198, [22, 31]], [31, "right", 697, 267, [30, 32, 33]], [32, ["number", "45"], 771, 276, [31, null]], [33, "penup", 697, 306, [31, 34]], [34, "forward", 697, 345, [33, 35, 36]], [35, ["number", "90"], 771, 354, [34, null]], [36, "pendown", 697, 384, [34, 37]], [37, "setpensize", 697, 423, [36, 45, 38]], [38, "forward", 697, 477, [37, 39, 40]], [39, ["number", "1"], 771, 486, [38, null]], [40, "penup", 697, 516, [38, 41]], [41, "back", 697, 555, [40, 42, 43]], [42, ["number", "91"], 771, 564, [41, null]], [43, "pendown", 697, 594, [41, 44]], [44, "setpensize", 697, 633, [43, 48, null]], [45, "plus2", 771, 416, [37, 46, 47]], [46, "pensize", 811, 424, [45, null]], [47, ["number", "35"], 811, 457, [45, null]], [48, "minus2", 771, 626, [44, 49, 50]], [49, "pensize", 811, 634, [48, null]], [50, ["number", "35"], 830, 667, [48, null]], [51, "repeat", 227, 112, [0, 52, 53, null]], [52, ["number", "500"], 313, 121, [51, null]], [53, "penup", 322, 161, [51, 54]], [54, "setxy", 322, 200, [53, 55, 58, 61]], [55, "random", 396, 190, [54, 56, 57, null]], [56, ["number", "-600"], 424, 209, [55, null]], [57, ["number", "600"], 546, 209, [55, null]], [58, "random", 396, 227, [54, 59, 60, null]], [59, ["number", "-450"], 424, 246, [58, null]], [60, ["number", "450"], 546, 246, [58, null]], [61, "pendown", 322, 276, [54, 62]], [62, "stack2", 322, 315, [61, null]], [-1, "turtle", 465.0, -215.00000000000003, 0.0, 18.0, 50, 15.0]] \ No newline at end of file diff --git a/svg/and.py b/svg/and.py index 17352c9..17352c9 100644..100755 --- a/svg/and.py +++ b/svg/and.py diff --git a/svg/arc.py b/svg/arc.py index a256b6a..a256b6a 100644..100755 --- a/svg/arc.py +++ b/svg/arc.py diff --git a/svg/back.py b/svg/back.py index 3cd67d2..3cd67d2 100644..100755 --- a/svg/back.py +++ b/svg/back.py diff --git a/svg/bottompos.py b/svg/bottompos.py index c166441..c166441 100644..100755 --- a/svg/bottompos.py +++ b/svg/bottompos.py diff --git a/svg/box1.py b/svg/box1.py index 0fbdfef..0fbdfef 100644..100755 --- a/svg/box1.py +++ b/svg/box1.py diff --git a/svg/box2.py b/svg/box2.py index 357f922..357f922 100644..100755 --- a/svg/box2.py +++ b/svg/box2.py diff --git a/svg/clean.py b/svg/clean.py index 1847c46..1847c46 100644..100755 --- a/svg/clean.py +++ b/svg/clean.py diff --git a/svg/clearheap.py b/svg/clearheap.py index 65a6101..65a6101 100644..100755 --- a/svg/clearheap.py +++ b/svg/clearheap.py diff --git a/svg/color.py b/svg/color.py index cbfd74a..cbfd74a 100644..100755 --- a/svg/color.py +++ b/svg/color.py diff --git a/svg/fillscreen.py b/svg/fillscreen.py index 4f4b249..4f4b249 100644..100755 --- a/svg/fillscreen.py +++ b/svg/fillscreen.py diff --git a/svg/flowgroup.py b/svg/flowgroup.py index 8b70b44..8b70b44 100644..100755 --- a/svg/flowgroup.py +++ b/svg/flowgroup.py diff --git a/svg/forever.py b/svg/forever.py index 4961b3c..4961b3c 100644..100755 --- a/svg/forever.py +++ b/svg/forever.py diff --git a/svg/forward.py b/svg/forward.py index 5a5cb8e..5a5cb8e 100644..100755 --- a/svg/forward.py +++ b/svg/forward.py diff --git a/svg/hat1.py b/svg/hat1.py index f1bc124..f1bc124 100644..100755 --- a/svg/hat1.py +++ b/svg/hat1.py diff --git a/svg/hat2.py b/svg/hat2.py index 23d64e7..23d64e7 100644..100755 --- a/svg/hat2.py +++ b/svg/hat2.py diff --git a/svg/heading.py b/svg/heading.py index b5e546a..b5e546a 100644..100755 --- a/svg/heading.py +++ b/svg/heading.py diff --git a/svg/height.py b/svg/height.py new file mode 100755 index 0000000..ec919a3 --- /dev/null +++ b/svg/height.py @@ -0,0 +1,105 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +#Copyright (c) 2009, Sugar Labs + +#Permission is hereby granted, free of charge, to any person obtaining a copy +#of this software and associated documentation files (the "Software"), to deal +#in the Software without restriction, including without limitation the rights +#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +#copies of the Software, and to permit persons to whom the Software is +#furnished to do so, subject to the following conditions: + +#The above copyright notice and this permission notice shall be included in +#all copies or substantial portions of the Software. + +#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +#THE SOFTWARE. + +import sys +import os +import os.path +import gettext + +def main(): + + myname = "vres" + if len(sys.argv) != 2: + print "Error: Usage is " + myname + ".py lang" + return + + t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) + _ = t.ugettext + t.install() + + mystring = _("height") + mygroup = "sensors" + + print mystring + + data0 = \ +" \n \ + \n \ + \n \ + \n \ + \n \ + \n \ + \n \ + \n \ + \n \ + \n \ + \n \ + \n \ + " + + data1 = \ +" \n \ + \n \ + \n" + + + FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") + FILE.write(data0) + FILE.write(mystring.encode("utf-8")) + FILE.write(data1) + FILE.close() + return + +if __name__ == "__main__": + main() diff --git a/svg/hideblocks.py b/svg/hideblocks.py index 908434a..908434a 100644..100755 --- a/svg/hideblocks.py +++ b/svg/hideblocks.py diff --git a/svg/if.py b/svg/if.py index 3f9cd30..3f9cd30 100644..100755 --- a/svg/if.py +++ b/svg/if.py diff --git a/svg/ifelse.py b/svg/ifelse.py index 7fdfb17..7fdfb17 100644..100755 --- a/svg/ifelse.py +++ b/svg/ifelse.py diff --git a/svg/kbinput.py b/svg/kbinput.py index d1f284a..d1f284a 100644..100755 --- a/svg/kbinput.py +++ b/svg/kbinput.py diff --git a/svg/keyboard.py b/svg/keyboard.py index e23fdb9..27b1761 100644..100755 --- a/svg/keyboard.py +++ b/svg/keyboard.py @@ -37,7 +37,7 @@ def main(): _ = t.ugettext t.install() - mystring = _("Keyboard") + mystring = _("keyboard") mygroup = "sensors" s = mystring diff --git a/svg/left.py b/svg/left.py index 81590f4..81590f4 100644..100755 --- a/svg/left.py +++ b/svg/left.py diff --git a/svg/leftpos.py b/svg/leftpos.py index 47a3063..47a3063 100644..100755 --- a/svg/leftpos.py +++ b/svg/leftpos.py diff --git a/svg/makesvg.py b/svg/makesvg.py index 69cb7ce..ba70d81 100644..100755 --- a/svg/makesvg.py +++ b/svg/makesvg.py @@ -44,8 +44,8 @@ def main(): "hat1.py", \ "hat2.py", \ "heading.py", \ + "height.py", \ "hideblocks.py", \ - "hres.py", \ "ifelse.py", \ "if.py", \ "kbinput.py", \ @@ -95,8 +95,8 @@ def main(): "textsize.py", \ "toppos.py", \ "turtlegroup.py", \ - "vres.py", \ "wait.py", \ + "width.py", \ "xcor.py", \ "ycor.py" ] diff --git a/svg/myblocksgroup.py b/svg/myblocksgroup.py index 176ada0..176ada0 100644..100755 --- a/svg/myblocksgroup.py +++ b/svg/myblocksgroup.py diff --git a/svg/not.py b/svg/not.py index 80743cf..80743cf 100644..100755 --- a/svg/not.py +++ b/svg/not.py diff --git a/svg/numbersgroup.py b/svg/numbersgroup.py index 024a87f..024a87f 100644..100755 --- a/svg/numbersgroup.py +++ b/svg/numbersgroup.py diff --git a/svg/or.py b/svg/or.py index 90b33c7..90b33c7 100644..100755 --- a/svg/or.py +++ b/svg/or.py diff --git a/svg/pendown.py b/svg/pendown.py index 3987ef4..3987ef4 100644..100755 --- a/svg/pendown.py +++ b/svg/pendown.py diff --git a/svg/pengroup.py b/svg/pengroup.py index 88069d5..88069d5 100644..100755 --- a/svg/pengroup.py +++ b/svg/pengroup.py diff --git a/svg/pensize.py b/svg/pensize.py index 82d8c60..82d8c60 100644..100755 --- a/svg/pensize.py +++ b/svg/pensize.py diff --git a/svg/penup.py b/svg/penup.py index e5d1268..e5d1268 100644..100755 --- a/svg/penup.py +++ b/svg/penup.py diff --git a/svg/pop.py b/svg/pop.py index d1474aa..d1474aa 100644..100755 --- a/svg/pop.py +++ b/svg/pop.py diff --git a/svg/print.py b/svg/print.py index 8bda1dc..8bda1dc 100644..100755 --- a/svg/print.py +++ b/svg/print.py diff --git a/svg/printheap.py b/svg/printheap.py index 66991b0..66991b0 100644..100755 --- a/svg/printheap.py +++ b/svg/printheap.py diff --git a/svg/push.py b/svg/push.py index 63cac84..63cac84 100644..100755 --- a/svg/push.py +++ b/svg/push.py diff --git a/svg/random.py b/svg/random.py index e06a785..e06a785 100644..100755 --- a/svg/random.py +++ b/svg/random.py diff --git a/svg/remainder.py b/svg/remainder.py index 7e1d1cf..7e1d1cf 100644..100755 --- a/svg/remainder.py +++ b/svg/remainder.py diff --git a/svg/remainder2.py b/svg/remainder2.py index 4151d46..4151d46 100644..100755 --- a/svg/remainder2.py +++ b/svg/remainder2.py diff --git a/svg/repeat.py b/svg/repeat.py index 5310b19..5310b19 100644..100755 --- a/svg/repeat.py +++ b/svg/repeat.py diff --git a/svg/right.py b/svg/right.py index cbc113c..cbc113c 100644..100755 --- a/svg/right.py +++ b/svg/right.py diff --git a/svg/rightpos.py b/svg/rightpos.py index b942e13..b942e13 100644..100755 --- a/svg/rightpos.py +++ b/svg/rightpos.py diff --git a/svg/scale.py b/svg/scale.py index 954cd77..954cd77 100644..100755 --- a/svg/scale.py +++ b/svg/scale.py diff --git a/svg/sensorsgroup.py b/svg/sensorsgroup.py index b498a37..6df6fda 100644..100755 --- a/svg/sensorsgroup.py +++ b/svg/sensorsgroup.py @@ -54,9 +54,7 @@ def main(): print mystring1 print mystring2 - s3 = mystring1 - s3lower = s3.lower() - print s3lower + print mystring3 print mystring4 print mystring5 print mystring6 @@ -381,7 +379,7 @@ def main(): "\n\ \n\ \n\ \n\ \n\ \n\ \n\ - \n\ \n\ \n\ \n\ \n\ + \n\ + \n\ + \n\ + \n\ + \n\ \n" @@ -701,7 +712,7 @@ def main(): FILE.write(data3b) FILE.write(strings[1].encode("utf-8")) FILE.write(data4) - FILE.write(s3lower.encode("utf-8")) + FILE.write(mystring3.encode("utf-8")) FILE.write(data5) FILE.write(mystring4.encode("utf-8")) FILE.write(data6) @@ -746,6 +757,3 @@ if __name__ == "__main__": main() - - - diff --git a/svg/setcolor.py b/svg/setcolor.py index 60ff3d6..60ff3d6 100644..100755 --- a/svg/setcolor.py +++ b/svg/setcolor.py diff --git a/svg/seth.py b/svg/seth.py index fd55458..fd55458 100644..100755 --- a/svg/seth.py +++ b/svg/seth.py diff --git a/svg/setpensize.py b/svg/setpensize.py index 9c06fab..9c06fab 100644..100755 --- a/svg/setpensize.py +++ b/svg/setpensize.py diff --git a/svg/setscale.py b/svg/setscale.py index cf9d9cd..cf9d9cd 100644..100755 --- a/svg/setscale.py +++ b/svg/setscale.py diff --git a/svg/setshade.py b/svg/setshade.py index 127fd49..127fd49 100644..100755 --- a/svg/setshade.py +++ b/svg/setshade.py diff --git a/svg/settextcolor.py b/svg/settextcolor.py index ce3ab56..ce3ab56 100644..100755 --- a/svg/settextcolor.py +++ b/svg/settextcolor.py diff --git a/svg/settextsize.py b/svg/settextsize.py index 1f2481e..1f2481e 100644..100755 --- a/svg/settextsize.py +++ b/svg/settextsize.py diff --git a/svg/setxy.py b/svg/setxy.py index 09ee18e..09ee18e 100644..100755 --- a/svg/setxy.py +++ b/svg/setxy.py diff --git a/svg/shade.py b/svg/shade.py index f5bf107..f5bf107 100644..100755 --- a/svg/shade.py +++ b/svg/shade.py diff --git a/svg/show.py b/svg/show.py index e767555..e767555 100644..100755 --- a/svg/show.py +++ b/svg/show.py diff --git a/svg/sound.py b/svg/sound.py index 4a509da..4a509da 100644..100755 --- a/svg/sound.py +++ b/svg/sound.py diff --git a/svg/stack1.py b/svg/stack1.py index 7368953..7368953 100644..100755 --- a/svg/stack1.py +++ b/svg/stack1.py diff --git a/svg/stack2.py b/svg/stack2.py index 28cfb1f..28cfb1f 100644..100755 --- a/svg/stack2.py +++ b/svg/stack2.py diff --git a/svg/start.py b/svg/start.py index fc61d94..fc61d94 100644..100755 --- a/svg/start.py +++ b/svg/start.py diff --git a/svg/stopstack.py b/svg/stopstack.py index d4a9f22..d4a9f22 100644..100755 --- a/svg/stopstack.py +++ b/svg/stopstack.py diff --git a/svg/storein.py b/svg/storein.py index 4975aa7..4975aa7 100644..100755 --- a/svg/storein.py +++ b/svg/storein.py diff --git a/svg/storeinbox1.py b/svg/storeinbox1.py index 9631cd1..9631cd1 100644..100755 --- a/svg/storeinbox1.py +++ b/svg/storeinbox1.py diff --git a/svg/storeinbox2.py b/svg/storeinbox2.py index 8c6f667..8c6f667 100644..100755 --- a/svg/storeinbox2.py +++ b/svg/storeinbox2.py diff --git a/svg/templatesgroup.py b/svg/templatesgroup.py index 5638ef9..5638ef9 100644..100755 --- a/svg/templatesgroup.py +++ b/svg/templatesgroup.py diff --git a/svg/textcolor.py b/svg/textcolor.py index 9d8bcb9..9d8bcb9 100644..100755 --- a/svg/textcolor.py +++ b/svg/textcolor.py diff --git a/svg/textsize.py b/svg/textsize.py index 0a68a6f..0a68a6f 100644..100755 --- a/svg/textsize.py +++ b/svg/textsize.py diff --git a/svg/toppos.py b/svg/toppos.py index 69860b4..69860b4 100644..100755 --- a/svg/toppos.py +++ b/svg/toppos.py diff --git a/svg/turtlegroup.py b/svg/turtlegroup.py index d217b94..e932648 100644..100755 --- a/svg/turtlegroup.py +++ b/svg/turtlegroup.py @@ -46,7 +46,7 @@ def main(): mystring6 = _("arc") mystring7 = _("angle") mystring8 = _("radius") - mystring9 = _("setyx") + mystring9 = _("set xy") mystring10 = _("x") mystring11 = _("y") mystring12 = _("set heading") @@ -80,929 +80,929 @@ def main(): print mystring19 data0 = \ -"\ -\ -\ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - X\ - \ - \ - \ - \n\ +\n\ +\n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + X\n\ + \n\ + \n\ + \n\ + " data1 = \ -"\ - \ - \ - \ - \ - \ - \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + " data2 = \ -"\ - \ - \ - \ - \ - \ - \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + " data3 = \ -"\ - \ - \ - \ - \ - \ - \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + " data4 = \ -"\ - \ - \ - \ - \ - \ - \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + " data5 = \ -"\ - \ - \ - \ - \ - \ - \ - \ - \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + " data6 = \ -"\ - \ - \ - \n\ + \n\ + \n\ + " data7 = \ -"\ - \n\ + " data8 = \ -"\ - \ - \ - \ - \ - \ - \ - \ - \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + " data9 = \ -"\ - \ - \ - \n\ + \n\ + \n\ + " data10 = \ -"\ - \n\ + " data11 = \ -"\ - \ - \ - \ - \ - \ - \ - \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + " data12 = \ -"\ - \ - \ - \ - \ - \n\ + \n\ + \n\ + \n\ + \n\ + " data13 = \ -"\ - \ - \ - \ - \n\ + \n\ + \n\ + \n\ + " data14 = \ -"\ - \ - \ - \ - \n\ + \n\ + \n\ + \n\ + " data15 = \ -"\ - \ - \ - \n\ + \n\ + \n\ + " data16 = \ -"\ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + " data17 = \ -"\ - \ - \ - \ - \ - \ - \ - \ - \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + " data18 = \ -"\ - \ - \ - \n\ + \n\ + \n\ + " data19 = \ -"\ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + " data20 = \ -"\ - \ - \ - \ - \ - \n\ + \n\ + \n\ + \n\ + \n\ + " data21 = \ -"\ - \ +"\n\ + \n\ " diff --git a/svg/wait.py b/svg/wait.py index 08c2bd5..08c2bd5 100644..100755 --- a/svg/wait.py +++ b/svg/wait.py diff --git a/svg/width.py b/svg/width.py new file mode 100755 index 0000000..12f73ca --- /dev/null +++ b/svg/width.py @@ -0,0 +1,104 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +#Copyright (c) 2009, Sugar Labs + +#Permission is hereby granted, free of charge, to any person obtaining a copy +#of this software and associated documentation files (the "Software"), to deal +#in the Software without restriction, including without limitation the rights +#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +#copies of the Software, and to permit persons to whom the Software is +#furnished to do so, subject to the following conditions: + +#The above copyright notice and this permission notice shall be included in +#all copies or substantial portions of the Software. + +#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +#THE SOFTWARE. + +import sys +import os +import os.path +import gettext + +def main(): + + myname = "hres" + if len(sys.argv) != 2: + print "Error: Usage is " + myname + ".py lang" + return + + t = gettext.translation("org.laptop.TurtleArtActivity", "../locale", languages=[sys.argv[1]]) + _ = t.ugettext + t.install() + + mystring = _("width") + mygroup = "sensors" + + print mystring + data0 = \ +" \n \ + \n \ + \n \ + \n \ + \n \ + \n \ + \n \ + \n \ + \n \ + \n \ + \n \ + \n \ + " + + data1 = \ +" \n \ + \n \ + \n" + + + FILE = open(os.path.join("../images", sys.argv[1], mygroup, myname + ".svg"), "w") + FILE.write(data0) + FILE.write(mystring.encode("utf-8")) + FILE.write(data1) + FILE.close() + return + +if __name__ == "__main__": + main() diff --git a/svg/xcor.py b/svg/xcor.py index 24203c6..24203c6 100644..100755 --- a/svg/xcor.py +++ b/svg/xcor.py diff --git a/svg/ycor.py b/svg/ycor.py index 16e3ff4..16e3ff4 100644..100755 --- a/svg/ycor.py +++ b/svg/ycor.py diff --git a/taexporthtml.py b/taexporthtml.py index b0ad8ab..ac36475 100644 --- a/taexporthtml.py +++ b/taexporthtml.py @@ -43,7 +43,7 @@ def save_html(self, tw, embed_flag=True): 'doctype': ("\n", ""), 'html': ("\n", "\n"), - 'head': ("\n\n", \ + 'head': ("\n\n", \ "\n"), 'meta': ("\n", ""), @@ -59,19 +59,24 @@ charset=UTF-8\">\n", ""), "\n\n"), 'img': ("\"Image\"\n"), + 'img2': ("\"Image\"\n"), 'ul': ("
    \n", "
\n"), 'li': ("
  • ", "
  • \n") } if embed_flag == True: + # store images in-line as base64 html_glue['img'] = ("\"Image\"\n") + html_glue['img2'] = ("\"Image\"\n") + bs = tawindow.blocks(tw) code = "" imagecount = 0 slidecount = 0 for b in bs: this_stack = "" - data = walk_stack(self,tw, b) + data = walk_stack(self, tw, b) show = 0 onepic = 0 twopic = 0 @@ -83,47 +88,56 @@ src=\"data:image/png;base64,\n", " \"/>\n") if type(d) is float: continue else: - # transalate some TA terms into html - # ignores most turtle gr - # print d + # transalate some Turtle Art blocks into HTML + # show and template blocks + # ignores most turtle graphics if d == "show": show = 1 elif d == "container": show = 2 - elif show == 1 and d[0:2] == '#s': - # show a string - this_stack += d[2:] - show = 0 - elif show == 2: - # show an image - if d[8:] != None: - try: - dsobject = datastore.get(d[8:]) - pixbuf = get_pixbuf_from_journal(dsobject,400,300) + elif show > 0: + if show == 1: + try: # is it media or a string? + tmp = d[0:8] except: - pixbuf = None - if pixbuf != None: - filename = os.path.join(datapath, 'image' + \ - str(imagecount) + ".png") - pixbuf.save(filename, "png") - # if the embed flag is True - # embed base64 into the html - if embed_flag == True: - base64 = os.path.join(datapath, 'base64tmp') - cmd = "base64 <" + filename + " >" + base64 - subprocess.check_call(cmd, shell=True) - f = open( base64, 'r') - imgdata = f.read() - f.close() - tmp = html_glue['img'][0] - if embed_flag == True: - tmp = tmp + imgdata - else: - tmp = tmp + str(imagecount) - imagecount += 1 - tmp = tmp + html_glue['img'][1] - this_stack += tmp - show = 0 + tmp = "" + if tmp == '#smedia_': # show media + show = 2 + else: # show a string + this_stack += d[2:] + show = 0 + if show == 2: + # show an image + if d[8:] != None: + try: + dsobject = datastore.get(d[8:]) + pixbuf = \ + get_pixbuf_from_journal(dsobject,400,300) + except: + pixbuf = None + if pixbuf != None: + filename = os.path.join(datapath, 'image' + \ + str(imagecount) + ".png") + pixbuf.save(filename, "png") + # if the embed flag is True + # embed base64 into the html + if embed_flag == True: + base64 = \ + os.path.join(datapath, 'base64tmp') + cmd = "base64 <" + filename + " >" + base64 + subprocess.check_call(cmd, shell=True) + f = open( base64, 'r') + imgdata = f.read() + f.close() + tmp = html_glue['img2'][0] + if embed_flag == True: + tmp = tmp + imgdata + else: + tmp = tmp + str(imagecount) + imagecount += 1 + tmp = tmp + html_glue['img2'][1] + this_stack += tmp + show = 0 elif d == "tp1" or d == 'tp8': onepic = 1 elif d == "tp2" or d == 'tp6': @@ -159,7 +173,6 @@ src=\"data:image/png;base64,\n", " \"/>\n") # Need filename to copy it into instance directory # if it is not an image, save the preview # save the description too. - print str(onepic) + " " + str(twopic) + " " + str(fourpic) if d[8:] != None: try: dsobject = datastore.get(d[8:]) @@ -224,13 +237,46 @@ src=\"data:image/png;base64,\n", " \"/>\n") this_stack += " " if len(data) > 0: code += this_stack - code = html_glue['doctype'][0] + html_glue['html'][0] + \ - html_glue['head'][0] + \ - html_glue['meta'][0] + html_glue['title'][0] + _("Turtle Art") + \ - html_glue['title'][1] + html_glue['style'][0] + \ - html_glue['style'][1] + \ - html_glue['head'][1] + html_glue['body'][0] + code + \ - html_glue['body'][1] + html_glue['html'][1] + + # if no show or template blocks were present, we've got no slides, + # so save a screendump instead + if slidecount == 0: + # save a screen dump instead + filename = os.path.join(datapath, 'image.png') + tawindow.save_pict(self.tw,filename) + # if the embed flag is True + # embed base64 into the html + if embed_flag == True: + base64 = os.path.join(datapath, 'base64tmp') + cmd = "base64 <" + filename + " >" + base64 + subprocess.check_call(cmd, shell=True) + f = open( base64, 'r') + imgdata = f.read() + f.close() + code = html_glue['img'][0] + \ + imgdata + \ + html_glue['img'][1] + for b in bs: # "show me the code" + code = code + html_glue['div'][0] + data = walk_stack(self, tw, b) + for d in data: + code = code + str(d) + " " + code = code + html_glue['div'][1] + + code = html_glue['doctype'][0] + \ + html_glue['html'][0] + \ + html_glue['head'][0] + \ + html_glue['meta'][0] + \ + html_glue['title'][0] + \ + _("Turtle Art") + \ + html_glue['title'][1] + \ + html_glue['style'][0] + \ + html_glue['style'][1] + \ + html_glue['head'][1] + \ + html_glue['body'][0] + \ + code + \ + html_glue['body'][1] + \ + html_glue['html'][1] return code def walk_stack(self, tw, spr): @@ -242,4 +288,3 @@ def walk_stack(self, tw, spr): # not top of stack, then return empty list return [] - diff --git a/talogo.py b/talogo.py index 8a7bbed..66df4b9 100644 --- a/talogo.py +++ b/talogo.py @@ -42,6 +42,8 @@ from taturtle import * from tagplay import * from tajail import * +from gettext import gettext as _ + procstop = False class symbol: @@ -164,7 +166,10 @@ def setup_cmd(lc, str): def start_eval(lc, list): icall(lc, evline, list); yield True # turn off stop icon when execution is finished - lc.tw.activity.stop.set_icon("stopitoff") + try: + lc.tw.activity.stop.set_icon("stopitoff") + except: + lc.tw.activity.projectToolbar.stop.set_icon("stopitoff") yield False def evline(lc, list): @@ -268,7 +273,7 @@ def debug_trace(lc, token): my_string += tmp shp = 'info' setshape(lc.tw.status_spr, lc.tw.status_shapes[shp]) - setlabel(lc.tw.status_spr, my_string) + setlabel(lc.tw.status_spr, _(my_string)) setlayer(lc.tw.status_spr, 710) return @@ -282,7 +287,7 @@ def no_args_check(lc): def prim_wait(lc,time): setlayer(lc.tw.turtle.spr,630) - endtime = millis()+an_int(lc,time)*100 + endtime = millis()+an_int(lc,time*1000) while millis()