Summer of Code/2013/Turtle Blocks Python export project: Difference between revisions

add a pending decision re speed of execution
add a decision on running unnamed stacks; defer the pending decision on the speed of execution
Line 46: Line 46:
* The generated Python code will setup a window without menus and palettes. It will only be a plain canvas. Turtles will be visible with their (default or custom) sprites because this is the only way to make sprites move in TA.
* The generated Python code will setup a window without menus and palettes. It will only be a plain canvas. Turtles will be visible with their (default or custom) sprites because this is the only way to make sprites move in TA.
* Code in named stacks will be put into functions with the same name. Blocks appended to the 'start' block will be put into a function called <code>start()</code>. Unnamed stacks will also be put into extra functions with auto-generated names (e.g., <code>unnamed_stack_1()</code>).
* Code in named stacks will be put into functions with the same name. Blocks appended to the 'start' block will be put into a function called <code>start()</code>. Unnamed stacks will also be put into extra functions with auto-generated names (e.g., <code>unnamed_stack_1()</code>).
* Run only the block stack that has a 'start' block at the top. If there is no 'start' block, notify the user, but don't execute unnamed stacks. (TA itself should show the same behavior.)


=== Pending ===
=== Pending ===
Line 51: Line 52:
The following design issues have yet to be decided:
The following design issues have yet to be decided:


* When do we determine which block stacks are to be run? When we convert the code to Python or when the Python code is executed?
* Enable the user to control the speed of execution (e.g., by setting a global <code>step_time</code>)? ''deferred on 2013-06-14''
* Enable the user to control the speed of execution (e.g., by setting a global <code>step_time</code>)?
** How to implement this? E.g., call a <code>wait(step_time)</code> function in between two steps?
** How to implement this? E.g., call a <code>wait(step_time)</code> function in between two steps?