<snapdata remixID="8453796"><project name="U1L3-AngleExperiments2" app="Snap! 5.1, http://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAC5klEQVR4nO3cTWoUURSGYVegswycKBhE16BiBoEQdQc6c0GSNXQ21esQBxldB4lJm/RPVXWnvntznwd60lQVB84LTTVUPSsQ9Cw9AH0TIFECJEqARAmQKAESJUCiBEiUAIkSIFECJEqARAmQKAESJUCiBEiUAIkSIFECJEqARAmQKAESJUCiBEiUAIkSIFECJEqARAmQKAESJUCiBEiUAIkSIFECJOrJB3jx8jQ9wmQtzz7Ukw+wlDYX2eLMU3QRYCltLbSlWffVTYCltLHYFmY8pK4CLKXuBdc822PpLsBS6lx0jTPNocsAS6lr4TXNMrduAyyljsXXMENS1wGWkg2g9/hKEWApJROC+K4J8MacQYjvjgBXzBGG+P4nwHseMxDxPSTANR4jFPGtJ8ANDhmM+DYT4BaHCEd82wlwh30CEt9uAhxgSkjiG0aAA40JSnzDCXCEIWGJbxwBjrQtMPGNJ8AJ1oUmvmkEONFqcOKbToB7WJz8LIuTn+kxmibAPVz9/lOufv9Jj9E0AU508fK0fP94Vn58OPMTvAcBTvAvuF/HX8qvN+f/fcc4Ahzp/s2Hm5H9CHCE1cCWy+VtgMvlcu0x7CbAge6HdX707jbAb0fvtx7LZgIcYNMfz6ufIefwkAB32BTSrgC3ncsdAW6xKaDLy8tycfz17ri338pisRh1Da4JcINt4Xx6/urBd59fvJ50rd4JcA0PJc1HgPd4LHNeAlzhwfT5CfCGV3NkCLB4OVFS9wF6PVtW1wHWEEANMyR1G2BNi69plrl1GWCNC69xpjl0F2DNi655tsfSVYAtLLiFGQ+pmwBbWmxLs+6riwBbXGiLM0/x5ANseZEtzz7Ukw+QugmQKAESJUCiBEiUAIkSIFECJEqARAmQKAESJUCiBEiUAIkSIFECJEqARAmQKAESJUCiBEiUAIkSIFECJEqARAmQKAESJUCiBEiUAIkSIFECJEqARAmQKAESJUCi/gIWJe6sPIVh1QAAAABJRU5ErkJggg==</thumbnail><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" volume="100" pan="0" lines="round" ternary="true" codify="false" inheritance="false" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,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</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="Sprite" idx="1" x="-2.2737367544323206e-13" y="5.684341886080802e-14" heading="0" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="145,26,68,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="14.333333333333343" y="145.66666666666663"><block s="clear"></block><block s="setColor"><color>145,26,68,1</color></block><block s="doRepeat"><l>5</l><script><block s="forward"><l>100</l></block><block s="doWait"><l>0</l></block><block s="forward"><l>-100</l></block><block s="doWait"><l>0</l></block><block s="turn"><block s="reportQuotient"><l>360</l><l>5</l></block></block></script></block></script><script x="235.33333333333337" y="140"><block s="clear"></block><block s="setColor"><color>145,26,68,1</color></block><block s="doRepeat"><l>8</l><script><block s="forward"><l>100</l></block><block s="doWait"><l>0</l></block><block s="forward"><l>-100</l></block><block s="doWait"><l>0</l></block><block s="turn"><block s="reportQuotient"><l>360</l><l>8</l></block></block></script></block></script><script x="503.33333333333337" y="141"><block s="clear"></block><block s="setColor"><color>145,26,68,1</color></block><block s="doRepeat"><l>3</l><script><block s="forward"><l>100</l></block><block s="doWait"><l>0</l></block><block s="forward"><l>-100</l></block><block s="doWait"><l>0</l></block><block s="turn"><block s="reportQuotient"><l>360</l><l>3</l></block></block></script></block></script><script x="20.333333333333343" y="398"><block s="clear"><comment w="90" collapsed="false">4b (ii): This script now makes a hexagon, instead of a six sided asterisk.</comment></block><block s="setColor"><color>145,26,68,1</color></block><block s="doRepeat"><l>6</l><script><block s="forward"><l>100</l></block><block s="doWait"><l>0</l></block><block s="turn"><block s="reportQuotient"><l>360</l><l>6</l></block></block></script></block></script><script x="260.33333333333337" y="405"><block s="clear"><comment w="90" collapsed="false">4c(iii): This script now makes a square, instead of a four sided asterisk.</comment></block><block s="setColor"><color>145,26,68,1</color></block><block s="doRepeat"><l>4</l><script><block s="forward"><l>100</l></block><block s="doWait"><l>0</l></block><block s="turn"><block s="reportQuotient"><l>360</l><l>4</l></block></block></script></block></script><script x="491" y="386.33333333333337"><block s="clear"><comment w="90" collapsed="false">5: The change is size and color allows you to erase the previous &quot;Second&quot; that was printed, and allows you to print the next &quot;second&quot; on your clock without there being any other lines on the screen.</comment></block><block s="doRepeat"><l>60</l><script><block s="setColor"><color>145,26,68,1</color></block><block s="setSize"><l>1</l></block><block s="forward"><l>100</l></block><block s="doWait"><l>1</l></block><block s="setColor"><color>255,254,250,1</color></block><block s="setSize"><l>3</l></block><block s="forward"><l>-100</l></block><block s="turn"><block s="reportQuotient"><l>360</l><l>60</l></block></block></script></block></script><script x="132" y="15"><block s="receiveGo"></block><block s="clear"></block><block s="up"></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="setHeading"><l>0</l></block><block s="down"></block></script></scripts></sprite></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="setting %&apos;which&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>Project notes&#xD;Project name&#xD;User&#xD;Presentation mode&#xD;Language&#xD;Zoom blocks&#xD;Stage size&#xD;Stage scale&#xD;Retina display support&#xD;Long form input dialog&#xD;Plain prototype labels&#xD;Input sliders&#xD;Execute on slider change&#xD;Clicking sound&#xD;Turbo mode&#xD;Flat design&#xD;Keyboard editing&#xD;Table support&#xD;Table lines&#xD;Visible stepping&#xD;Thread safe scripts&#xD;Prefer smooth animations&#xD;Flat line ends&#xD;Codification support&#xD;Inheritance support</options></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>which</l></list><l>var   stage = this.parentThatIsA(StageMorph),&#xD;        ide = stage.parentThatIsA(IDE_Morph),&#xD;        world = stage.parentThatIsA(WorldMorph);&#xD;&#xD;switch (which) {&#xD;    case &apos;Project notes&apos;:&#xD;        return ide.projectNotes;&#xD;    case &apos;Project name&apos;:&#xD;        return ide.projectName;&#xD;    case &apos;User&apos;:&#xD;        return SnapCloud.username;&#xD;    case &apos;Presentation mode&apos;:&#xD;        return ide.isAppMode;&#xD;    case &apos;Language&apos;:&#xD;        return SnapTranslator.language;&#xD;    case &apos;Zoom blocks&apos;:&#xD;        return SyntaxElementMorph.prototype.scale;&#xD;    case &apos;Stage size&apos;:&#xD;        return new List([StageMorph.prototype.dimensions.x,&#xD;                                   StageMorph.prototype.dimensions.y]);&#xD;    case &apos;Stage scale&apos;:&#xD;       return stage.scale;&#xD;    case &apos;Retina display support&apos;:&#xD;        return isRetinaEnabled();&#xD;    case &apos;Long form input dialog&apos;:&#xD;        return InputSlotDialogMorph.prototype.isLaunchingExpanded;&#xD;    case &apos;Plain prototype labels&apos;:&#xD;        return BlockLabelPlaceHolderMorph.prototype.plainLabel;&#xD;    case &apos;Input sliders&apos;:&#xD;        return MorphicPreferences.useSliderForInput;&#xD;    case &apos;Execute on slider change&apos;:&#xD;        return ArgMorph.prototype.executeOnSliderEdit;&#xD;    case &apos;Clicking sound&apos;:&#xD;        return !!BlockMorph.prototype.snapSound;&#xD;    case &apos;Turbo mode&apos;:&#xD;        return stage.isFastTracked;&#xD;    case &apos;Flat design&apos;:&#xD;        return MorphicPreferences.isFlat;&#xD;    case &apos;Keyboard editing&apos;:&#xD;        return ScriptsMorph.prototype.enableKeyboard;&#xD;    case &apos;Table support&apos;:&#xD;        return List.prototype.enableTables;&#xD;    case &apos;Table lines&apos;:&#xD;        return TableMorph.prototype.highContrast;&#xD;    case &apos;Visible stepping&apos;:&#xD;        return Process.prototype.enableSingleStepping;&#xD;    case &apos;Thread safe scripts&apos;:&#xD;        return stage.isThreadSafe;&#xD;    case &apos;Prefer smooth animations&apos;:&#xD;        return StageMorph.prototype.frameRate &gt; 0;&#xD;    case &apos;Flat line ends&apos;:&#xD;        return SpriteMorph.prototype.useFlatLineEnds;&#xD;    case &apos;Codification support&apos;:&#xD;        return StageMorph.prototype.enableCodeMapping;&#xD;    case &apos;Inheritance support&apos;:&#xD;        return StageMorph.prototype.enableInheritance;&#xD;    default: return which;&#xD;}</l></block><list><block var="which"/></list></block></block></script></block-definition><block-definition s="set flag %&apos;which&apos; to %&apos;tf&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>Presentation mode&#xD;Retina display support&#xD;Long form input dialog&#xD;Plain prototype labels&#xD;Input sliders&#xD;Execute on slider change&#xD;Clicking sound&#xD;Turbo mode&#xD;Flat design&#xD;Keyboard editing&#xD;Table support&#xD;Table lines&#xD;Visible stepping&#xD;Thread safe scripts&#xD;Prefer smooth animations&#xD;Flat line ends&#xD;Codification support&#xD;Inheritance support</options></input><input type="%b"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>which</l><l>tf</l></list><l>var   stage = this.parentThatIsA(StageMorph),&#xD;        ide = stage.parentThatIsA(IDE_Morph),&#xD;        world = stage.parentThatIsA(WorldMorph);&#xD;&#xD;if (tf != !!tf) return;&#xD;switch (which) {&#xD;    case &apos;Presentation mode&apos;:&#xD;        if (tf != ide.isAppMode) ide.toggleAppMode();&#xD;        return;&#xD;    case &apos;Retina display support&apos;:&#xD;        if (tf != isRetinaEnabled()) ide.toggleRetina();&#xD;        return;&#xD;    case &apos;Long form input dialog&apos;:&#xD;        if (tf != InputSlotDialogMorph.prototype.isLaunchingExpanded)&#xD;            ide.toggleLongFormInputDialog();&#xD;        return;&#xD;    case &apos;Plain prototype labels&apos;:&#xD;        if (tf != BlockLabelPlaceHolderMorph.prototype.plainLabel)&#xD;            ide.togglePlainPrototypeLabels();&#xD;        return;&#xD;    case &apos;Input sliders&apos;:&#xD;        MorphicPreferences.useSliderForInput = tf;&#xD;        return;&#xD;    case &apos;Execute on slider change&apos;:&#xD;        ArgMorph.prototype.executeOnSliderEdit = tf;&#xD;        return;&#xD;    case &apos;Clicking sound&apos;:&#xD;        if (tf != !!BlockMorph.prototype.snapSound)&#xD;            BlockMorph.prototype.toggleSnapSound();&#xD;        return;&#xD;    case &apos;Turbo mode&apos;:&#xD;        if (tf != stage.isFastTracked)&#xD;            ide.toggleFastTracking();&#xD;        return;&#xD;    case &apos;Flat design&apos;:&#xD;        if (tf == MorphicPreferences.isFlat) return;&#xD;        if (tf)&#xD;            ide.flatDesign();&#xD;        else&#xD;            ide.defaultDesign();&#xD;        return;&#xD;    case &apos;Keyboard editing&apos;:&#xD;            ScriptsMorph.prototype.enableKeyboard = tf;&#xD;            if (ScriptsMorph.prototype.enableKeyboard) {&#xD;                ide.removeSetting(&apos;keyboard&apos;);&#xD;            } else {&#xD;                ide.saveSetting(&apos;keyboard&apos;, false);&#xD;            }&#xD;        return;&#xD;    case &apos;Table support&apos;:&#xD;            List.prototype.enableTables = tf;&#xD;            if (List.prototype.enableTables) {&#xD;                ide.removeSetting(&apos;tables&apos;);&#xD;            } else {&#xD;                ide.saveSetting(&apos;tables&apos;, false);&#xD;            }&#xD;        return;&#xD;    case &apos;Table lines&apos;:&#xD;                TableMorph.prototype.highContrast = tf;&#xD;                if (TableMorph.prototype.highContrast) {&#xD;                    ide.saveSetting(&apos;tableLines&apos;, true);&#xD;                } else {&#xD;                    ide.removeSetting(&apos;tableLines&apos;);&#xD;                }&#xD;        return;&#xD;    case &apos;Visible stepping&apos;:&#xD;        if (tf != Process.prototype.enableSingleStepping)&#xD;            ide.toggleSingleStepping();&#xD;        return;&#xD;    case &apos;Thread safe scripts&apos;:&#xD;        stage.isThreadSafe = tf;&#xD;        return;&#xD;    case &apos;Prefer smooth animations&apos;:&#xD;        if (tf != (StageMorph.prototype.frameRate &gt; 0))&#xD;            ide.toggleVariableFrameRate();&#xD;        return;&#xD;    case &apos;Flat line ends&apos;:&#xD;        SpriteMorph.prototype.useFlatLineEnds = tf;&#xD;        return;&#xD;    case &apos;Codification support&apos;:&#xD;        if (tf != StageMorph.prototype.enableCodeMapping) {&#xD;            StageMorph.prototype.enableCodeMapping = tf;&#xD;            ide.currentSprite.blocksCache.variables = null;&#xD;            ide.currentSprite.paletteCache.variables = null;&#xD;            ide.refreshPalette();&#xD;        }&#xD;        return;&#xD;    case &apos;Inheritance support&apos;:&#xD;        if (tf != StageMorph.prototype.enableInheritance) {&#xD;            StageMorph.prototype.enableInheritance = tf;&#xD;            ide.currentSprite.blocksCache.variables = null;&#xD;            ide.currentSprite.paletteCache.variables = null;&#xD;            ide.refreshPalette();&#xD;        }&#xD;        return;&#xD;}</l></block><list><block var="which"/><block var="tf"/></list></block></script></block-definition><block-definition s="set value %&apos;which&apos; to %&apos;value&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>Project notes&#xD;Project name&#xD;Language&#xD;Zoom blocks&#xD;Stage size&#xD;Stage scale</options></input><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>which</l><l>value</l></list><l>var   stage = this.parentThatIsA(StageMorph),&#xD;        ide = stage.parentThatIsA(IDE_Morph),&#xD;        world = stage.parentThatIsA(WorldMorph);&#xD;&#xD;switch (which) {&#xD;    case &apos;Project notes&apos;:&#xD;        ide.projectNotes = value;&#xD;        return;&#xD;    case &apos;Project name&apos;:&#xD;        ide.setProjectName(value);&#xD;        return;&#xD;    case &apos;Language&apos;:&#xD;        ide.setLanguage(value);&#xD;        return;&#xD;    case &apos;Zoom blocks&apos;:&#xD;        if (!isNaN(value)) ide.setBlocksScale(Math.min(value, 12));&#xD;        return;&#xD;    case &apos;Stage size&apos;:&#xD;        if ((value instanceof List) &amp;&amp; value.length()==2&#xD;                       &amp;&amp; !isNaN(value.at(1)) &amp;&amp; !isNaN(value.at(2)))&#xD;            ide.setStageExtent(new Point(value.at(1), value.at(2)));&#xD;        return;&#xD;    case &apos;Stage scale&apos;:&#xD;        ide.toggleStageSize(value != 1, Math.max(0.1, value));&#xD;        return;&#xD;};</l></block><list><block var="which"/><block var="value"/></list></block></script></block-definition></blocks><variables></variables></project><media name="U1L3-AngleExperiments2" app="Snap! 5.1, http://snap.berkeley.edu" version="1"></media></snapdata>