Changes

Jump to navigation Jump to search
Line 14: Line 14:     
==The steps==
 
==The steps==
* I looked at the Turtle Art program installed in Activity/TurtleArt.activity and determined where I needed to make changes. I had to add a new primitive for square root to the talogo.py file (and also include the sqrt function from the Python math module. And I had to define a new brick for square root in tasetup.py and describe the bricks attributes: its size; how it connects to other bricks; and default values. Finally, I had to create a graphic for the brick (images/en/numbers/sqrt.gif) and modify the panel for numbers (images/en/numbers/numbersgroup,gif and numbersmask.gif). I made similar changes to the Spanish version (images/es).
+
* I looked at the Turtle Art program installed in Activity/TurtleArt.activity and determined where I needed to make changes. I had to add a new primitive for square root to the talogo.py file (and also include the sqrt function from the Python math module.  
 +
from math import sqrt
 +
    defprim(lc,'sqrt', 1, lambda lc,x: int(sqrt(x)))
 +
* And I had to define a new brick for square root in tasetup.py and describe the bricks attributes: its size; how it connects to other bricks; and default values.  
 +
    ('sqrt','sqrt','sqrt',100),
 +
and
 +
  'sqrt':    (('num',True,0,20),('num',False,42,20)),
 +
* Finally, I had to create a graphic for the brick (images/en/numbers/sqrt.gif) and modify the panel for numbers (images/en/numbers/numbersgroup,gif and numbersmask.gif). I made similar changes to the Spanish version (images/es).
 
* I ran the modified Turtle Art program and made changes until I managed to get it working properly--i.e., I debugged my code. At one point, I sent email to the maintainer with a question, which he promptly answered.
 
* I ran the modified Turtle Art program and made changes until I managed to get it working properly--i.e., I debugged my code. At one point, I sent email to the maintainer with a question, which he promptly answered.
 
* In order to push my changes upstream so that others can use them, first I needed to get a local copy of the source code
 
* In order to push my changes upstream so that others can use them, first I needed to get a local copy of the source code

Navigation menu