<snapdata remixID="9065737"><project name="U2L2p1DrawShape Solution" app="Snap! 5.1, http://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAADsElEQVR4Xu3Su2qUYRCA4ckBwSppFgKBiJWo4AldDyTqokhITBOEgOAFaKmdVukD9l6GFyA28RZiFQQtcgFiE2UFsZOVKTJMsc9fDzP8z/fOjMfjcfgI9AjszgiwR97VPwICFEKrgABb+R0XoAZaBQTYyu+4ADXQKiDAVn7HBaiBVgEBtvI7LkANtAoIsJXfcQFqoFVAgK38jgtQA60CAmzld1yAGmgVEGArv+MC1ECrgABb+R0XoAZaBQTYyu+4ADXQKiDAVn7HBaiBVgEBtvI7LkANtAoIsJXfcQFqoFVAgK38jgtQA60CAmzld1yAGmgVEGArv+MC1ECrgABb+R0XoAZaBQTYyu+4ADXQKiDAVn7HBaiBVgEBtvI7LkANtAoIsJXfcQFqoFVAgK38jgtQA60CAmzld1yAGmgVEGArv+MC1ECrgABb+R0XoAZaBQTYyu+4ADXQKiDAVn7HBTipgb29t7Gz8ySWl5djdnZWKjUCApzk+uL5q3j37n0MBqdje3sjbt+5HA8fjmJpaanmKaZzqwAnvfvx8XGsr+/Exw8Hf0fGMTf3My5cPBurq1dia+tR3Lo9jIWFhelM52T+WoD/c9zf/xR3V59FxKl/xmZmf8RodClev3kZo9HoZJ5j+rYIcNKbHx0dxc3hVnz7+j0ixjE3/yvOnz8T9+7fiMePH8RweD0WFxenL5mT/WMBTvJcW9uIzwdf4unT7bh67Vxsbq7HYDA4WX7bBDipgcPDw1hZWYn5+XmZ1AkIsM7W5oSAABNIRuoEBFhna3NCQIAJJCN1AgKss7U5ISDABJKROgEB1tnanBAQYALJSJ2AAOtsbU4ICDCBZKROQIB1tjYnBASYQDJSJyDAOlubEwICTCAZqRMQYJ2tzQkBASaQjNQJCLDO1uaEgAATSEbqBARYZ2tzQkCACSQjdQICrLO1OSEgwASSkToBAdbZ2pwQEGACyUidgADrbG1OCAgwgWSkTkCAdbY2JwQEmEAyUicgwDpbmxMCAkwgGakTEGCdrc0JAQEmkIzUCQiwztbmhIAAE0hG6gQEWGdrc0JAgAkkI3UCAqyztTkhIMAEkpE6AQHW2dqcEBBgAslInYAA62xtTggIMIFkpE5AgHW2NicEBJhAMlInIMA6W5sTAgJMIBmpExBgna3NCQEBJpCM1AkIsM7W5oSAABNIRuoEBFhna3NCQIAJJCN1AgKss7U5ISDABJKROgEB1tnanBAQYALJSJ2AAOtsbU4I7P4GAjFKL0Qus/cAAAAASUVORK5CYII=</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,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="Sprite" idx="1" x="0.2097902097905914" y="-0.6293706293704385" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="2,0,40,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="20" y="10"><block s="doSetVar"><l>A</l><block s="reportNewList"><list><block s="reportNewList"><list><l>-50</l><l>20</l></list></block><block s="reportNewList"><list><l>-10</l><l>120</l></list></block><block s="reportNewList"><list><l>10</l><l>120</l></list></block><block s="reportNewList"><list><l>50</l><l>20</l></list></block><block s="reportNewList"><list><l>30</l><l>20</l></list></block><block s="reportNewList"><list><l>20</l><l>50</l></list></block><block s="reportNewList"><list><l>-20</l><l>50</l></list></block><block s="reportNewList"><list><l>-30</l><l>20</l></list></block></list><comment w="158" collapsed="false">You must initialize the list before you run the script below.&quot;</comment></block></block></script><script x="28" y="104.4000000000002"><block s="clear"></block><block s="up"></block><custom-block s="for each %upvar of %l %cs"><l>point</l><block var="A"/><script><custom-block s="go to point %l"><block var="point"/></custom-block><block s="down"></block></script></custom-block><custom-block s="go to point %l"><block s="reportListItem"><l>1</l><block var="A"/></block></custom-block></script><comment x="23" y="281.3333333333327" w="440.6666666666667" collapsed="false">TIF A.  The problem is that an outline A like this has two disconnected parts, so we can&apos;t just add points to the list A.  The simplest solution is to have a second list of points for the inside part. Students may experiment to find coordinates they find satisfying.  Here are some that work.  </comment><script x="26" y="362.66666666666583"><block s="doSetVar"><l>A2</l><block s="reportNewList"><list><block s="reportNewList"><list><l>-10</l><l>70</l></list></block><block s="reportNewList"><list><l>0</l><l>100</l></list></block><block s="reportNewList"><list><l>10</l><l>70</l></list></block></list><comment w="189" collapsed="false">You must initialize the list before you run the script below.&quot;</comment></block></block></script><script x="24" y="421.66666666666583"><block s="clear"><comment w="169.33333333333334" collapsed="true">It starts just as it did before.</comment></block><block s="up"></block><custom-block s="for each %upvar of %l %cs"><l>point</l><block var="A"/><script><custom-block s="go to point %l"><block var="point"/></custom-block><block s="down"></block></script></custom-block><custom-block s="go to point %l"><block s="reportListItem"><l>1</l><block var="A"/></block></custom-block><block s="up"><comment w="279.3333333333333" collapsed="true">This repeats the script above w/o CLEARing first...</comment></block><custom-block s="go to point %l"><block s="reportListItem"><l>1</l><block var="A2"/></block></custom-block><custom-block s="for each %upvar of %l %cs"><l>point</l><block var="A2"/><script><custom-block s="go to point %l"><block var="point"/></custom-block><block s="down"></block></script></custom-block><custom-block s="go to point %l"><block s="reportListItem"><l>1</l><block var="A2"/></block></custom-block></script><comment x="19.400000000000006" y="733.1333333333334" w="475.3333333333333" collapsed="false">That approach wouldn&apos;t be generalizable.  Some letters, such as T, have only one closed path.  B, on the other hand, requires three separate closed paths.  So another approach would be to use a /list of paths/ to represent a letter, and a single script that lifts the pen between paths, however many there are. Here is an alternative that works for any letter. The list for A is used as an example:</comment><script x="18" y="840.6666666666672"><block s="doSetVar"><l>A</l><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportNewList"><list><l>-50</l><l>20</l></list></block><block s="reportNewList"><list><l>-10</l><l>120</l></list></block><block s="reportNewList"><list><l>10</l><l>120</l></list></block><block s="reportNewList"><list><l>50</l><l>20</l></list></block><block s="reportNewList"><list><l>30</l><l>20</l></list></block><block s="reportNewList"><list><l>20</l><l>50</l></list></block><block s="reportNewList"><list><l>-20</l><l>50</l></list></block><block s="reportNewList"><list><l>-30</l><l>20</l></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>-10</l><l>70</l></list></block><block s="reportNewList"><list><l>0</l><l>100</l></list></block><block s="reportNewList"><list><l>10</l><l>70</l></list></block></list></block></list></block><comment w="140" collapsed="false">You must initialize the list before you run the script below.&quot;</comment></block></script><script x="19" y="956.5333333333347"><block s="clear"></block><custom-block s="for each %upvar of %l %cs"><l>path</l><block var="A"/><script><block s="up"></block><custom-block s="for each %upvar of %l %cs"><l>point</l><block var="path"/><script><custom-block s="go to point %l"><block var="point"/></custom-block><block s="down"></block></script></custom-block><custom-block s="go to point %l"><block s="reportListItem"><l>1</l><block var="path"/></block></custom-block></script></custom-block><block s="up"></block><block s="doGlide"><l>1</l><l>0</l><l>0</l></block></script></scripts></sprite><watcher var="A" style="normal" x="0.3817639160156432" y="0" color="243,118,29" hidden="true"/><watcher var="A2" style="normal" x="1.5270556640625728" y="1.5270556640624875" color="243,118,29" hidden="true"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportEquals"><block var="data"/><block s="reportNewList"><list></list></block></block></block></script></block-definition><block-definition s="for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%l"></input><input type="%cs"></input></inputs><script><block s="doUntil"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doRun"><block var="action"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block></script></block-definition><block-definition s="go to point %&apos;point&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doGlide"><l>.2</l><block s="reportListItem"><l>1</l><block var="point"/></block><block s="reportListItem"><l>2</l><block var="point"/></block></block></script></block-definition></blocks><variables><variable name="A"><list id="299"><item><list id="300"><item><list struct="atomic" id="301">-50,20</list></item><item><list struct="atomic" id="302">-10,120</list></item><item><list struct="atomic" id="303">10,120</list></item><item><list struct="atomic" id="304">50,20</list></item><item><list struct="atomic" id="305">30,20</list></item><item><list struct="atomic" id="306">20,50</list></item><item><list struct="atomic" id="307">-20,50</list></item><item><list struct="atomic" id="308">-30,20</list></item></list></item><item><list id="309"><item><list struct="atomic" id="310">-10,70</list></item><item><list struct="atomic" id="311">0,100</list></item><item><list struct="atomic" id="312">10,70</list></item></list></item></list></variable><variable name="A2"><list id="313"><item><list struct="atomic" id="314">-10,70</list></item><item><list struct="atomic" id="315">0,100</list></item><item><list struct="atomic" id="316">10,70</list></item></list></variable></variables></project><media name="U2L2p1DrawShape Solution" app="Snap! 5.1, http://snap.berkeley.edu" version="1"></media></snapdata>