The key concepts for this project were as follows: 1) parameter and 2) user-controlled scenes. Parameter was essential to drawing a scene within a scene as I needed to control of scale of each scene. Through parameter, I was able to color the shapes and fill them with color. Another key concept, user-controlled features allow users to control some aspects of my shapes or scenes by using the sys package. I needed to incorporate this into my shape; what I ended up doing was allow users to choose the number of stars in my scenes.
In order to fill my shapes with color, I used the if statement as the snippet shows.
What the statement is doing is that if I give value True as a parameter for my shape, then my shape will be filled with color I specified.
If I give value False, then the shape will not be filled be color..
It would not fill the block b/c I do not have a.begin_fill() and a.end_fill() at the beginning and end of my block code.
In order to color my shapes, I simply used turtle.color() command.
My better shapes with fill and color parameter look like this:.
I added the fill and color parameters to my aggregate shapes, and they look like below.
I added parameter 'scale' to my aggregate shapes so that I could change the scale of my scenes. Again, I was trying to control the scale because this project was about literally drawing scenes within scenes.
One thing to note about adding scale to my shapes is that I had to make sure location was not multiplied by scale. See the snippet below.
Notice that it is side not x or y that is multiplied by scale. If you multiply the location coordinates by scale, then your shapes or scenes will not be drawn where you want them to be.
Below is an image of my scene drawn at three different locations with three different sizes.
Now I am ready to nest this scene into another one.