<snapdata remixID="8810838"><project name="U2L4-brickwall" app="Snap! 5.1, http://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAADaElEQVR4Xu3XLW5UARiF4YtAFIerwoFkHwTDMlhAF4GvLjvAkIBgCWhYBAuoIwyhEtzJG4afp/47d+4zbzLpvdPpdDr8ETiTwD0BnkneY+8EBCiEswoI8Kz8Hi5ADZxVQIBn5fdwAWrgrAJJgM8fPT1uPn44Li8vz/oyHv73CSQB3t7eHjdPXty9/dcH94/PTy6Om3dv/j4Nn/i3CyQB/vjU19fXx+nV219e4MvFt+Phy2fH1dXVb385D/zzBQT4539H//QnTAL8+Sf40+OL4/V7P8H/dDnRyyUB+ick+jb+w5kkwP/QzStHAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAgKMIM1sAgLc3FxFAt8BmZsEt0AaWlMAAAAASUVORK5CYII=</thumbnail><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" volume="100" pan="0" lines="flat" 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="-160" y="150" heading="90" 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><comment x="20" y="10" w="316" collapsed="false">Paul Zou, Jack Ma&#xD;Time- 3.75 Hours&#xD;Description- A program that allows the user to let the sprite draw brick walls.&#xD;Honor Code-I did not cheat or use any outside information when making this project</comment><script x="20" y="124"><block s="receiveGo"></block><block s="clear"></block><custom-block s="draw brick wall number of rows: %s bricks per row : %s length: %n width: %n , gap: %s"><l>10</l><l>10</l><l>30</l><l>10</l><l>5</l><comment w="90" collapsed="false">take it further</comment></custom-block></script><script x="20" y="234"><block s="gotoXY"><l>-150</l><l>150</l></block></script><script x="20" y="273"><custom-block s="row a, bricks per row %s"><l>5</l><comment w="90" collapsed="false">row a, bricks per row</comment></custom-block></script><script x="20" y="342"><custom-block s="row a, bricks per row %s length %s width %s"><l>5</l><l>30</l><l>10</l><comment w="90" collapsed="false">row a, bricks per row, length, width</comment></custom-block></script><script x="20" y="411"><custom-block s="row a %s %s %s %s"><l>10</l><l>10</l><l>30</l><l>5</l><comment w="90" collapsed="false">row a, bricks per row, length, width, gap thickness</comment></custom-block></script><script x="20" y="492"><custom-block s="row b, bricks per row %s"><l>10</l><comment w="90" collapsed="false">row b, bricks per row</comment></custom-block></script><script x="20" y="561"><custom-block s="row b, bricks per row, %s length, %s width %s"><l>10</l><l>30</l><l>10</l><comment w="90" collapsed="false">row b, bricks per row, length, width</comment></custom-block></script><script x="20" y="630"><custom-block s="row b %s %s %s %s"><l>10</l><l>30</l><l>10</l><l>5</l><comment w="90" collapsed="false">row b, bricks per row, length, width, gap thickness</comment></custom-block></script><script x="20" y="711"><custom-block s="draw brick wall ,rows: %s bricks per row %s width %s length %s"><l>5</l><l>10</l><l>10</l><l>30</l><comment w="90" collapsed="false">draw brick wall wtih rows, bricks per row, width, length</comment></custom-block></script><script x="360" y="430"><block s="receiveKey"><l><option>space</option></l></block><block s="clear"></block><block s="gotoXY"><l>0</l><l>0</l></block></script><script x="44" y="779"><custom-block s="Draw Brick wall, number of rows %s Bricks per row %s"><l>2</l><l></l></custom-block></script><script x="114" y="832"><custom-block s="row a, bricks per row %s"><l></l></custom-block></script></scripts></sprite><watcher var="number of rows" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher var="brick number" style="normal" x="10" y="31.000001999999995" color="243,118,29" hidden="true"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><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;&#xD;try{&#xD;ide.savingPreferences = false;&#xD;&#xD;switch (which) {&#xD;    case &apos;Presentation mode&apos;:&#xD;        if (tf != ide.isAppMode) ide.toggleAppMode();&#xD;        break;&#xD;    case &apos;Retina display support&apos;:&#xD;        if (tf != isRetinaEnabled()) ide.toggleRetina();&#xD;        break;&#xD;    case &apos;Long form input dialog&apos;:&#xD;        if (tf != InputSlotDialogMorph.prototype.isLaunchingExpanded)&#xD;            ide.toggleLongFormInputDialog();&#xD;        break;&#xD;    case &apos;Plain prototype labels&apos;:&#xD;        if (tf != BlockLabelPlaceHolderMorph.prototype.plainLabel)&#xD;            ide.togglePlainPrototypeLabels();&#xD;        break;&#xD;    case &apos;Input sliders&apos;:&#xD;        MorphicPreferences.useSliderForInput = tf;&#xD;        break;&#xD;    case &apos;Execute on slider change&apos;:&#xD;        ArgMorph.prototype.executeOnSliderEdit = tf;&#xD;        break;&#xD;    case &apos;Clicking sound&apos;:&#xD;        if (tf != !!BlockMorph.prototype.snapSound)&#xD;            BlockMorph.prototype.toggleSnapSound();&#xD;        break;&#xD;    case &apos;Turbo mode&apos;:&#xD;        if (tf != stage.isFastTracked)&#xD;            ide.toggleFastTracking();&#xD;        break;&#xD;    case &apos;Flat design&apos;:&#xD;        if (tf == MorphicPreferences.isFlat) break;&#xD;        if (tf)&#xD;            ide.flatDesign();&#xD;        else&#xD;            ide.defaultDesign();&#xD;        break;&#xD;    case &apos;Keyboard editing&apos;:&#xD;            ScriptsMorph.prototype.enableKeyboard = tf;&#xD;        break;&#xD;    case &apos;Table support&apos;:&#xD;            List.prototype.enableTables = tf;&#xD;        break;&#xD;    case &apos;Table lines&apos;:&#xD;                TableMorph.prototype.highContrast = tf;&#xD;        break;&#xD;    case &apos;Visible stepping&apos;:&#xD;        if (tf != Process.prototype.enableSingleStepping)&#xD;            ide.toggleSingleStepping();&#xD;        break;&#xD;    case &apos;Thread safe scripts&apos;:&#xD;        stage.isThreadSafe = tf;&#xD;        break;&#xD;    case &apos;Prefer smooth animations&apos;:&#xD;        if (tf != (StageMorph.prototype.frameRate &gt; 0))&#xD;            ide.toggleVariableFrameRate();&#xD;        break;&#xD;    case &apos;Flat line ends&apos;:&#xD;        SpriteMorph.prototype.useFlatLineEnds = tf;&#xD;        break;&#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;        break;&#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;        break;&#xD;};&#xD;}&#xD;finally {&#xD;ide.savingPreferences = false;&#xD;};&#xD;</l></block><list><block var="which"/><block var="tf"/></list></block></script></block-definition><block-definition s="draw brick wall number of rows: %&apos;rows,&apos; bricks per row : %&apos;number of bricks&apos; length: %&apos;length&apos; width: %&apos;width&apos; , gap: %&apos;gap&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%n"></input><input type="%n"></input><input type="%s"></input></inputs><script><block s="doSetVar"><l>brick number</l><l>0</l></block><block s="doSetVar"><l>number of rows</l><block var="rows,"/><comment w="217" collapsed="false">sets the number of rows and bricks to the numbers inputted in the block</comment></block><block s="gotoXY"><l>-160</l><l>150</l></block><block s="doUntil"><block s="reportEquals"><block var="number of rows"/><l>0</l><comment w="182" collapsed="false">will create rows until the valie of the variable number of rows reaches 0</comment></block><script><custom-block s="row a %s %s %s %s"><block var="number of bricks"/><block var="width"/><block var="length"/><block var="gap"/></custom-block><block s="doChangeVar"><l>number of rows</l><l>-1</l></block><block s="doIf"><block s="reportEquals"><block var="number of rows"><comment w="345.000001" collapsed="false">row a and b alternate between each other and will stop at whichever row that causes the value of number of rows to reach 0</comment></block><l>0</l></block><script><block s="doStopThis"><l><option>all</option></l></block></script></block><custom-block s="row b %s %s %s %s"><block var="number of bricks"/><block var="length"/><block var="width"/><block var="gap"/></custom-block><block s="doChangeVar"><l>number of rows</l><l>-1</l><comment w="392" collapsed="false">whenever a row is drawn, either row a or row b, there value of number of rows will decrease by 1 and when the value reaches 0, the script will stop because it has drawn the right number of layers</comment></block><block s="doIf"><block s="reportEquals"><block var="number of rows"/><l>0</l></block><script><block s="doStopThis"><l><option>all</option></l></block></script></block></script></block></script></block-definition><block-definition s="set flat line ends to %&apos;flag&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%b"></input></inputs><script><custom-block s="set flag %s to %b"><l>Flat line ends</l><block var="flag"/></custom-block></script></block-definition><block-definition s="draw block wall with %&apos;number of rows&apos; rows" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="even? %&apos;number&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doIfElse"><block s="errorObsolete"></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="row a %&apos;number of bricks&apos; %&apos;width&apos; %&apos;length&apos; %&apos;gap&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doRepeat"><block var="number of bricks"><comment w="300" collapsed="false">this block is affected by the number of bricks inputted in the first block</comment></block><script><block s="setColor"><color>145,26,68,1</color></block><custom-block s="set flat line ends to %b"><block s="reportBoolean"><l><bool>true</bool></l></block></custom-block><block s="setSize"><block var="width"/></block><block s="down"></block><block s="forward"><block var="length"/></block><block s="up"></block><block s="forward"><block var="gap"><comment w="370" collapsed="false">the sprite will first move the length, drawing a line behind it, then it will move its pen up and move a bit more, creating gaps between the wall.</comment></block></block></script></block><block s="setXPosition"><l>-160</l></block><block s="changeYPosition"><block s="reportProduct"><l>-1</l><block s="reportSum"><block var="width"/><block var="gap"/></block><comment w="297" collapsed="false">this block creates a space between the layers of the wall that scales with the width of the wall (thickness)</comment></block></block></script></block-definition><block-definition s="row b %&apos;number of bricks&apos; %&apos;length&apos; %&apos;width&apos; %&apos;gap&apos;" type="command" category="pen"><comment x="0" y="0" w="406" collapsed="false">overall, row b is similar to row a and only has a few differences to make sure that the row would go over the gaps to make the wall look more realistic</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="setColor"><color>145,26,68,1</color></block><custom-block s="set flat line ends to %b"><block s="reportBoolean"><l><bool>true</bool></l></block></custom-block><block s="setSize"><block var="width"/></block><block s="down"></block><block s="forward"><block s="reportDifference"><block s="reportQuotient"><block var="length"/><l>2</l></block><block s="reportQuotient"><block var="gap"/><l>2</l></block></block><comment w="319" collapsed="false">the first brick and the last brick of row b is shorter than the rest of the bricks and the entire row is the same length as row a</comment></block><block s="up"></block><block s="forward"><block var="gap"/></block><block s="doRepeat"><block s="reportDifference"><block var="number of bricks"/><l>1</l><comment w="324" collapsed="false">row b draws 1 less brick because it has 2 short bricks that make up for the loss of this brick</comment></block><script><block s="setColor"><color>145,26,68,1</color></block><custom-block s="set flat line ends to %b"><block s="reportBoolean"><l><bool>true</bool></l></block></custom-block><block s="setSize"><block var="width"/></block><block s="down"></block><block s="forward"><block var="length"/></block><block s="up"></block><block s="forward"><block var="gap"/></block></script></block><block s="setColor"><color>145,26,68,1</color></block><custom-block s="set flat line ends to %b"><block s="reportBoolean"><l><bool>true</bool></l></block></custom-block><block s="setSize"><block var="width"/></block><block s="down"></block><block s="forward"><block s="reportDifference"><block s="reportQuotient"><block var="length"/><l>2</l></block><block s="reportQuotient"><block var="gap"/><l>2</l></block></block></block><block s="up"></block><block s="forward"><block var="gap"/></block><block s="setXPosition"><l>-160</l></block><block s="changeYPosition"><block s="reportProduct"><l>-1</l><block s="reportSum"><block var="width"/><block var="gap"/></block></block></block></script></block-definition><block-definition s="row a, bricks per row %&apos;bricks per row&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doRepeat"><block var="bricks per row"><comment w="90" collapsed="false">Does a specific number of rows. Moves 10 steps so the brick has gaps.</comment></block><script><block s="setColor"><color>145,26,68,1</color></block><custom-block s="set flat line ends to %b"><block s="reportBoolean"><l><bool>true</bool></l></block></custom-block><block s="down"></block><block s="forward"><l>10</l></block></script></block><block s="up"></block><block s="forward"><l>5</l></block></script></block-definition><block-definition s="row a, bricks per row %&apos;bricks per row&apos; length %&apos;length&apos; width %&apos;width&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doRepeat"><block var="bricks per row"/><script><block s="setColor"><color>145,26,68,1</color></block><custom-block s="set flat line ends to %b"><block s="reportBoolean"><l><bool>true</bool></l></block></custom-block><block s="setSize"><block var="width"/></block><block s="down"></block><block s="forward"><block var="length"/></block><block s="up"></block><block s="forward"><l>10</l></block></script><comment w="90" collapsed="false">Mkaes specific number of rows with each brick of specific length and widths. Each brick has 10 step gap</comment></block></script></block-definition><block-definition s="row b, bricks per row %&apos;bricks per row&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doRepeat"><block var="bricks per row"/><script><block s="setColor"><color>145,26,68,1</color></block><custom-block s="set flat line ends to %b"><block s="reportBoolean"><l><bool>true</bool></l></block></custom-block><block s="down"></block><block s="forward"><l>10</l></block></script><comment w="90" collapsed="false">Does a specific number of rows. Moves 10 steps so the brick has gaps.</comment></block><block s="up"></block><block s="forward"><l>5</l></block></script></block-definition><block-definition s="row b, bricks per row, %&apos;bricks per row&apos; length, %&apos;length&apos; width %&apos;width&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doRepeat"><block var="bricks per row"/><script><block s="setColor"><color>145,26,68,1</color></block><custom-block s="set flat line ends to %b"><block s="reportBoolean"><l><bool>true</bool></l></block></custom-block><block s="setSize"><block var="width"/></block><block s="down"></block><block s="forward"><block var="length"/></block><block s="up"></block><block s="forward"><l>10</l></block></script><comment w="90" collapsed="false">Draws specific rows of bricks with specific width on length depending on the input the user makes.</comment></block></script></block-definition><block-definition s="draw brick wall ,rows: %&apos;rows,&apos; bricks per row %&apos;number of bricks&apos; width %&apos;width&apos; length %&apos;length&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doSetVar"><l>brick number</l><l>0</l></block><block s="doSetVar"><l>number of rows</l><block var="rows,"/></block><block s="gotoXY"><l>-160</l><l>150</l></block><block s="doUntil"><block s="reportEquals"><block var="number of rows"/><l>0</l><comment w="90" collapsed="false">Draws bricks of specific length, width and number of bricks. Stops until all rows are done</comment></block><script><custom-block s="row a, bricks per row %s length %s width %s"><block var="number of bricks"/><block var="length"/><block var="width"/></custom-block><block s="doChangeVar"><l>number of rows</l><l>-1</l></block><block s="doIf"><block s="reportEquals"><block var="number of rows"/><l>0</l></block><script><block s="doStopThis"><l><option>all</option></l></block></script></block><custom-block s="row b, bricks per row, %s length, %s width %s"><block var="number of bricks"/><block var="length"/><block var="width"/></custom-block><block s="doChangeVar"><l>number of rows</l><l>-1</l></block><block s="doIf"><block s="reportEquals"><block var="number of rows"/><l>0</l></block><script><block s="doStopThis"><l><option>all</option></l></block></script></block></script></block></script></block-definition><block-definition s="Draw Brick wall, number of rows %&apos;rows&apos; Bricks per row %&apos;bricks per row&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doSetVar"><l>brick number</l><l>0</l></block><block s="doSetVar"><l>number of rows</l><block var="rows"/><comment w="217" collapsed="false">sets the number of rows and bricks to the numbers inputted in the block</comment></block><block s="gotoXY"><l>-160</l><l>150</l></block><block s="doUntil"><block s="reportEquals"><block var="number of rows"/><l>0</l><comment w="182" collapsed="false">will create rows until the valie of the variable number of rows reaches 0</comment></block><script><block s="doChangeVar"><l>number of rows</l><l>-1</l></block><block s="doIf"><block s="reportEquals"><block var="number of rows"><comment w="345.000001" collapsed="false">row a and b alternate between each other and will stop at whichever row that causes the value of number of rows to reach 0</comment></block><l>0</l></block><script><block s="doStopThis"><l><option>all</option></l></block></script></block></script></block><block s="doRepeat"><block var="bricks per row"/><script><block s="setColor"><color>145,26,68,1</color></block><custom-block s="set flat line ends to %b"><block s="reportBoolean"><l><bool>true</bool></l></block><comment w="90" collapsed="false">Does a specific number of rows. Moves 10 steps so the brick has gaps.</comment></custom-block><block s="down"></block><block s="forward"><l>10</l></block></script></block><block s="up"></block><block s="forward"><l>5</l></block></script></block-definition></blocks><variables><variable name="number of rows"><l>0</l></variable><variable name="brick number"><l>0</l></variable></variables></project><media name="U2L4-brickwall" app="Snap! 5.1, http://snap.berkeley.edu" version="1"></media></snapdata>