<snapdata remixID="8727280"><project name="U2L2-DrawShape_DennisPham" app="Snap! 5.1, http://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAADyUlEQVR4nO3bS0tUcRjHcbFaaC5Sg7y2TGtfWZoGXbBoXGipZYuKtEGaLtpFMh0rqIgwugjhpo1FudBSU6FIslX0LvSFPC0q0+acuR7nl2e+HxiQ/7k9whflMOdkGSCUpR4AmY0AIUWAkCJASBEgpAgQUgQIKQKEFAFCigAhRYCQIkBIESCkCBBSBAgpAoQUAUKKACFFgJAiwASVlda6bisuqknjJP5AgJAiwASE+5/F3Of48UtpmMQ/CDABMzPzMfeZmPiShkn8gwBTcLK1y063XVOPsaYRYJw2F1ZFrN24/si6rj6IWC/I35WOkXyBACFFgHHo73sasTY8/G7p5/fvP0dsv3t3aFVn8gsCjMPIyIeItcqK+qWfK7bVR2znZiQ+BAgpAoyhtGRf0seWFCd/bKYgwCQ4feVWWMCdbzIIMAqnmw8zs/n5HxFrc3PfHfe9c+eFpzP5DQFGMT39NeVzDA6+Sn0QHyPABB090u66LXDsQhon8QcCdLG1fL/jes/Nx67HdHc9dFwv2lLtyUx+RICQIkAHbjcfubnFNjo6GvVYpxsUM7OB8POU5/IjAnTg9tjV4UPnbF32dsvOqrTsrErbuLHUFhYWVuyTv2mn47GTk3Nej+kLBJiEPwEu/2xYv8Nqag6qR1tzCPAf5WV1MfdxC7C6+kDU47gZiUSACVr+Lzgvr8wWFxfVI61pBLjM7d4nUbfn5BTZ2NhYStfgZmQlAlxmdvab43pdbZs1BIIWCASto73PBsLPHT8XOvqsIRC0Uye7rfnEZcdzTU3NreJvsPYQIKQI8De3F86bGkNJn9PtryAvsP9FgDEMDb1O+ti3bz96OIk/EaDF98K51zo7B9J+zf8RAZr7Nx9H6s+nfO69e1oc13ln5BcCjGJ8/FPK53jzZtKDSfwr4wOM55uP1cIL7AToqmp3s2fn4kFVdxkdoNtjV2Zm9++/9Ow64bD7TU6mvzOS0QG2tlyxhkDQmhpDFrp4z3pvDdrZMz3WEAh6fq2mxpB1tPetuEZTY8j1KepMkdEBQo8AIUWAkCJASBEgpAgQUgQIKQKEFAFCigAhRYCQIkBIESCkCBBSBAgpAoQUAUKKACFFgJAiQEgRIKQIEFIECCkChBQBQooAIUWAkCJASBEgpAgQUgQIKQKEFAFCigAhRYCQIkBIESCkCBBSBAgpAoQUAUKKACFFgJAiQEgRIKQIEFIECCkChBQBQooAIUWAkCJASBEgpAgQUgQIKQKEFAFCigAhRYCQIkBIESCkCBBSBAgpAoQUAUKKACH1E/fk+OUZgXhvAAAAAElFTkSuQmCC</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,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAANX0lEQVR4nO3dW6xtVXkH8P+Yb22s0kYE8ZLDOXvPMUhrk8anJtYaHwoIBXoTgRaL1jRpmqqtMVEEjqCk4VJbkCrUArUgKHdESO1FBBWSJm1tqi1pNV5LNdUWbW1jentYG6FHzjl7rzn2Za39+z0d5p7jP8acL4s115jflwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwDIbTxzSrk/qXUPGt5e0W4a064a031k7dsWQdu0Bx9bOqzcOaZceMPb6ZOX47b4qANjRSurHhtQbknr3kHZxSb11SLt+yHjF2rErh4zXHXDs8fPeN2S87MBjJfX+7b4uANjB6jEl9Uu9U0vao8mxR/XOBYClMKS9NannLUouACyFkvZPyb5n9U8+7tkl9cv9cwFg4bWfLKl3bVZ6SbsnGV+2WfkAsJA2/wOynVxS7968fABYOFvziNhmLAB4kq3bJNVuTeotmz8PACyAkvbN5Hn7Nn+mzXnNCQAWUD21pN6x8XGr5yTjazY6qqR+KBlP3Ph8ALBESuq9ST1hjnGfLal/ufEZN3e3NQAsgJXnltQvzDOypH6rpD4239jNet8YABbAkHpRUs/d+Mj60pL6JyXt/mT1xXPMe2FS37LxeQFgCZTUryQrR2503JB2UzJenNRLZo0bNmp8Tkn94sbHAcDCq6eU1DvnGVlSH032/VCy8iPz7mqe97dnAFho8+9GHltJ/fQTOe3vk5U5XmGq55TUj218HAAsrJV9Je2f5xvb3jCkXvL4fw1pv5XU182TVNK+nux9/nzrAIAFM6S+KxmvnGdsSX0gGV/0xJGVnyipD863jrY/Gc+fZywALJz5XwN61lEl9T+eIu/byRFHbDxPm0IAdo0phTDamU+163ltV/Tp8ySWtA8mqyfNtx4AWBBTSkEOqTcn9eXf/Zd2xpB643wr0qYQgKU37f3bkvbvyXO/57v/sueIkvqtCbnaFAKwvKZVoBpfU9I+d7C/ltRPJvXU+da1Ve0QAWAbzFv5KlnP60bj64e0y+dbmc1YACyt+qophS8OX3Bj72pJe2T+/Pp3SX3tvOMBYEcqaQ8lK2fNN7qNsw/Iw87xSLJ3dc45tCkEYNnUY+at2bw2/j3r26ncPpyM1807izaFACyVqZucSsaHk5WXHP7M9pKS+mfzzmMzFgBLZdo3y5Wnl9R/3cBcB3lVaT1sxgJgaUz9bbWeNaT+4XrPHlLfn9Sfm3e2knZPMr5s3vEAsCNM/UCbPVIef3X9I8aLS9pfzDufylgALIHpj3RnzReOfNr6R/zg00rqN6bN2f4x2XP0lAwA2DbTNzXNt6mqpN2frL543lnX2iVeNe94ANhWJe2byfMOUTzj0IbUd8xXHKP9xpB66bzzJnv2lLSvzT8eALZNPbWk3jElYdYkof7wxkeOLyqpkz5AtSkEYCGV1HuTesL8CfteOK1zUv1ssnecf36bsQBYONPaDs5Me4x8+OYNh2czFgALZVrbwZmS9tFk/LH5E6ZVxUqSIW1/Mp4/JQMAtsz0msr1+2YbuCav49vJ9z9j/oQ9R8++BQPAjldPKal3TssYzy9pD09dSUm7PRl/YWKGzVgA7Hwl9UPJeOKUjKnlJJ/QzhxSb5iWMb6+pP7t9LUAwKZpLyipj01NmdZQ4ck21sjhEOt5NDn2qOnrAYBNMKS+LWlvnpbSji+pD/ZZUTJ7lF1fOiVDm0IAdrSS+tVkfObEjHuT9s5ea0rGq0vGD07L0KYQgB1rPG226WmakvqZpB7bY0Uze1dL2iNTU7QpBGBHKqn3Je34aSmrx5W0T/VZ0RNmH8B7V6elTO1rDADdrTy3pH5hek5945D6m9Nz/r8h7fJkfP3UnOnvNwNAR0PqRUk9d2pOSftcMr6iw5IOUF9d0j4/NaVHhS8A6KakfiVZOXJayt5n9HiF6WBK2r8lx3zvtJRx79QuSwDQSX1Vn9eGehTNOLgh7aZkPH1qTkn9eDKe3WNNADC3kvZQsnLW1JxeH5AH184YUm+cnrN60qw8JQBsmx5tB2dmjRN+4Ok9sp7aMc8sqf/ZI0mbQgC2Vb9NSSvHl4wPTM85tOktDh83nj9rVQgA26DP5qtkSH1HUl/bY02H1t4wpF4yPUebQgC2TT21pN7RI6mk/kMy7u2RdWhjK6mf7pGkTSEA22JWs7meMD1p3wtL6pem56xPSf2XZOVHpye1k0vq3dNzAGDdelW+SpJ6yZDxvX2yDq9XVazEZiwAttiQdk0yXtEjq9/GqPVqP17SPtIp69ak3tInCwAOY9bkfnzO9KSVp8+ytlafqlhJUo/ZysfnAOxq9ZSSemefrHZZSf3MkHZBUu8c0i4Y0q4YUq8d0i4oOe6OIe2tQ+pVQ+rvrZ131+y8494xpP3BPGNnvX3HLj2HtSkEYEuU1A8l44l90sY3lYy3zd6prXcNafuHtCuHjNcNaftL6p1D6oVD6u8Oqe9ZO+/u2Xn1t4fU9843dnxnstrptSdtCgHYdP0qXy0TbQoB2FTa8T019wWATeWb3sHYjAXApvFb56H0/W0cANb4gDmcnrvDASBJ0l5QUh/b7lXsdCXtG8necbvXAcCSGFLflrQ3b/c6dj5tCgHoqKR+NRmfud3r2Pm0KQSgm/G0knZ7h5yzS8YPr1WsuqB8p6LVk6tbtQuGtKuH1Hev47zLhtQbpuQNaTcOqZeu/fvaZN/k37hnHZLaydPvFwC7Wkm9L2nHd8j5eMn40bWKVfvLd6pSPblCVds/pF0zZLx6HeddPqTeOCVvSHvfkPGytcpaHygZ/3jyDcvqSbNewQAwt25tB4eS+l8dcjbVkPa/PXK0KQRgkiH1oqSeOz2pXlhS/2p6zuYqqZ9MxjdNzZl9Cx/P77AkAHajkvqVZOXI6Tnt9mQ8rceaNtf4ipJ66/Sc454967gEABtWX1VSH+wQVErq/3TI2RIdH0N/IhnP7pEFwC5S0h5KVs6anjS+cpFKWJa0v0nqedOTxleW1I9NzwFgF+nXXKCk3Zas/kyPrK1Rf3ZI/UCPpJL2aHLsUT2yANgFhrS39vkWmCzS4+fH9Vpzz/sIwC7Qr+1gffmQevP0nK01azzR4/G7zVgArFu/toMl7eFk/JUeWVtrPH1IfX+PpFlRjtWTemQBsMRK2j3J+LIOUQtRfOMgOu7cbifPylMCwEH1fGS6emZJvaVP1tabbR4bf6pTlspYABxc581Xf53UN/bI2h7tTSX1z3skDanvSsaremQBsIRK2jeT5+3rEVVS/7tDzrbqVZQj2bOnpH2tTxYAS6aeWlLv6JM1/npJ/USfrO1TUu9NVn+xT1a339YBWCazD5t6Qqes+5ajDGN9Xb//kei3uxyApdGt7WCyJI+fH9fvMXTP96sBWAr92g4mi9J6cL16tShMkiH1wqS+pUcWAEugV9vBWdaitB5cr9Uz+r1ONT6npH6xTxYAC67n5qvlevy8pus1zcpcjif2ygNgQfXcfJW0Xy5pf9Qna+dY6+3bqaRmPUebQoBdr+8j0cVrPbhefZtKlLSvJ3uf3ysPgIXTbk/XD5bFaz24Xj2vbUjbn4zn98oDYMH0fS1mMVsPrlfJeE9Sf75P2p6jZ/WhAdiF6ikl9c5eaYvbenC9xleWjB/slaZNIcAu1Xk37iK3Hly3vo/YtSkE2IV6v486nj6k3dQvb2cqabcmqz/dMU+bQoDdpHdFppL2qV7Vona2cf+sMlYfNmMB7DI9K19lOYtvHEznaz3u2SX1y/3yANjBxotL2udL2q1D6ttK6l1D2hVD6rWHOpYnHRvSbhxSLy2pd5W0j5TUB7b7qrZKSf3TIfXmA+7V1UPqu5/qXq3jPj+SrP7adl8XAJuunjdkvLmk3TZkfHtJvXtIu3LIeN2hjuVJx4a09w0ZLyupd88qaa28eruvauusnjyk/v4B9+qaIePVT3Wv1nGfL09Wfmm7rwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYB3+D/u6o1ZGBIYHAAAAAElFTkSuQmCC</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="15" y="60" 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="30" y="30"><block s="receiveGo"></block><block s="up"></block><block s="gotoXY"><l>-30</l><l>20</l></block><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></block><comment w="90" collapsed="false">Processing Each Item in a List</comment></block><block s="down"></block><block s="doForEach"><l>item</l><block var="A"/><script><custom-block s="go to point %l"><block var="item"/></custom-block></script></block><block s="doSetVar"><l>triangle</l><block s="reportNewList"><list><block s="reportNewList"><list><l>-15</l><l>60</l></list></block><block s="reportNewList"><list><l>0</l><l>110</l></list></block><block s="reportNewList"><list><l>15</l><l>60</l></list></block></list></block></block><block s="up"></block><block s="gotoXY"><l>15</l><l>60</l></block><block s="down"></block><block s="doForEach"><l>item</l><block var="triangle"/><script><custom-block s="go to point %l"><block var="item"/></custom-block></script></block></script><script x="476" y="35"><block s="receiveKey"><l><option>space</option></l></block><block s="clear"></block></script><script x="188" y="443"><custom-block s="draw shape %l"><block s="reportNewList"><list><custom-block s="point %n %n"><l>0</l><l>0</l></custom-block><custom-block s="point %n %n"><l>100</l><l>100</l></custom-block><custom-block s="point %n %n"><l>100</l><l>0</l></custom-block></list></block><comment w="90" collapsed="false">Abstract data types</comment></custom-block></script></scripts></sprite><watcher var="A" style="normal" x="-0.7291666666665151" y="-3.5052070791666665" color="243,118,29" hidden="true"/><watcher var="triangle" style="normal" x="6" y="178" color="243,118,29" hidden="true"/><watcher var="b" style="normal" x="10" y="10" 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 %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>step</l><l>tester</l></list></block><block s="doIfElse"><block s="reportGreaterThan"><block var="start"/><block var="end"/></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportLessThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>step</l><l>1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportGreaterThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doUntil"><block s="evaluate"><block var="tester"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></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>0.2</l><custom-block s="x coordinate of %l"><block var="point"/></custom-block><custom-block s="y command of %l"><block var="point"/></custom-block></block></script></block-definition><block-definition s="x coordinate of %&apos;point&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="point"/></block></block></script></block-definition><block-definition s="y command of %&apos;point&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><l><option>last</option></l><block var="point"/></block></block></script></block-definition><block-definition s="point %&apos;x&apos; %&apos;y&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block var="x"/><block var="y"/></list></block></block></script></block-definition><block-definition s="draw shape %&apos;point&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="up"></block><block s="gotoXY"><l>100</l><l>0</l></block><block s="down"></block><block s="doSetVar"><l>b</l><block var="point"/></block><block s="doForEach"><l>item</l><block var="b"/><script><custom-block s="go to point %l"><block var="item"/></custom-block></script></block></script></block-definition></blocks><variables><variable name="A"><list id="291"><item><list struct="atomic" id="292">-50,20</list></item><item><list struct="atomic" id="293">-10,120</list></item><item><list struct="atomic" id="294">10,120</list></item><item><list struct="atomic" id="295">50,20</list></item><item><list struct="atomic" id="296">30,20</list></item><item><list struct="atomic" id="297">20,50</list></item><item><list struct="atomic" id="298">-20,50</list></item><item><list struct="atomic" id="299">-30,20</list></item></list></variable><variable name="triangle"><list id="300"><item><list struct="atomic" id="301">-15,60</list></item><item><list struct="atomic" id="302">0,110</list></item><item><list struct="atomic" id="303">15,60</list></item></list></variable><variable name="b"><list id="304"><item><list struct="atomic" id="305">0,0</list></item><item><list struct="atomic" id="306">100,100</list></item><item><list struct="atomic" id="307">100,0</list></item></list></variable></variables></project><media name="U2L2-DrawShape_DennisPham" app="Snap! 5.1, http://snap.berkeley.edu" version="1"></media></snapdata>