<snapdata remixID="8695963"><project name="U2L2-DrawShape : Abstract Data Types" app="Snap! 5.1, http://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAE2UlEQVR4Xu2dTWuUVxiGn6G4iKUa0izSCi7EFnduXOimpTJBAv6MilYMiuAyv0AQxS7sH+ii0EJBF2IxpFAtNAXFjYh1J7rSQpBQtKYkGpzE93ve6cl9v1dWYeZ8PM99XXkPh4ymt7KyshJ8kUCiBHoImCh5tl1LAAERIWkCCJg0fjZHQBxImgACJo2fzREQB5ImgIBJ42dzBMSBpAkgYNL42RwBcSBpAgiYNH42R0AcSJoAAiaNn80REAeSJoCASeNncwTEgaQJIGDS+NkcAXEgaQIImDR+NkfAmg588OFE/PviWeasovdqbtOZ4QjYGdRbs1EErMHl4Bf9+P3XXwpnVBlTY0v7oQhYA/Hs2XNx+cL5whlVxtTY0n4oAtoj3toNImBFPnUuGHXGVtzedhgC2qLVaAwBK3DKu1icmD2zNvvK5YvvrcJlpEKw/M8I1ULKu1js2rNvbYHHj+6/txCXkWrZ8gSslhOjRpQAApYEm3ehWD1+14/ewe8Hl+MyUm4tApZnlDli9fhdP3oHv2+4XGenIWAB+jYuEm2s4WwnAhbQzbtIHD91Or779tKGmVmvrQ7gMlL844OAA/l8NPlpvPpnOX764fuYmZnJTS7ryOUYbvacRsBNufXGxje8MvXxzrh358+YnJxslnBEcBnJjw4BM7LZLOH6kO1jY7F391TMz9+Mr7+ZjefP/94we2lpKRZvLTQWtYsTEXAT9e07JmL55esNr27rvY5rP/8Y/X4/er1eI0+4jGTHhoADuRzuT8f8b3/ExPiOOHPyWMzNzTWSLWsSlxEELJVp9S9WNH3ClS7OgMwEeAJuimWUF4ZRrq3qNwKqkjOpGwEHQB76cjpuL9wYKdr/Y4+RNtDy4gg4EGjRx64+/2xvregfPHwYj//iY1ploSFgWUK8P9IEEPBtvHkXhGF+xZY3l8vIO6cRsOTnO+9DBlUeC8PMrbK+wxgEjIgUF4MUe25FYRGw4CNTwxy/67Dz1uA3I28SQsCCx0IbR2gba2zFJ1dbNXVewJQXgpR7tyXQsOt0XsC8ANs4fsuO4WHhOczvtIBFF4G8f+nWBHrRWl2/jHRawH37D8QnU1OZTs1fv9rEtdw5Xx05mvnek6dP4/7dxVb3Ulqs0wIqgXKtFQFdyYr0hYAioFzLREBXsiJ9IaAIKNcyEdCVrEhfCCgCyrVMBHQlK9IXAoqAci0TAV3JivSFgCKgXMtEQFeyIn0hoAgo1zIR0JWsSF8IKALKtUwEdCUr0hcCioByLRMBXcmK9IWAIqBcy0RAV7IifSGgCCjXMhHQlaxIXwgoAsq1TAR0JSvSFwKKgHItEwFdyYr0hYAioFzLREBXsiJ9IaAIKNcyEdCVrEhfCCgCyrVMBHQlK9IXAoqAci0TAV3JivSFgCKgXMtEQFeyIn0hoAgo1zIR0JWsSF8IKALKtUwEdCUr0hcCioByLRMBXcmK9IWAIqBcy0RAV7IifSGgCCjXMhHQlaxIXwgoAsq1TAR0JSvSFwKKgHItEwFdyYr0hYAioFzLREBXsiJ9IaAIKNcyEdCVrEhfCCgCyrVMBHQlK9IXAoqAci0TAV3JivSFgCKgXMtEQFeyIn0hoAgo1zIR0JWsSF8IKALKtUwEdCUr0hcCioByLRMBXcmK9PUfTC7Dt3aH6kkAAAAASUVORK5CYII=</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="-10" y="70" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="0,8,15,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="19" y="59"><block s="setSize"><l>1</l></block><block s="setColor"><color>0,8,15,1</color></block><block s="up"></block><block s="clear"></block><block s="gotoXY"><l>0</l><l>0</l></block></script><script x="22" y="316.8"><block s="doSetVar"><l>A</l><block s="reportNewList"><list><custom-block s="point %n %n"><l>-50</l><l>20</l></custom-block><custom-block s="point %n %n"><l>-10</l><l>120</l></custom-block><custom-block s="point %n %n"><l>10</l><l>120</l></custom-block><custom-block s="point %n %n"><l>50</l><l>20</l></custom-block><custom-block s="point %n %n"><l>30</l><l>20</l></custom-block><custom-block s="point %n %n"><l>20</l><l>50</l></custom-block><custom-block s="point %n %n"><l>-20</l><l>50</l></custom-block><custom-block s="point %n %n"><l>-30</l><l>20</l><comment w="245" collapsed="false">List of coordinates for the outer shape of the shape A</comment></custom-block><custom-block s="point %n %n"><l>-50</l><l>20</l></custom-block></list></block><comment w="473" collapsed="false">This whole block is inside the [ draw shape ] block - I made a copy outside to make it easier to see notes</comment></block><block s="doSetVar"><l>B</l><block s="reportNewList"><list><custom-block s="point %n %n"><l>-10</l><l>70</l></custom-block><custom-block s="point %n %n"><l>0</l><l>100</l></custom-block><custom-block s="point %n %n"><l>10</l><l>70</l></custom-block><custom-block s="point %n %n"><l>-10</l><l>70</l><comment w="247" collapsed="false">List of coordinates for the inner triangle of the shape A</comment></custom-block></list></block></block><block s="up"></block><custom-block s="for each %upvar of %l %cs"><l>item</l><block var="A"/><script><custom-block s="go to point %l"><block var="item"><comment w="210" collapsed="false">There is a note inside the block (click edit)</comment></block></custom-block><block s="down"></block></script></custom-block><block s="up"></block><custom-block s="for each %upvar of %l %cs"><l>item</l><block var="B"/><script><custom-block s="go to point %l"><block var="item"/></custom-block><block s="down"></block></script></custom-block></script><script x="23" y="227"><custom-block s="draw shape %l"><l/><comment w="293" collapsed="false">If you click &apos;edit&apos; you can see that the blocks below are inside it</comment></custom-block></script></scripts></sprite><watcher var="A" style="normal" x="6.270833333333485" y="92.49479292083333" 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="gotoXY"><custom-block s="x coordinate of %l"><block var="point"/></custom-block><custom-block s="y coordinate of %l"><block var="point"/></custom-block><comment w="288" collapsed="false">By using [ x / y coordinate of point ] imstead of [ item 2 of point ], it is much easier for others to understand and adjust the code.</comment></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 coordinate of %point" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="y 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>2</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;shape&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doSetVar"><l>A</l><block s="reportNewList"><list><custom-block s="point %n %n"><l>-50</l><l>20</l></custom-block><custom-block s="point %n %n"><l>-10</l><l>120</l></custom-block><custom-block s="point %n %n"><l>10</l><l>120</l></custom-block><custom-block s="point %n %n"><l>50</l><l>20</l></custom-block><custom-block s="point %n %n"><l>30</l><l>20</l></custom-block><custom-block s="point %n %n"><l>20</l><l>50</l></custom-block><custom-block s="point %n %n"><l>-20</l><l>50</l></custom-block><custom-block s="point %n %n"><l>-30</l><l>20</l><comment w="245" collapsed="false">List of coordinates for the outer shape of the shape A</comment></custom-block><custom-block s="point %n %n"><l>-50</l><l>20</l></custom-block></list></block><comment w="473" collapsed="false">This whole block is inside the [ draw shape ] block - I made a copy outside to make it easier to see notes</comment></block><block s="doSetVar"><l>B</l><block s="reportNewList"><list><custom-block s="point %n %n"><l>-10</l><l>70</l></custom-block><custom-block s="point %n %n"><l>0</l><l>100</l></custom-block><custom-block s="point %n %n"><l>10</l><l>70</l></custom-block><custom-block s="point %n %n"><l>-10</l><l>70</l><comment w="247" collapsed="false">List of coordinates for the inner triangle of the shape A</comment></custom-block></list></block></block><block s="up"></block><custom-block s="for each %upvar of %l %cs"><l>item</l><block var="A"/><script><custom-block s="go to point %l"><block var="item"><comment w="210" collapsed="false">There is a note inside the block (click edit)</comment></block></custom-block><block s="down"></block></script></custom-block><block s="up"></block><custom-block s="for each %upvar of %l %cs"><l>item</l><block var="B"/><script><custom-block s="go to point %l"><block var="item"/></custom-block><block s="down"></block></script></custom-block></script></block-definition></blocks><variables><variable name="A"><list id="327"><item><list struct="atomic" id="328">-50,20</list></item><item><list struct="atomic" id="329">-10,120</list></item><item><list struct="atomic" id="330">10,120</list></item><item><list struct="atomic" id="331">50,20</list></item><item><list struct="atomic" id="332">30,20</list></item><item><list struct="atomic" id="333">20,50</list></item><item><list struct="atomic" id="334">-20,50</list></item><item><list struct="atomic" id="335">-30,20</list></item><item><list struct="atomic" id="336">-50,20</list></item></list></variable><variable name="B"><list id="337"><item><list struct="atomic" id="338">-10,70</list></item><item><list struct="atomic" id="339">0,100</list></item><item><list struct="atomic" id="340">10,70</list></item><item><list struct="atomic" id="341">-10,70</list></item></list></variable></variables></project><media name="U2L2-DrawShape : Abstract Data Types" app="Snap! 5.1, http://snap.berkeley.edu" version="1"></media></snapdata>