<snapdata remixID="9410488"><project name="space invaders" app="Snap! 6, https://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><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="round" ternary="false" hyperops="true" codify="false" inheritance="true" 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="missle" idx="1" x="65.695652173913" y="209.99999999999997" heading="0" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="11.01600000000001,0,137.70000000000002,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="117" y="110"><block s="receiveKey"><l><option>space</option></l></block><block s="setYPosition"><l>-123</l></block><block s="setXPosition"><block s="reportAttributeOf"><l><option>x position</option></l><l>player</l></block></block><block s="show"></block><block s="doGlide"><l>1</l><block s="xPosition"></block><l>210</l></block></script><script x="130" y="285"><block s="receiveMessage"><l>back to places</l></block><block s="hide"></block></script></scripts></sprite><sprite name="player" idx="2" x="65.695652173913" y="-153.52173913043498" heading="0" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="221.85,0,146.42100000000005,1" pen="tip" id="32"><costumes><list id="33"><item><costume name="cat2" center-x="36.5" center-y="18" image="data:image/png;base64,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" id="34"/></item></list></costumes><sounds><list struct="atomic" id="35"></list></sounds><blocks></blocks><variables></variables><scripts><script x="97" y="139"><block s="receiveGo"></block><block s="doSetVar"><l>army direction</l><l>90</l></block><block s="doSetVar"><l>score</l><l>0</l></block><block s="doSetVar"><l>number of invaders</l><l>3</l></block><block s="doSetVar"><l>number of rows</l><l>3</l></block><block s="doSetVar"><l>y</l><l>120</l></block><block s="doRepeat"><block var="number of rows"/><script><block s="doSetVar"><l>x</l><l>-150</l></block><block s="doRepeat"><block var="number of invaders"/><script><block s="createClone"><l>invader</l></block><block s="doWait"><l>.1</l></block><block s="doChangeVar"><l>x</l><l>100</l></block></script></block><block s="doChangeVar"><l>y</l><l>-65</l></block></script></block><block s="doBroadcast"><l>GO</l></block></script><script x="639" y="283"><block s="receiveGo"></block><block s="doForever"><script><block s="doIf"><block s="reportKeyPressed"><l><option>down arrow</option></l></block><script><block s="changeXPosition"><l>10</l></block></script></block><block s="doIf"><block s="reportKeyPressed"><l><option>up arrow</option></l></block><script><block s="changeXPosition"><l>-10</l></block></script></block></script></block></script></scripts></sprite><sprite name="invader" idx="3" x="68" y="136" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="198.9,131.274,0,1" pen="tip" id="98"><costumes><list id="99"><item><costume name="ball a" center-x="22.5" center-y="22.5" image="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjAiIGlkPSJMYXllcl8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjQ1cHgiIGhlaWdodD0iNDVweCIgdmlld0JveD0iMCAwIDQ1IDQ1IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA0NSA0NSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgPGc+CiAgICA8cmFkaWFsR3JhZGllbnQgaWQ9IlNWR0lEXzFfIiBjeD0iMjkuNzI3NSIgY3k9IjEzLjEzOTYiIHI9IjM4LjUyOTkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRkZGRjk5Ii8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0ZGOTQwMCIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDxjaXJjbGUgZmlsbD0idXJsKCNTVkdJRF8xXykiIGN4PSIyMi41IiBjeT0iMjIuNSIgcj0iMjIuNSIvPgogIDwvZz4KPC9zdmc+" id="100"/></item></list></costumes><sounds><list struct="atomic" id="101"></list></sounds><blocks></blocks><variables></variables><scripts><script x="30" y="12.000000000000028"><block s="receiveMessage"><l>GO</l></block><block s="doUntil"><block s="reportTouchingObject"><l>missle</l></block><script><block s="setHeading"><block var="army direction"/></block><block s="forward"><l>20</l></block><block s="doWait"><l>.2</l></block></script></block></script><script x="71" y="178.00000000000003"><block s="receiveCondition"><block s="reportTouchingObject"><l>missle</l></block></block><block s="doRepeat"><l>3</l><script><block s="setEffect"><l><option>ghost</option></l><l>75</l></block><block s="doWait"><l>.1</l></block><block s="setEffect"><l><option>ghost</option></l><l>20</l></block><block s="doWait"><l>.1</l></block></script></block><block s="doChangeVar"><l>score</l><l>1</l></block><block s="removeClone"></block></script><script x="59" y="396"><block s="receiveCondition"><block s="reportTouchingObject"><l><option>edge</option></l></block></block><block s="doIfElse"><block s="reportGreaterThan"><block s="xPosition"></block><l>0</l></block><script><block s="doSetVar"><l>army direction</l><l>-90</l></block></script><script><block s="doSetVar"><l>army direction</l><l>90</l></block></script></block></script><script x="60" y="580"><block s="forward"><l>20</l></block><block s="changeYPosition"><l>-100</l></block></script><script x="400" y="38.00000000000003"><block s="receiveMessage"><l>back to places</l></block><block s="removeClone"></block></script><script x="369" y="146.00000000000003"><block s="gotoXY"><l>-198</l><l>134</l></block><block s="doForever"><script><block s="forward"><l>20</l></block><block s="doWait"><l>.5</l></block></script></block></script><script x="352" y="282.1666666666664"><block s="receiveOnClone"></block><block s="show"></block><block s="setEffect"><l><option>ghost</option></l><l>0</l></block><block s="setScale"><l>60</l></block><block s="gotoXY"><block var="x"/><block var="y"/></block></script><script x="323" y="434"><block s="setHeading"><block var="army direction"/></block></script></scripts></sprite><watcher var="army direction" style="normal" x="10" y="10" color="243,118,29" hidden="true"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;pt:captura _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doRun"><block var="action"/><list></list></block></script><list><l>cont</l></list></block></block><custom-block s="ignore %s"><l>3</l></custom-block></script></block-definition><block-definition s="throw %&apos;cont&apos;" type="command" category="control"><header></header><code></code><translations>de:wirf _&#xD;ca:llança _&#xD;es:lanzar _&#xD;fr:lance _&#xD;pt:lança _&#xD;</translations><inputs><input type="%s">catchtag</input></inputs><script><block s="doRun"><block var="cont"/><list></list></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;value&apos;" type="reporter" category="control"><header></header><code></code><translations>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;pt:captura _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doReport"><block s="evaluate"><block var="value"/><list></list></block></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;tag&apos; %&apos;value&apos;" type="command" category="control"><header></header><code></code><translations>de:wirf _ _&#xD;ca:llança _ _&#xD;es:lanzar _ _&#xD;fr:lance _ _&#xD;pt:lança _ _&#xD;</translations><inputs><input type="%s">catchtag</input><input type="%s"></input></inputs><script><block s="doRun"><block var="tag"/><list><block var="value"/></list></block></script></block-definition><block-definition s="if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0" type="command" category="control"><header></header><code></code><translations>de:falls _ dann _ und pause $pause-1-255-220-0&#xD;ca:si _ fes _ i atura-ho tot $pause-1-255-220-0&#xD;es:si _ haz _ y páralo todo $pause-1-255-220-0&#xD;fr:si _ faire _ et mettre tout en pause $pause-1-255-220-0&#xD;pt:se _ , então _ e faz pausa em tudo $pause-1-255-220-0&#xD;</translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>breakpoint</l></list></block><block s="doIf"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doSetVar"><l>breakpoint</l><block var="test"/></block><block s="doShowVar"><l>breakpoint</l></block><block s="doRun"><block var="action"/><list></list></block><block s="doPauseAll"></block><block s="doHideVar"><l></l></block></script></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations>de:ignoriere _&#xD;ca:ignora _&#xD;es:ignorar _&#xD;fr:ignore _&#xD;pt:ignora _&#xD;</translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="cascade %&apos;num&apos; times %&apos;function&apos; %&apos;init&apos; %&apos;#&apos;" type="reporter" category="control"><comment x="0" y="0" w="138" collapsed="false">Call f(f(f(...(f(x))))) n times where the three input slots are n, f, and x from left to right.  The # variable can be used inside f to represent how many times f has been called.</comment><header></header><code></code><translations>pt:o resultado de _ invocações em cascata de _ com argumento inicial _ _&#xD;</translations><inputs><input type="%n"></input><input type="%repRing"></input><input type="%s"></input><input type="%upvar"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><block var="init"/></block><block s="doSetVar"><l>#</l><l>0</l></block><block s="doRepeat"><block var="num"/><script><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doSetVar"><l>result</l><block s="evaluate"><block var="function"/><list><block var="result"/></list></block></block></script></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="cascade until %&apos;pred&apos; %&apos;function&apos; %&apos;init&apos; %&apos;#&apos;" type="reporter" category="control"><comment x="0" y="0" w="90" collapsed="false">Call f(f(f(...(f(x))))) until condition is true, where the three input slots are condition, f, and x from left to right.  The # variable can be used inside f or condition to indicate how many times f has been called.</comment><header></header><code></code><translations>pt:o resultado da invocação em cascata até que _ de _ com argumento inicial _ _&#xD;</translations><inputs><input type="%predRing"></input><input type="%repRing"></input><input type="%s"></input><input type="%upvar"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><block var="init"/></block><block s="doSetVar"><l>#</l><l>0</l></block><block s="doUntil"><block s="evaluate"><block var="pred"/><list><block var="result"/></list></block><script><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doSetVar"><l>result</l><block s="evaluate"><block var="function"/><list><block var="result"/></list></block></block></script></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="compose %&apos;f&apos; %&apos;g&apos;" type="reporter" category="control"><comment x="0" y="0" w="90" collapsed="false">Returns the function f(g(x)) where f and g are the two inputs.</comment><header></header><code></code><translations>pt:a composição de _ com _&#xD;</translations><inputs><input type="%repRing"></input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="f"/><list><block s="evaluate"><block var="g"/><list><l></l></list></block></list></block></autolambda><list></list></block></block></script></block-definition><block-definition s="repeat %&apos;action&apos; until %&apos;pred&apos;" type="command" category="control"><comment x="0" y="0" w="90" collapsed="false">Like the built-in REPEAT UNTIL block, except that the ending condition is not tested until the script has been run the first time.  So the script is run at least once.</comment><header></header><code></code><translations>pt:repete _ até que _ $loop-0.7&#xD;</translations><inputs><input type="%cs"></input><input type="%boolUE"></input></inputs><script><block s="doRun"><block var="action"/><list></list></block><block s="doUntil"><block s="evaluate"><block var="pred"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="repeat %&apos;action&apos; while %&apos;pred&apos;" type="command" category="control"><comment x="0" y="0" w="90" collapsed="false">Run the script repeatedly, as long as the given condition is true.  Runs the script at least once before testing the condition.</comment><header></header><code></code><translations>pt:repete _ enquanto _ $loop-0.7&#xD;</translations><inputs><input type="%cs"></input><input type="%boolUE"></input></inputs><script><block s="doRun"><block var="action"/><list></list></block><block s="doUntil"><block s="reportNot"><block s="evaluate"><block var="pred"/><list></list></block></block><script><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="repeat while %&apos;pred&apos; %&apos;action&apos;" type="command" category="control"><comment x="0" y="0" w="90" collapsed="false">Runs the script repeatedly, as long as the condition is true.  Tests the condition before the first time the script is run.  Like the built in REPEAT UNTIL except that in this block the condition must be true, not false.</comment><header></header><code></code><translations>pt:enquanto _ , repete _ $loop-0.7&#xD;</translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doUntil"><block s="reportNot"><block s="evaluate"><block var="pred"/><list></list></block></block><script><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="repeat %&apos;num&apos; %&apos;#&apos; %&apos;action&apos;" type="command" category="control"><comment x="0" y="0" w="171" collapsed="false">Runs the script the specified number of times, like the built-in REPEAT block, but this one provides the # variable that can be used inside the script.  Try&#xD;REPEAT (200)&#xD;                MOVE (#) STEPS&#xD;   RIGHT 92&#xD;with the pen down.</comment><header></header><code></code><translations>pt:repete _ vezes _ _ $loop-0.7&#xD;</translations><inputs><input type="%n"></input><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doSetVar"><l>#</l><l>0</l></block><block s="doRepeat"><block var="num"/><script><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; step %&apos;step&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>pt:para _ de _ com passo _ a _ _ $loop-0.7&#xD;</translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>test</l></list></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doIfElse"><block s="reportLessThan"><block var="step"/><l>0</l></block><script><block s="doSetVar"><l>test</l><block s="reifyPredicate"><autolambda><block s="reportLessThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>test</l><block s="reifyPredicate"><autolambda><block s="reportGreaterThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script></block><block s="doUntil"><block s="evaluate"><block var="test"/><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="let %&apos;a&apos; be %&apos;val&apos; in %&apos;loop&apos; %&apos;body&apos;" type="command" category="control"><comment x="0" y="0" w="238.66666666666669" collapsed="false">Provides LOOP as a function of one input that runs&#xD;the body of the LET with A set to the function input,&#xD;so the body can run itself recursively.&#xD;See COPY block in Variables for an example of use.</comment><header></header><code></code><translations>pt:tendo _ o valor inicial _ , executa _ definido como _&#xD;</translations><inputs><input type="%upvar"></input><input type="%s"></input><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doSetVar"><l>a</l><block var="val"/></block><block s="doSetVar"><l>loop</l><block s="reifyScript"><script><block s="doSetVar"><l>a</l><block var="new value"/></block><block s="doRun"><block var="body"/><list><block var="a"/></list></block></script><list><l>new value</l></list></block></block><block s="doRun"><block var="loop"/><list><block var="a"/></list></block></script></block-definition><block-definition s="setting %&apos;which&apos;" type="reporter" category="sensing"><header></header><code></code><translations>pt:o valor da configuração _&#xD;</translations><inputs><input type="%s" readonly="true"><options>Project notes&#xD;Project name&#xD;User&#xD;Presentation mode&#xD;Language&#xD;Zoom blocks&#xD;Stage size&#xD;Stage scale&#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;Visible stepping&#xD;Thread safe scripts&#xD;Prefer smooth animations&#xD;Flat line ends&#xD;Codification support&#xD;Inheritance support&#xD;Visible palette</options></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>which</l></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    ide = stage.parentThatIsA(IDE_Morph),&#xD;    world = stage.parentThatIsA(WorldMorph);&#xD;&#xD;switch (which) {&#xD;    case &apos;Project notes&apos;:&#xD;        return ide.projectNotes;&#xD;    case &apos;Project name&apos;:&#xD;        return ide.projectName;&#xD;    case &apos;User&apos;:&#xD;        return ide.cloud.username;&#xD;    case &apos;Presentation mode&apos;:&#xD;        return ide.isAppMode;&#xD;    case &apos;Language&apos;:&#xD;        return SnapTranslator.language;&#xD;    case &apos;Zoom blocks&apos;:&#xD;        return SyntaxElementMorph.prototype.scale;&#xD;    case &apos;Stage size&apos;:&#xD;        return new List([StageMorph.prototype.dimensions.x,&#xD;                                   StageMorph.prototype.dimensions.y]);&#xD;    case &apos;Stage scale&apos;:&#xD;       return stage.scale;&#xD;    case &apos;Retina display support&apos;:&#xD;        return isRetinaEnabled();&#xD;    case &apos;Long form input dialog&apos;:&#xD;        return InputSlotDialogMorph.prototype.isLaunchingExpanded;&#xD;    case &apos;Plain prototype labels&apos;:&#xD;        return BlockLabelPlaceHolderMorph.prototype.plainLabel;&#xD;    case &apos;Input sliders&apos;:&#xD;        return MorphicPreferences.useSliderForInput;&#xD;    case &apos;Execute on slider change&apos;:&#xD;        return ArgMorph.prototype.executeOnSliderEdit;&#xD;    case &apos;Clicking sound&apos;:&#xD;        return !!BlockMorph.prototype.snapSound;&#xD;    case &apos;Turbo mode&apos;:&#xD;        return stage.isFastTracked;&#xD;    case &apos;Flat design&apos;:&#xD;        return MorphicPreferences.isFlat;&#xD;    case &apos;Keyboard editing&apos;:&#xD;        return world.keyboardReceiver instanceof ScriptFocusMorph;&#xD;    case &apos;Visible stepping&apos;:&#xD;        return Process.prototype.enableSingleStepping;&#xD;    case &apos;Thread safe scripts&apos;:&#xD;        return stage.isThreadSafe;&#xD;    case &apos;Prefer smooth animations&apos;:&#xD;        return StageMorph.prototype.frameRate &gt; 0;&#xD;    case &apos;Flat line ends&apos;:&#xD;        return SpriteMorph.prototype.useFlatLineEnds;&#xD;    case &apos;Codification support&apos;:&#xD;        return StageMorph.prototype.enableCodeMapping;&#xD;    case &apos;Inheritance support&apos;:&#xD;        return StageMorph.prototype.enableInheritance;&#xD;    default: return which;&#xD;    case &apos;Visible palette&apos;:&#xD;        return ide.currentCategory;&#xD;}</l></block><list><block var="which"/></list></block></block></script></block-definition><block-definition s="set flag %&apos;which&apos; to %&apos;tf&apos;" type="command" category="sensing"><header></header><code></code><translations>pt:altera o valor da configuração _ para _&#xD;</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;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;        thisObj = this;&#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;        if (tf != (world.keyboardReceiver instanceof ScriptFocusMorph)) {&#xD;            thisObj.scripts.toggleKeyboardEntry();&#xD;        };&#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="set value %&apos;which&apos; to %&apos;value&apos;" type="command" category="sensing"><header></header><code></code><translations>pt:altera o valor da configuração _ para _&#xD;</translations><inputs><input type="%s" readonly="true"><options>Project notes&#xD;Project name&#xD;Language&#xD;Zoom blocks&#xD;Stage size&#xD;Stage scale&#xD;Visible palette</options></input><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>which</l><l>value</l></list><l>var   stage = this.parentThatIsA(StageMorph),&#xD;        ide = stage.parentThatIsA(IDE_Morph),&#xD;        world = stage.parentThatIsA(WorldMorph);&#xD;&#xD;try {&#xD;ide.savingPreferences = false;&#xD;&#xD;switch (which) {&#xD;    case &apos;Project notes&apos;:&#xD;        ide.projectNotes = value;&#xD;        break;&#xD;    case &apos;Project name&apos;:&#xD;        ide.setProjectName(value);&#xD;        break;&#xD;    case &apos;Language&apos;:&#xD;        ide.setLanguage(value);&#xD;        break;&#xD;    case &apos;Zoom blocks&apos;:&#xD;        if (!isNaN(value)) ide.setBlocksScale(Math.min(value, 12));&#xD;        break;&#xD;    case &apos;Stage size&apos;:&#xD;        if ((value instanceof List) &amp;&amp; value.length()==2&#xD;                       &amp;&amp; !isNaN(value.at(1)) &amp;&amp; !isNaN(value.at(2)))&#xD;            ide.setStageExtent(new Point(value.at(1), value.at(2)));&#xD;        break;&#xD;    case &apos;Stage scale&apos;:&#xD;        ide.toggleStageSize(value != 1, Math.max(0.1, value));&#xD;        break;&#xD;    case &apos;Visible palette&apos;:&#xD;        ide.currentCategory = value.toLowerCase();&#xD;        ide.categories.children.forEach(function (each) {&#xD;                each.refresh();&#xD;        });&#xD;        ide.refreshPalette(true);&#xD;        break;&#xD;};&#xD;}&#xD;finally {ide.savingPreferences = true;&#xD;};</l></block><list><block var="which"/><block var="value"/></list></block></script></block-definition></blocks><variables><variable name="score"><l>11</l></variable><variable name="number of invaders"><l>3</l></variable><variable name="set x to -190"><l>0</l></variable><variable name="x"><l>150</l></variable><variable name="army direction"><l>90</l></variable><variable name="number of rows"><l>3</l></variable><variable name="y"><l>-75</l></variable></variables></project><media name="space invaders" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>