<snapdata remixID="9735202"><project name="2.1 Kyle Shapes Redux" app="Snap! 6, https://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAADl0lEQVR4Xu2Su2qUYRRFz2hEhwgptAkigYBgo4ZMZaE2gp1aWHjBxjdIl8pSfQUfwMImxYiolUWUiGLAQomXESSFRESwMt0IUwSb6DdEWMVeU3//nL33Wp3hcDgsfy4ALdBRQGh5z44WUEBFQBdQQHR+jyugDqALKCA6v8cVUAfQBRQQnd/jCqgD6AIKiM7vcQXUAXQBBUTn97gC6gC6gAKi83tcAXUAXUAB0fk9roA6gC6ggOj8HldAHUAXUEB0fo8roA6gCyggOr/HFVAH0AUUEJ3f4wqoA+gCCojO73EF1AF0AQVE5/e4AuoAuoACovN7XAF1AF1AAdH5Pa6AOoAuoIDo/B5XQB1AF1DAhvlXP6/X/Ozhhpc+GXcBBWxY7O79pdrYPVk3L51reO2TcRZQwIa1bt2+U3uuL9ahteW6evZUwxc+aV1AARuW6vf79X7+/OjlxX0/68jBqYavfNKygAJus9LD5RfVmTla9x48rrkLl7debXx4W1emNqvX67Xs65t/LKCAfxno5evVWt8/Xa++/6oDM7NbLyd+fK2F49PK9R8WUMDGEZeePq93m7tq77GToy8mBm9q4cyJxq99tt0CCjimG4PBoD4OJ+vR2pea/vapFm9cG/MffP7nAgq4Ax+ePFup07256na7O/iX7E8VMJs/3l4BcQTZARQwmz/eXgFxBNkBFDCbP95eAXEE2QEUMJs/3l4BcQTZARQwmz/eXgFxBNkBFDCbP95eAXEE2QEUMJs/3l4BcQTZARQwmz/eXgFxBNkBFDCbP95eAXEE2QEUMJs/3l4BcQTZARQwmz/eXgFxBNkBFDCbP95eAXEE2QEUMJs/3l4BcQTZARQwmz/eXgFxBNkBFDCbP95eAXEE2QEUMJs/3l4BcQTZARQwmz/eXgFxBNkBFDCbP95eAXEE2QEUMJs/3l4BcQTZARQwmz/eXgFxBNkBFDCbP95eAXEE2QEUMJs/3l4BcQTZARQwmz/eXgFxBNkBFDCbP95eAXEE2QEUMJs/3l4BcQTZARQwmz/eXgFxBNkBFDCbP95eAXEE2QEUMJs/3l4BcQTZARQwmz/eXgFxBNkBFDCbP95eAXEE2QEUMJs/3l4BcQTZARQwmz/eXgFxBNkBFDCbP95eAXEE2QEUMJs/3l4BcQTZARQwmz/eXgFxBNkBFDCbP95eAXEE2QEUMJs/3l4BcQTZARQwmz/eXgFxBNkBfgORzha3uXBk5gAAAABJRU5ErkJggg==</thumbnail><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOhUlEQVR4Xu3VwQkAAAjEMN1/abewn7jAQRC64wgQIECAAIF3gX1fNEiAAAECBAiMAHsCAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIHLFxAWmhEwHPAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Shape Drawer" idx="1" x="0" y="50.00000000000003" heading="126" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="138,227,255,1" pen="tip" id="8"><costumes><list struct="atomic" id="9"></list></costumes><sounds><list struct="atomic" id="10"></list></sounds><blocks></blocks><variables></variables><scripts><script x="427.9999999999998" y="15.66666666666606"><block s="receiveKey"><l><option>3</option></l></block><block s="setEffect"><l><option>ghost</option></l><l>0</l></block><block s="clear"></block><block s="up"></block><block s="gotoXY"><l>-100</l><l>50</l></block><block s="setHeading"><l>90</l></block><block s="down"></block><block s="setSize"><l>3</l></block><block s="setColor"><color>50,148,0,1</color></block><block s="doRest"><l>0.5</l></block><block s="bubble"><l>Rectangle!</l></block><block s="doRepeat"><l>2</l><script><block s="forward"><l>200</l></block><block s="turn"><l>90</l></block><block s="doRest"><l>1</l></block><block s="forward"><l>100</l></block><block s="turn"><l>90</l></block><block s="doRest"><l>1</l></block></script></block><block s="doBroadcast"><l>Ghost</l></block><block s="doStopThis"><l><option>this script</option></l></block></script><script x="10" y="10"><block s="receiveKey"><l><option>1</option></l></block><block s="setEffect"><l><option>ghost</option></l><l>0</l></block><block s="clear"></block><block s="up"></block><block s="gotoXY"><l>-50</l><l>50</l></block><block s="setHeading"><l>90</l></block><block s="down"></block><block s="setSize"><l>1</l></block><block s="setColor"><color>145,26,68,1</color></block><block s="doRest"><l>0.5</l></block><block s="bubble"><l>Equilateral Triangle!</l></block><block s="doRepeat"><l>3</l><script><block s="forward"><l>100</l></block><block s="turn"><l>120</l></block><block s="doRest"><l>1</l></block></script></block><block s="doBroadcast"><l>Ghost</l></block><block s="doStopThis"><l><option>this script</option></l></block></script><script x="221.99999999999994" y="11"><block s="receiveKey"><l><option>2</option></l></block><block s="setEffect"><l><option>ghost</option></l><l>0</l></block><block s="clear"></block><block s="up"></block><block s="gotoXY"><l>-50</l><l>50</l></block><block s="setHeading"><l>90</l></block><block s="down"></block><block s="setSize"><l>2</l></block><block s="setColor"><color>255,142,107,1</color></block><block s="doRest"><l>0.5</l></block><block s="bubble"><l>Square!</l></block><block s="doRepeat"><l>4</l><script><block s="forward"><l>100</l></block><block s="turn"><l>90</l></block><block s="doRest"><l>1</l></block></script></block><block s="doBroadcast"><l>Ghost</l></block><block s="doStopThis"><l><option>this script</option></l></block></script><script x="642" y="18.66666666666606"><block s="receiveKey"><l><option>4</option></l></block><block s="setEffect"><l><option>ghost</option></l><l>0</l></block><block s="clear"></block><block s="up"></block><block s="gotoXY"><l>0</l><l>100</l></block><block s="setHeading"><l>150</l></block><block s="down"></block><block s="setSize"><l>4</l></block><block s="setColor"><color>131,255,102,1</color></block><block s="doRest"><l>0.5</l></block><block s="bubble"><l>Rhombus!</l></block><block s="doRepeat"><l>2</l><script><block s="forward"><l>100</l></block><block s="turn"><l>60</l></block><block s="doRest"><l>1</l></block><block s="forward"><l>100</l></block><block s="turn"><l>120</l></block><block s="doRest"><l>1</l></block></script></block><block s="doBroadcast"><l>Ghost</l></block><block s="doStopThis"><l><option>this script</option></l></block></script><comment x="11" y="428.33333333333303" w="90" collapsed="false">When the 1 key is pressed, the very first thing that the sprite does is set its ghost effect to 0, making it reappear again after it disappears from previous codes. I clear the board with a clear and pen up block, and then set the sprites position. Then I place the pen down, set a unique pen size (simply goes up by one for each shape), which is 1, and pen color, which is burgundy. The sprite states the shape, and then it starts making an equilateral triangle. This code works because since each of an equilateral triangle&apos;s angles are 60 degrees, which all add up to a total of 180 degrees, and since my sprite is tracing the outside of shapes, the sprite needs to turn the amount of degrees the exterior angles of the equaliteral triangles are. This can be calculated simpy by taking the 180-60 degrees (total degrees of triangle-one interior angle of triangle) to get 120 degrees. This means for every 100 steps forward, the sprite needs to turn 120 degrees to make an equilateral triangle. This is repeated 3 times using the finite repeat loop to create three sides. After it is done, I wait for two seconds and then ghost the sprite so it disappears. I use a little if statement to give the user the option to erase the pen marks/shape on the stage. This works because the if statement states that if the space key is continually pressed, then it waits until the user presses the spacebar and then erases the pen marks. Else (meaning the user doesn&apos;t press the spacebar), and the program simply ends, with the text going away (from the stop-all block), the sprite having a ghost effect of 100, and the shape either being erased by the user or left on the stage (this shape is cleared when the next program is started because I reset everything in the beginning, including a clear block that erases all pen marks on the stage.  </comment><comment x="223.99999999999994" y="426.66666666666606" w="90" collapsed="false">When the 2 key is pressed, the very first thing that the sprite does is set its ghost effect to 0, making it reappear again after it disappears from previous codes. I clear the board with a clear and pen up block, and then set the sprites position.Then I place down the pen down and set a unique pen size , which is two, and a unique pen color, which is orange. The sprite states the shape, which is &quot;Square&quot;, and then the sprite begins making a square. This code works because my turn 90 degrees block is clockwise. Since I want to draw my square in a clockwise direction, my sprite&apos;s first move is 100 steps to the right because that is how I reset the sprite. Then it goes in a clockwise direction, turning right each time for 4 times until a square is made. Since my sprite and the direction of turn are both clockwise, I can use the interior angle to make a square, so I would turn 90 degrees closkwise every time I turn. If I made my sprite move counterclockwise, then I could use an angle of 270 degrees clockwise because I would need to use an exterior angle in this case (the direction of turn and direction of sprite are different), or I could simply align the direction of turn and the direction the sprite is moving to counterclockwise, and then I would only have to turn 90 degrees. Essentially, I turn 90 degrees because that is the interior angle of the square, and I can use it because the direction of the sprite and the direction of turn are aligned as clockwise. I move 100 steps, turn clockwise 90 degrees, and repeat this four times using the finite repeat loop and placing just one side of the shape in the loop until the sprite creates a square. Then I ghost the sprite by settting the ghost effect to 100, and use the same sequence as the equilateral triangle to allow the user to choose whether to erase the shape or not by a prolonged press of the spacebar.  </comment><comment x="427.9999999999998" y="495.0000000000009" w="90" collapsed="false">When the 3 key is pressed, the very first thing that the sprite does is set its ghost effect to 0, making it reappear again after it disappears from previous codes. I clear the board with a clear and pen up block, and then set the sprites position. Then I place the pen down and set a unique pen size, which is three, and a unique pen color, which is dark green. The sprite states the shape, which is &quot;Rectangle&quot;, and then the sprite begins making a rectangle. This uses the same philosophy as the square, since both have all interior angles being 90 degrees (adds up to 360 degrees). I set up the sprite to point in direction 90 degrees (faces right) and move 100 steps to the right, meaning that I am making the sprite move clockwise, and since my turn block is preset to clockwise as well, I simply use the interior angle of 90 degrees to make a rectangle. Instead, since a rectangle has a 2 sets of parallel sides, which one set of those parallel lines being longer than the other, I decided that the longer sides would be 200 steps and the shorter sides would be 100 steps. So, first, the sprite, would move 200 steps to the right, turn 90 degrees, move 100 steps, turn 90 degrees, and repeat this 2 times using the finite repeat loop to make a rectangle, with the inside of the loop containing an AB of the ABAB pattern, move 200, turn 90 degrees, pause 1 second, move 100, turn 90 degrees, pause 1 second. After the rectangle is created, then I ghost the sprite by setting a ghost effect to 100, and then I use the same sequence as I did before about letting the user choose whether to erase the shape or not. If the user presses the spacebar, the shape will be erased and the script will end. If the user does nothing, the shape will stay on the stage until the next script is prompted (each program clears the stage as part of the reset procedure) </comment><comment x="647" y="493.66666666666697" w="90" collapsed="false">When the 4 key is pressed, the very first thing that the sprite does is set its ghost effect to 0, making it reappear again after it disappears from previous codes. I clear the board with a clear and pen up block, and then set the sprites position. Then I place the pen down and set a unique pen size, which is four, and a unique pen color, which is light green. The sprite states the shape, which is &quot;Rhombus&quot; using the say block, and then the sprite begins making the rhombus. For the rhombus, instead of making the sprite point in the direction 90 degrees, which is the default, I set it to the angle at which I want it to go to make the rhombus, which is actually point in direction 150 degrees. This makes the rhombus point down at an angle, so when I move he sprite 100 steps, the very first line it creates is a line that goes down. With the shape of the rhombus, you have to put it in this position unless you want the rhombus to be laying on its side, which would also look like a parallelogram. I actually set the direction of the sprite after testing the script a few times to find the perfect angle. The pattern is that the sprite moves 100 steps, turns 60 degrees, then turns 120 (these turns make sense because they add up to 180 degrees, and you are essentially making a 180 degree turn with those turns, with the sprite going in the opposite direction). Then you turn 60 degrees again, and then I decided to put the sprite back in the default direction once it was finished drawing the rhombus. After I tested these turns, then I finally figured out what direction the sprite should point at in the beginning, so it drew an upright rhombus. You may notice that at the beginning of all scripts, I make the srprite go to a certain (x,y) position, and this is because I wanted the shapes to all be in the center of the stage. Each side of the rhombus is the same length (100 steps), and the pattern of turns is 150 degrees initial direction, 60 degrees, 120 degrees, 60 degrees, and finally point in direction 90 degrees (all turns are clockwise). This makes sense because since a rhombus is a quadrilateral shape, the angles should add up to 360 degrees. A square would equally divide these angles to 90 degree turns, but since this is a non-square rhombus, you have to make two turns the same angle (these are the alternate interior angles), and in between that turn is a larger turn to make the sprite point back up again, so I decided to just make the two turns 60 degrees and the larger one 120 degrees for a standard rhombus, not too long and not too short. Because of  rhombus&apos;s ABAB pattern, I can use a finite repeat loop that repeats 2 times to create a rhombus, and in each loop, the AB component would be put in, which is move 100, turn 60, pause 1 second, move 100, turn 120, pause 1 second. After the rhombus is created, then I ghost the sprite by setting a ghost effect to 100, and then I use the same sequence as I did before about letting the user choose whether to erase the shape or not. If the user presses the spacebar, the shape will be erased and the script will end. If the user does nothing, the shape will stay on the stage until the next script is prompted (each program clears the stage as part of the reset procedure) </comment><script x="17" y="1747.6666666666665"><block s="receiveKey"><l><option>5</option></l></block><block s="setEffect"><l><option>ghost</option></l><l>0</l></block><block s="clear"></block><block s="up"></block><block s="gotoXY"><l>-100</l><l>50</l></block><block s="setHeading"><l>90</l></block><block s="down"></block><block s="setSize"><l>5</l></block><block s="setColor"><color>0,37,189,1</color></block><block s="doRest"><l>0.5</l></block><block s="bubble"><l>Parallelogram!</l></block><block s="doRepeat"><l>2</l><script><block s="forward"><l>200</l></block><block s="turn"><l>60</l></block><block s="doRest"><l>1</l></block><block s="forward"><l>100</l></block><block s="turn"><l>120</l></block><block s="doRest"><l>1</l></block></script></block><block s="doBroadcast"><l>Ghost</l></block><block s="doStopThis"><l><option>this script</option></l></block></script><script x="226.99999999999994" y="1795.1666666666656"><block s="receiveKey"><l><option>6</option></l></block><block s="setEffect"><l><option>ghost</option></l><l>0</l></block><block s="clear"></block><block s="up"></block><block s="gotoXY"><l>0</l><l>50</l></block><block s="setHeading"><l>126</l></block><block s="down"></block><block s="setSize"><l>6</l></block><block s="setColor"><color>138,227,255,1</color></block><block s="doRest"><l>0.5</l></block><block s="bubble"><l>Pentagon!</l></block><block s="doRepeat"><l>5</l><script><block s="forward"><l>100</l></block><block s="turn"><l>72</l></block><block s="doRest"><l>1</l></block></script></block><block s="doBroadcast"><l>Ghost</l></block><block s="doStopThis"><l><option>this script</option></l></block></script><script x="430.9999999999998" y="1833.6666666666674"><block s="receiveKey"><l><option>9</option></l></block><block s="setEffect"><l><option>ghost</option></l><l>0</l></block><block s="clear"></block><block s="up"></block><block s="gotoXY"><l>-75</l><l>50</l></block><block s="setHeading"><l>162</l></block><block s="down"></block><block s="setSize"><l>7</l></block><block s="setColor"><color>255,97,237,1</color></block><block s="doRest"><l>0.5</l></block><block s="bubble"><l>Five Point Star Version 1!</l></block><block s="doRepeat"><l>5</l><script><block s="forward"><l>50</l></block><block s="turnLeft"><l>72</l></block><block s="doRest"><l>1</l></block><block s="forward"><l>50</l></block><block s="turn"><l>144</l></block><block s="doRest"><l>1</l></block></script></block><block s="setHeading"><l>90</l></block><block s="doRest"><l>1</l></block><block s="up"></block><block s="forward"><l>150</l></block><block s="setSize"><l>8</l></block><block s="setColor"><color>209,0,52,1</color></block><block s="down"></block><block s="doRest"><l>0.5</l></block><block s="bubble"><l>Five Point Star Version 2!</l></block><block s="setHeading"><l>162</l></block><block s="doRepeat"><l>5</l><script><block s="forward"><l>135</l></block><block s="turn"><l>144</l></block><block s="doRest"><l>1</l></block></script></block><block s="doBroadcast"><l>Ghost</l></block><block s="doStopThis"><l><option>this script</option></l></block></script><comment x="18" y="2228.500000000008" w="90" collapsed="false">When the 5 key is pressed, the very first thing that the sprite does is set its ghost effect to 0, making it reappear again after it disappears from previous codes. I clear the board with a clear and pen up block, and then set the sprites position. Then I place the pen down and set a unique pen size, which is five, and a unique pen color, which is dark blue. The sprite states the shape, which is &quot;Parallelogram&quot;, and then the sprite begins making a parallelogram. A parallelogram is easy because since both pairs of sides are parallels, it is safe to assume that the angles on the opposite sides of the parallelogram are also equal. The parallelogram&apos;s sum of angles is 360 degrees, and since I want the parallelogram to be a nice, even size, I made the larger angle turns double the smaller ones. Parallelograms also typically have a pair of longer sides and a pair of shorter sides, and since I wanted it to be even, the longer sides are 200 steps and the shorter sides are 100 sides. The sprite will begin facing 90 degrees and be positioned at (-100,50) so the parallelogram is centered. The sprite then goes 200 steps, turns 60 degrees (the smaller degree), then goes the shorter 100 steps but makes the larger turn of 120 degrees, then it goes 200 steps, turns 60 degrees, then goes 100 steps and turns 120 degrees to go back to the original position. This will perfectly create a uniform, nice-looking parallelogram (all turns are clockwise). Because of a parallelogram&apos;s ABAB pattern, I can use a finite repeat loop that repeats the AB two times to create a parallelogram, which would be move 200, turn 60, pause 1 second, move 100, turn 120, pause 1 second. The degrees are 60, 120, 60, 120 because in a parallelogram, these alternate to create two parallel sides opposite of each other. Because a parallelogram is a quadrilateral shape, the total sum of interior angles is 360 degrees, and to evenly divide the total amount of degrees and make it pretty, I chose 60 degree and 120 degree turns. A 120 degree and 60 degree turn always has to be paired up together (you can&apos;t do 120 degree and 120 degree back to back, same with 60 degree turns) because you essentially have to do a 180 turn to guarantee parallel lines in a parallelogram. After the parallelogram is created, then I ghost the sprite by setting a ghost effect to 100, and then I use the same sequence as I did before about letting the user choose whether to erase the shape or not. If the user presses the spacebar, the shape will be erased and the script will end. If the user does nothing, the shape will stay on the stage until the next script is prompted (each program clears the stage as part of the reset procedure). </comment><comment x="227.99999999999994" y="2225.5000000000045" w="90" collapsed="false">When the 6 key is pressed, the very first thing that the sprite does is set its ghost effect to 0, making it reappear again after it disappears from previous codes. I clear the board with a clear and pen up block, and then set the sprites position. Then I place the pen down and set a unique pen size, which is six, and a unique pen color, which is light blue. The sprite states the shape, which is &quot;Pentagon&quot;, and then the sprite begins making a pentagon. A pentagon is easy to make because all angles and sides are congruent. The angles all add up to 540 degrees because 5 sided shapes have that sum of degrees. Since all sides are equal, they can all move a constant number of steps. You turn 72 degrees because each interior angle is 108 (108*5=540 degrees), so with a sprite, you actually turn the difference between the interior angle of the pentagon and 180 degrees, so that is 72 degrees. So, the sprite just repeats the moves move 100 steps, and turn clockwise 72 degrees 5 times to create a pentagon. Because of a pentagon&apos;s equilateral and equiangular characteristics, its sides follow an AAAAA pattern, where all sides and all angles are congruent, so all I have to do is use a finite repeat loop and repeat one A side 5 times, so inside the loop, the blocks are move 100 steps, turn 72 degrees, pause 1 second. After the pentagon is created, then I ghost the sprite by setting a ghost effect to 100, and then I use the same sequence as I did before about letting the user choose whether to erase the shape or not. If the user presses the spacebar, the shape will be erased and the script will end. If the user does nothing, the shape will stay on the stage until the next script is prompted (each program clears the stage as part of the reset procedure). </comment><script x="431" y="2613.8333333333335"><block s="receiveKey"><l><option>h</option></l></block><block s="setEffect"><l><option>ghost</option></l><l>0</l></block><block s="clear"></block><block s="up"></block><block s="gotoXY"><l>-50</l><l>50</l></block><block s="setHeading"><l>90</l></block><block s="setSize"><l>9</l></block><block s="setColor"><color>0,3,12,1</color></block><block s="down"></block><block s="doRest"><l>0.5</l></block><block s="bubble"><l>Hexagon!</l></block><block s="doRepeat"><l>6</l><script><block s="forward"><l>75</l></block><block s="turn"><l>60</l></block><block s="doRest"><l>1</l></block></script></block><block s="doBroadcast"><l>Ghost</l></block><block s="doStopThis"><l><option>this script</option></l></block></script><comment x="648" y="2852.500000000006" w="88" collapsed="false">When the 9 key is pressed, a lot is going to happen and three shapes will be made. I made three shapes. The first shape is a five-point star that doesn&apos;t have any lines inside the shape, the second is a pentagram that is simply drawn with five long lines that go through the shape, and the last shape is a hexagon. The very first thing that the sprite does is set its ghost effect to 0, making it reappear again after it disappears from previous codes. I clear the board with a clear and pen up block, and then set the sprites position. Then I place the pen down and set a unique pen size, which is seven, and a unique pen color, which is pink. The sprite states the shape, which is &quot;Five-Point Star Version 1&quot;, and then the sprite begins making a five-point star. Making a five-point star consists of many repeats and patterns. The star is actually equilateral, so I move a constant of 50 steps each time, so all you have to do is change the angles (all turn clockwise). I make the sprite point in the direction 162 degrees as the starting angle so the star can be properly made upright. The angles then alternate between 72 degrees counterclockwise and 144 degrees clockwise to create a star. I don&apos;t know the mathematics for it, but it was trial and error to get the angles. Because this star follows an ABABABABAB pattern, I can use a finite repeat loop that repeats AB five times to get the star, and inside the loop would be move 50 steps, turn 72 degrees, pause 1 second, move 50 steps, turn 144 degrees, pause 1 second. After the star is complete, the sprite points in direction 90 degrees, it stops saying &quot;Five-Point Star Version 1&quot;, and then it moves forward 150 steps so it can draw the next shape. I put the pen up, then turn the pen size to 8 and pen color to dark red for uniqueness, and after that, I place the pen back down. The sprite then exclames &quot;Five-Point Star Version 2&quot; and begins drawing. This star is easier because it is simply 5 lines that intersect to create a star, and the length of the lines and angle of turn (all clockwise). I first set the direction of the sprite to 162 degrees, the same as the first star, and then the pattern that repeats 5 times to create the star is move 135 steps and turn 144 degrees clockwise to create a star. I used the same degree of turn I used in the first star which is the turn that has a bigger degree, and it worked. Because this star is simply an AAAAA pattern and just draws 5 lines to create a star, I can use a finite repeat loop that repeats 5 times, and inside the loop is A, which would be move 135 steps, turn 144 degrees, pause 1 second. After the stars are created, then I ghost the sprite by setting a ghost effect to 100, and then I use the same sequence as I did before about letting the user choose whether to erase the shape or not. If the user presses the spacebar, the shape will be erased and the script will end. If the user does nothing, the shape will stay on the stage until the next script is prompted (each program clears the stage as part of the reset procedure). </comment><script x="433" y="3004.4999999999995"><block s="receiveKey"><l><option>7</option></l></block><block s="setEffect"><l><option>ghost</option></l><l>0</l></block><block s="clear"></block><block s="up"></block><block s="gotoXY"><l>-12.5</l><l>75</l></block><block s="setHeading"><l>90</l></block><block s="setSize"><l>11</l></block><block s="setColor"><color>141,0,120,1</color></block><block s="down"></block><block s="doRest"><l>0.5</l></block><block s="bubble"><l>Decagon!</l></block><block s="doRepeat"><l>10</l><script><block s="forward"><l>50</l></block><block s="turn"><l>36</l></block><block s="doRest"><l>1</l></block></script></block><block s="doBroadcast"><l>Ghost</l></block><block s="doStopThis"><l><option>this script</option></l></block></script><script x="231.99999999999994" y="3530.499999999996"><block s="receiveKey"><l><option>t</option></l></block><block s="setEffect"><l><option>ghost</option></l><l>0</l></block><block s="clear"></block><block s="up"></block><block s="gotoXY"><l>-50</l><l>50</l></block><block s="setHeading"><l>90</l></block><block s="setSize"><l>10</l></block><block s="setColor"><color>0,120,166,1</color></block><block s="down"></block><block s="doRest"><l>0.5</l></block><block s="bubble"><l>Trapezoid!</l></block><block s="forward"><l>100</l></block><block s="turn"><l>60</l></block><block s="doRest"><l>1</l></block><block s="forward"><l>125</l></block><block s="turn"><l>120</l></block><block s="doRest"><l>1</l></block><block s="forward"><l>225</l></block><block s="turn"><l>120</l></block><block s="doRest"><l>1</l></block><block s="forward"><l>125</l></block><block s="turn"><l>60</l></block><block s="doBroadcast"><l>Ghost</l></block><block s="doStopThis"><l><option>this script</option></l></block></script><comment x="436" y="3391.8333333333308" w="90" collapsed="false">When the 7 key is pressed, the script draws a decagon. Firstly, the reset. The sprite is unghosted, the stage is cleared, pen is put up, the position of the sprite is put into place, which is (-12.5, 75) for the decagon, the sprite is pointed in direction 90, the unique pen size is set to 11 and the unique color is set to sort of a darkish purple with a slight magenta tint, the pen is placed down, then the script rests for 0.5 seconds before it says Decagon. Decagons are easy to draw because of its equiangular and equilateral nature, meaning that all sides and all angles are congruent. This makes it really easy because since the pattern for the sides is AAAAAAAAAA, you can simply use a finite repeat loop that repeats A 10 times. The A for the decagon turns out as 50 steps, turn 36 degrees, pause 1 second, repeated 10 times. You turn 36 degrees for a decagon because each interior angle in a decagon is 144 degrees, and because when drawing an equiangular and equilateral shape with a sprite, the amount of turn is 180 - the interior angle of a shape, so the turn is 36 degrees. After the decagon is drawn, the program rests for 2 seconds so the user can admire the artwork, then the sprite is ghosted, and the script gives the option for the user to erase the shape or not.  </comment><comment x="235.99999999999994" y="4069.166666666661" w="90" collapsed="false">When the t key is pressed, the script draws a trapezoid. For a heads up, the trapezoid was the only shape where I couldn&apos;t use a repeat loop because I didn&apos;t find a way how to without making. This is because the set of parallel sides are different lengths, and the sides that are the same length on each side are not parallel, so there is no distinctive pattern when drawing this shape. The first thing I do is a reset, which consists of unghosting so the sprite appears after it was ghosted, clearing the stage, putting the pen up, going to (-50, 50) to center the circle, point in direction 90, set a unique pen size to 12 and pen color to a light peachy pink, then put the pen down, rest for 0.5 seconds, and say Trapezoid. After the reset, we begin drawing the shape. Because I didn&apos;t use loops, I had to draw all four sides individually. I began with the top side, which was move 100 steps and turn 60 degrees to create an obtuse angle for the next side. Then I moved 125 steps and turned 120 so the top and bottom sides would be parallel. The bottom side has to be longer because we are drawing a trapezoid, so the bottom side was 225 steps, and then I had to turn 120 degrees again. Then I moved 125 steps because the opposite sides of a trapezoid need to have the same length, at least with the regular trapezoid I am drawing. At last, I turn 60 degrees so I can point 90 degrees and make everything complete. I rest two seconds, then set the ghost effect to 100 to ghost the sprite. At last, I have the if statement to allow the user to choose whether to erase the shape or not.  </comment><script x="20" y="4215.499999999992"><block s="receiveKey"><l><option>8</option></l></block><block s="setEffect"><l><option>ghost</option></l><l>0</l></block><block s="clear"></block><block s="up"></block><block s="gotoXY"><l>0</l><l>100</l></block><block s="setHeading"><l>90</l></block><block s="setSize"><l>12</l></block><block s="setColor"><color>255,148,162,1</color></block><block s="down"></block><block s="doRest"><l>0.5</l></block><block s="bubble"><l>Circle!</l></block><block s="doRepeat"><l>72</l><script><block s="forward"><l>10</l></block><block s="turn"><l>5</l></block><block s="doRest"><l>0</l></block></script></block><block s="doBroadcast"><l>Ghost</l></block><block s="doStopThis"><l><option>this script</option></l></block></script><script x="440" y="4363"><block s="receiveMessage"><l>Ghost</l></block><block s="doRest"><l>2</l></block><block s="setEffect"><l><option>ghost</option></l><l>100</l></block><block s="doIfElse"><block s="reportKeyPressed"><l><option>space</option></l></block><script><block s="clear"></block></script><script><block s="doStopThis"><l><option>all</option></l></block></script></block><block s="doStopThis"><l><option>all</option></l></block></script><comment x="22" y="4609.1666666666515" w="90" collapsed="false">When the 8 key is pressed, the script draws a circle. The first thing in the script is just a simple reset. The first block is unghosting so the sprite appears after it was ghosted. Then I clear the stage, put the pen up, go to (0, 100) to center the circle, point in direction 90, set a unique pen size to 12 and pen color to a light peachy pink, then put the pen down, rest for 0.5 seconds, and say Circle. Next is a repeat loop. Because of my discovery in Lab 1.1 that showed me that a rest 0 beats allows an action to not instantaneously occur but to smooth out the gradual process and show what is going on while not pausing the script at all. I used this philosophy when drawing a circle, where I would make extremely tiny increments of 10 steps and 5 degrees, then pause for 0 seconds so as to smooth these actions out, then repeat 72 times using a finite repeat loop (it is 72 times because a circle&apos;s total sum of angles is 360 degrees, and because each increment is 5 degrees, I have to repeat 72 times to get a circle). After the circle is drawn, I rest for two beats, then ghost the sprite so it doesn&apos;t show, and give the user the option to see if they want to erase the circle or or keep it on the screen. At the very end is a stop all block to stop the script from running. </comment><comment x="649" y="5083.333333333318" w="90" collapsed="false">When the h key is pressed, the script will make a hexagon. The very first thing that I do is to just set everything up. I make sure to unghost it so that the sprite appears, then I clear, put the pen back up, then set it to its designated location so that the shape is centered, set the unique pen size to 9 and pen color to black, place the pen down, say &quot;Hexagon&quot;, and then begin drawing. Regular hexagons are also easy because all angles and sides are equivalent, so I just used a constant pattern. The pattern that is repeated 6 times to create a hexagon (hexagon is a six-sided shape) is move 75 steps and turn 60 degrees clockwise. I stated before that the degree of turn for the sprite is the difference of one interior angle of the shape and 180 degrees, so the turn is 60 degrees. The turn is 60 degrees because since each interior angle of the hexagon is 120 and we know that when drawing equilateral and equiangular shapes with a sprite, the degree of turn is simply 180 - the interior angles, so the degree of turn is 60.  After the hexagon is created, then I ghost the sprite by setting a ghost effect to 100, and then I use the same sequence as I did before about letting the user choose whether to erase the shape or not. If the user presses the spacebar, the shape will be erased and the script will end. If the user does nothing, the shape will stay on the stage until the next script is prompted (each program clears the stage as part of the reset procedure). </comment><script x="31" y="6099.666666666648"><block s="receiveKey"><l><option>a</option></l></block><block s="clear"></block><block s="up"></block><block s="setEffect"><l><option>ghost</option></l><l>0</l></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="doSayFor"><l>Hi! Let&apos;s Make Polygons! For a 3-sided Polygon, Press 1. For a 4-sided Polygon, Press 2, 3, 4, 5, and t. For a 5-sided Polygon, Press 6. For a 6-sided Polygon, Press h. For a 10-sided Polygon or Pentagram, Press 7 or 9. For a Circle, Press 8. Remember to Only Choose 1 Option or Else it Won&apos;t Work.   </l><l>20</l></block><block s="doIf"><block s="reportKeyPressed"><l><option>0</option></l></block><script><block s="doSayFor"><l>0-Sided Polygon? You Mean Circle? Press 8! If Not, Defer the Option and Select Another Polygon.</l><l>5</l></block></script></block><block s="doSayFor"><l>Sorry, We Didn&apos;t Get Input, Didn&apos;t Understand Your Request, or Can&apos;t Produce the Polygons You Requested, Which Include 7-Sided, 9-Sided, and Polygons with Sides Greater than 10 Sides. Bye!</l><l>10</l></block><block s="doStopThis"><l><option>all</option></l></block></script><comment x="347.845703125" y="5478.333333333316" w="90" collapsed="false">I couldn&apos;t figure out exactly how to make the polygons that they wanted, so I tried to make a little program that had some dialogue and gave them sort of a guide to which polygons to make. First, I cleared the stage and put the pen up to make sure that the shape on the stage was erased. Then I set the sprite&apos;s ghost effect to 0 to make it appear. This is so that it gives the imrpression that the sprite is talking. After that, I set the sprite to the middle of the stage. Then I have this long dialogue that gives them a guide to which keys pressed make how many sided polygons. The only number I ddin&apos;t use for the whole program was 0, so I added a little extra thing that tells the user if they meant a circle, which is sort of like a 0 sided polygon. Lastly, if the user doesn&apos;t do anything or not program is prompted because the numbers they pressed were to large, or it just didn&apos;t work, I just gave them an explanation with another dialogue and said goodbye to the user before stopping everything. </comment></scripts></sprite></sprites></stage><hidden></hidden><headers></headers><code></code><blocks></blocks><variables></variables></project><media name="2.1 Kyle Shapes Redux" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>