<snapdata remixID="13269518"><project name="L09 Brick Wall" app="Snap! 9.0, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAABHhJREFUeF7t2klIVAEcx/H/lIzShKSSlpILVGZJaIl1CC1LpEuZLURIC2XSAkLLqUPSKQqiDtHBOhYJUYeCsCiyQ1BYeWgzgsm5ZA0aaSO54ItmUnwVCIH+HOfb8R3e7/n10xvfzHgcx3GMfxQQFfAAUFSe2XABAAJBWgCA0vyMAxAD0gIAlOZnHIAYkBYAoDQ/4wDEgLQAAKX5GQcgBqQFACjNzzgAMSAtAEBpfsYBiAFpAQBK8zMOQAxICwBQmp9xAGJAWgCA0vyMAxAD0gIAlOZnHIAYkBYAoDQ/4wDEgLQAAKX5GQcgBqQFACjNzzgAMSAtAEBpfsYBiAFpAQBK8zMOQAxICwBQmp9xAGJAWgCA0vyMAxAD0gIAlOZnHIAYkBYAoDQ/4wDEgLQAAKX5GQcgBqQFACjNzzgAMSAtAEBpfsYBiAFpAQBK8zMOQAxICwBQmp9xAGJAWsBzIX2dU37uuN0/ctZ1ITNmJ1nRoe32uP6S63jBvirr+hCwwKMW1/FoP8fel43mS02W/jJicdxzr+6Ms2THent97a7r5/cm+ixn7Qpru/XQdTyzdLmFvnRZ51u/63i0n6Pk1EGLT/TFogHpzxwGOHwFKXk54btAoPm566JyN5WZ/8FT6+8OjYkuWs8BQI3D8Evw8HTm6iJLnp9prZdvuq6mpP6AtVy8br3Br2O+7EbrOXgJFgF809jkzC3Ot0/PXrmuIC7BaymLcuxza5vrePLCLOvr/m6hjk7X8Wg/x4INpRaXEK/5LcTwKg8hvx+ouANq/hd4uANG7ubcAUUA+RswEp47oAggT8GR8DwFCwFG+3t4o9P9788CQBFAPgmJfKrDS7AI4K+HkOFp35wUi0+caV3v211Xk1aQa53v/Db4o3/Mt16i9Rw8hIgA8hDCQ4iGXmQ1/DYMd0DjbRiRwin/RnRpwwlrunrDqutq7fbuk9b3rWck9ehv9vA3oEbglP82jHdptjWfbjBvT78N5KdbwcpiC3xst8LF+eGPGoe/2cNTsAig4zgjL8GaSxj/1RdPntqdqmM2a3rCyFjHYMjyKsssLjvVSnZutoyMjPG/EBb+KhAT34gOhUJ2paLGzB90BegdGrChgixbtmaVpZUXWWFhIUQmuEBMADy/cb9Na/GbY44FkjxWtafagvN8VrltywTnZu7PAlMe4NHaw1aRlmvBtATbWrPLvF4vCiZRgSkPcBK15lL+UQCAsJAWAKA0P+MAxIC0AACl+RkHIAakBQAozc84ADEgLQBAaX7GAYgBaQEASvMzDkAMSAsAUJqfcQBiQFoAgNL8jAMQA9ICAJTmZxyAGJAWAKA0P+MAxIC0AACl+RkHIAakBQAozc84ADEgLQBAaX7GAYgBaQEASvMzDkAMSAsAUJqfcQBiQFoAgNL8jAMQA9ICAJTmZxyAGJAWAKA0P+MAxIC0AACl+RkHIAakBQAozc84ADEgLQBAaX7GAYgBaQEASvMzDkAMSAsAUJqfcQBiQFoAgNL8jAMQA9ICAJTmZ/wnCgb31TTznqEAAAAASUVORK5CYII=</thumbnail><scenes select="1"><scene name="L09 Brick Wall"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="draw brick, length: %&apos;length&apos; width: %&apos;width&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="setColor"><color>145,26,68,1</color></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>true</bool></l></block><block s="setSize"><block var="width"/></block><block s="down"></block><block s="forward"><block var="length"/></block><block s="up"></block></script></block-definition><block-definition s="draw row A, bricks per row: %&apos;bricks&apos; , length: %&apos;l&apos; ,width: %&apos;w&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="gotoXY"><block s="reportDifference"><l>-247.5</l><block s="reportQuotient"><block var="l"/><l>4</l></block><comment w="90" collapsed="false">Sets up brick at a starting position that will make the row alternate to row B</comment></block><block s="yPosition"></block></block><block s="doRepeat"><block var="bricks"/><script><custom-block s="draw brick, length: %n width: %n"><block var="l"/><block var="w"/></custom-block><block s="forward"><block s="reportVariadicProduct"><list><block var="l"/><block s="reportQuotient"><l>4</l><l>30</l></block></list></block><comment w="90" collapsed="false">determines horizontal gap between bricks using length</comment></block></script></block><custom-block s="draw brick, length: %n width: %n"><block s="reportDifference"><block s="reportQuotient"><block var="l"/><l>2</l></block><block s="reportVariadicProduct"><list><block var="l"/><block s="reportQuotient"><l>4</l><l>30</l></block></list></block></block><block var="w"/><comment w="90" collapsed="false">adds final brick, with length calculated by subtracting the gap length from half the length of a regular brick, perfectly matches the end with Row B</comment></custom-block></script></block-definition><block-definition s="draw row B, bricks per row: %&apos;bricks&apos; , length: %&apos;l&apos; , width: %&apos;w&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="gotoXY"><block s="reportVariadicSum"><list><l>-247.5</l><block s="reportQuotient"><block var="l"/><l>4</l></block></list></block><block s="yPosition"></block><comment w="90" collapsed="false">Sets up brick at a starting position that will make the row alternate to row A</comment></block><block s="doRepeat"><block var="bricks"/><script><custom-block s="draw brick, length: %n width: %n"><block var="l"/><block var="w"/></custom-block><block s="forward"><block s="reportVariadicProduct"><list><block s="reportQuotient"><l>4</l><l>30</l></block><block var="l"/></list></block><comment w="90" collapsed="false">determines horizontal gap between bricks using length</comment></block></script></block></script></block-definition><block-definition s="odd? %&apos;num&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="num"/><l>2</l></block><l>0</l></list></block></block></block></script></block-definition><block-definition s="draw brick wall, rows: %&apos;rows&apos; , bricks per row: %&apos;bricks&apos; , length: %&apos;l&apos; , width: %&apos;w&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doWarp"><script><block s="gotoXY"><l>0</l><block s="reportVariadicProduct"><list><block var="rows"/><block s="reportVariadicProduct"><list><l>0.7</l><block var="w"/></list></block></list></block><comment w="90" collapsed="false">Starting y position centers around Y=0</comment></block><block s="doFor"><l>i</l><l>1</l><block var="rows"/><script><block s="doIfElse"><custom-block s="odd? %n"><block var="i"/><comment w="90" collapsed="false">Alternates between A and B, using iteration; if on an odd iteration, A; otherwise, B</comment></custom-block><script><custom-block s="draw row A, bricks per row: %n , length: %n ,width: %n"><block var="bricks"/><block var="l"/><block var="w"/></custom-block></script><script><custom-block s="draw row B, bricks per row: %n , length: %n , width: %n"><block var="bricks"/><block var="l"/><block var="w"/></custom-block></script></block><block s="changeYPosition"><block s="reportVariadicProduct"><list><l>-1.4</l><block var="w"/></list></block><comment w="90" collapsed="false">determines vertical gap between rows based on width, perfectly centers rows around Y=0, complements the &quot;go to&quot; block</comment></block></script></block></script><comment w="90" collapsed="false">block executes all at once</comment></block></script></block-definition></blocks><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="flat" ternary="true" hyperops="true" codify="false" inheritance="false" sublistIDs="false" id="156"><pentrails>data:image/png;base64,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</pentrails><costumes><list struct="atomic" id="157"></list></costumes><sounds><list struct="atomic" id="158"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="-41.75" y="-24.5" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="145,26,68,1" pen="tip" id="163"><costumes><list struct="atomic" id="164"></list></costumes><sounds><list struct="atomic" id="165"></list></sounds><blocks></blocks><variables></variables><scripts><script x="27" y="11"><block s="receiveKey"><l><option>c</option></l><list></list></block><block s="clear"></block><block s="gotoXY"><l>-60</l><l>60</l></block></script><script x="204" y="75"><block s="receiveKey"><l><option>right arrow</option></l><list></list></block><custom-block s="draw row A, bricks per row: %n , length: %n ,width: %n"><l>10</l><l>30</l><l>5</l></custom-block></script><script x="138" y="179.9999999999999"><block s="receiveKey"><l><option>down arrow</option></l><list></list></block><custom-block s="draw brick wall, rows: %n , bricks per row: %n , length: %n , width: %n"><l>7</l><l>12</l><l>15</l><l>5</l></custom-block></script></scripts></sprite></sprites></stage><variables></variables></scene></scenes></project><media name="L09 Brick Wall" app="Snap! 9.0, https://snap.berkeley.edu" version="2"></media></snapdata>