<snapdata remixID="9327950"><project name="Space Invaders Game" app="Snap! 5.4, http://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" codify="false" inheritance="true" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAABaAAAAAAHwbojAAAL30lEQVR4Ae3QMQEAAADCoPVPbQwfiEBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGPgMDI3+AAEeFvcCAAAAAElFTkSuQmCC</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="1.0085684658627088" y="-1.1133547999782252" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="80,80,80,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="13" y="10"><block s="receiveGo"></block><block s="hide"></block><block s="doSetVar"><l>LEFT_EDGE</l><l>-240</l></block><block s="doSetVar"><l>RIGHT_EDGE</l><l>240</l></block><block s="doSetVar"><l>TOP_EDGE</l><l>180</l></block><block s="doSetVar"><l>BOTTOM_EDGE</l><l>-180</l></block><block s="doSetVar"><l>UP</l><l>0</l></block><block s="doSetVar"><l>RIGHT</l><l>90</l></block><block s="doSetVar"><l>DOWN</l><l>180</l></block><block s="doSetVar"><l>LEFT</l><l>270</l></block><block s="doSetVar"><l>GAME_OVER</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></scripts></sprite><sprite name="Bullet" idx="3" x="-125.69731663685184" y="-16.225760286226034" heading="0" scale="0.5" volume="100" pan="0" rotation="2" draggable="true" hidden="true" costume="1" color="14.280000000000012,178.5,0,1" pen="tip" id="45"><costumes><list id="46"><item><costume name="Untitled" center-x="6" center-y="12" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAZCAYAAADqrKTxAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADaADAAQAAAABAAAAGQAAAAA8qinsAAAAOElEQVQ4EWNkYGBwAGKSACNQ9X+SdAAVM5GqAaR+VBM01EYDYjQgoCEwGhBUCAgWoBkHUc0hzAMA4JsCMzMHdqUAAAAASUVORK5CYII=" id="47"/></item></list></costumes><sounds><list struct="atomic" id="48"></list></sounds><blocks></blocks><variables></variables><scripts><script x="22" y="10"><block s="receiveGo"></block><block s="setScale"><l>50</l></block><block s="doSetVar"><l>BULLET_SPEED</l><l>5</l></block><block s="hide"></block></script><script x="25" y="117"><block s="receiveKey"><l><option>space</option></l></block></script><script x="26" y="311"><block s="receiveKey"><l><option>space</option></l></block><block s="createClone"><l><option>myself</option></l></block></script><script x="54" y="157"><block s="setHeading"><block var="UP"/></block><block s="show"></block><block s="gotoXY"><block s="reportAttributeOf"><l><option>x position</option></l><l>Cannon</l></block><l>-125</l></block><block s="doUntil"><block s="reportGreaterThan"><block s="yPosition"></block><block var="TOP_EDGE"/></block><script><block s="forward"><block var="BULLET_SPEED"/></block></script></block><block s="hide"></block></script><script x="28" y="388"><block s="receiveOnClone"></block><block s="setHeading"><block var="UP"/></block><block s="show"></block><block s="gotoXY"><block s="reportAttributeOf"><l><option>x position</option></l><l>Cannon</l></block><l>-125</l></block><block s="doUntil"><block s="reportGreaterThan"><block s="yPosition"></block><block var="TOP_EDGE"/></block><script><block s="forward"><block var="BULLET_SPEED"/></block><block s="doIf"><block s="reportTouchingObject"><l>Invader</l></block><script><custom-block s="for each %upvar of %l %cs"><l>item</l><block s="reportGet"><l><option>other sprites</option></l></block><script><block s="doIf"><block s="reportAnd"><block s="reportTouchingObject"><block var="item"/></block><block s="reportEquals"><block s="reportAttributeOf"><l><option>costume name</option></l><block var="item"/></block><l>invader</l></block></block><script><block s="doTellTo"><block var="item"/><block s="reifyScript"><script><block s="removeClone"></block></script><list></list></block><list></list></block><block s="removeClone"></block></script></block></script></custom-block></script></block></script></block><block s="hide"></block><block s="removeClone"></block></script></scripts></sprite><sprite name="Invader" idx="4" x="35" y="-540" heading="90" scale="0.2" volume="100" pan="0" rotation="2" draggable="true" costume="1" color="138.7200000000001,0,173.4,1" pen="tip" id="147"><costumes><list id="148"><item><costume name="invader" center-x="131" center-y="95" image="data:image/png;base64,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" id="149"/></item></list></costumes><sounds><list struct="atomic" id="150"></list></sounds><blocks></blocks><variables></variables><scripts><script x="30" y="30"><block s="receiveGo"></block><block s="doSetVar"><l>INVADER_DIRECTION</l><block var="RIGHT"/></block><block s="doSetVar"><l>INVADER_COUNT</l><l>7</l></block><block s="doSetVar"><l>INVADER_WIDTH</l><l>40</l></block><block s="doSetVar"><l>INVADER_BETWEEN</l><l>20</l></block><block s="doSetVar"><l>INVADER_INITIALX</l><block s="reportSum"><block var="LEFT_EDGE"/><l>60</l></block></block><block s="doSetVar"><l>INVADER_INITIALY</l><l>125</l></block><block s="doSetVar"><l>INVADER_SPEED</l><l>5</l></block><block s="doSetVar"><l>INVADER_WAIT</l><l>.5</l></block><block s="doSetVar"><l>INVADER_DOWN</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>INVADER_DOWN_SPEED</l><l>30</l></block><block s="doSetVar"><l>GAME_OVER</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSwitchToCostume"><l>invader</l></block><block s="setScale"><l>20</l></block><block s="gotoXY"><block var="INVADER_INITIALX"/><block var="INVADER_INITIALY"/></block><block s="setHeading"><block var="INVADER_DIRECTION"/></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><block var="INVADER_COUNT"/><script><block s="createClone"><l><option>myself</option></l></block><block s="forward"><block s="reportSum"><block var="INVADER_WIDTH"/><block var="INVADER_BETWEEN"/></block></block></script></custom-block><block s="gotoXY"><l>0</l><l>-300</l><comment w="90" collapsed="false">get rid of the original sprite</comment></block><block s="doWait"><l>1</l></block><block s="doUntil"><block var="GAME_OVER"/><script><block s="doBroadcastAndWait"><l>move</l></block><block s="doWait"><l>.5</l></block><block s="doIf"><block var="INVADER_DOWN"/><script><block s="doBroadcastAndWait"><l>down</l></block><block s="doWait"><l>.5</l></block><block s="doIfElse"><block s="reportEquals"><block var="INVADER_DIRECTION"/><block var="RIGHT"/></block><script><block s="doSetVar"><l>INVADER_DIRECTION</l><block var="LEFT"/></block></script><script><block s="doSetVar"><l>INVADER_DIRECTION</l><block var="RIGHT"/></block></script></block></script></block></script></block><block s="removeClone"></block></script><script x="53.000001999999995" y="1117"><block s="receiveMessage"><l>down</l></block><block s="setHeading"><block var="DOWN"/></block><block s="forward"><block var="INVADER_DOWN_SPEED"/></block><block s="doSetVar"><l>INVADER_DOWN</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script x="357.000001" y="739.000001"><block s="doWait"><l>.5</l></block></script><script x="31" y="810.8"><block s="receiveMessage"><l>move</l></block><block s="setHeading"><block var="INVADER_DIRECTION"/></block><block s="forward"><block var="INVADER_SPEED"/></block><block s="doIfElse"><block s="reportEquals"><block var="INVADER_DIRECTION"/><block var="RIGHT"/></block><script><block s="doIf"><block s="reportGreaterThan"><block s="xPosition"></block><block s="reportDifference"><block var="RIGHT_EDGE"/><block s="reportQuotient"><block var="INVADER_WIDTH"/><l>2</l></block></block></block><script><block s="doSetVar"><l>INVADER_DOWN</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><script><block s="doIf"><block s="reportLessThan"><block s="xPosition"></block><block s="reportSum"><block var="LEFT_EDGE"/><block s="reportQuotient"><block var="INVADER_WIDTH"/><l>2</l></block></block></block><script><block s="doSetVar"><l>INVADER_DOWN</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block></script></scripts></sprite><watcher var="LEFT_EDGE" style="normal" x="2.8106770833330756" y="2.8106770833333385" color="243,118,29" hidden="true"/><watcher var="RIGHT_EDGE" style="normal" x="2.8106770833330756" y="11.24270889546861" color="243,118,29" hidden="true"/><watcher var="TOP_EDGE" style="normal" x="2.8106770833330756" y="19.67474070760413" color="243,118,29" hidden="true"/><watcher var="BOTTOM_EDGE" style="normal" x="2.8106770833330756" y="28.106772519739422" color="243,118,29" hidden="true"/><watcher var="UP" style="normal" x="4.075906344410782" y="4.075906344410896" color="243,118,29" hidden="true"/><watcher var="DOWN" style="normal" x="4.075906344410782" y="16.30362619282475" color="243,118,29" hidden="true"/><watcher var="LEFT" style="normal" x="4.075906344410782" y="28.531346041238677" color="243,118,29" hidden="true"/><watcher var="RIGHT" style="normal" x="4.075906344410782" y="40.75906588965252" color="243,118,29" hidden="true"/><watcher var="CANNON_SPEED" style="normal" x="5.374999999999318" y="5.374999999999972" color="243,118,29" hidden="true"/><watcher var="BULLET_SPEED" style="normal" x="7.938461538461183" y="7.93846153846156" color="243,118,29" hidden="true"/><watcher var="INVADER_DIRECTION" style="normal" x="7.565982404692363" y="7.565982404692022" color="243,118,29" hidden="true"/><watcher var="INVADER_COUNT" style="normal" x="7.565982404692363" y="23.45454696774192" color="243,118,29" hidden="true"/><watcher var="INVADER_WIDTH" style="normal" x="7.565982404692363" y="39.3431115307918" color="243,118,29" hidden="true"/><watcher var="INVADER_BETWEEN" style="normal" x="7.565982404692363" y="55.2316760938416" color="243,118,29" hidden="true"/><watcher var="INVADER_INITIALX" style="normal" x="7.565982404692363" y="71.12024065689162" color="243,118,29" hidden="true"/><watcher var="INVADER_INITIALY" style="normal" x="7.565982404692363" y="87.00880521994148" color="243,118,29" hidden="true"/><watcher var="INVADER_SPEED" style="normal" x="7.565982404692363" y="102.89736978299118" color="243,118,29" hidden="true"/><watcher var="INVADER_WAIT" style="normal" x="7.565982404692363" y="118.78593434604107" color="243,118,29" hidden="true"/><watcher var="INVADER_DOWN" style="normal" x="7.565982404692363" y="134.67449890909091" color="243,118,29" hidden="true"/><watcher var="GAME_OVER" style="normal" x="7.565982404692363" y="150.56306347214093" color="243,118,29" hidden="true"/><watcher var="INVADER_DOWN_SPEED" style="normal" x="7.565982404692363" y="166.45162803519068" color="243,118,29" hidden="true"/><sprite name="Cannon" idx="2" x="-46.898412698412585" y="-142.3896825396826" heading="90" scale="0.35" volume="100" pan="0" rotation="2" draggable="true" costume="1" color="216.75,26.009999999999998,0,1" pen="tip" id="341"><costumes><list id="342"><item><costume name="cannon" center-x="116" center-y="77" image="data:image/png;base64,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" id="343"/></item></list></costumes><sounds><list struct="atomic" id="344"></list></sounds><blocks></blocks><variables></variables><scripts><script x="10" y="10"><block s="receiveGo"></block><block s="setScale"><l>35</l></block><block s="gotoXY"><l>0</l><block s="reportSum"><block var="BOTTOM_EDGE"/><l>35</l></block></block><block s="doSetVar"><l>CANNON_SPEED</l><l>5</l></block></script><script x="11.333333333333343" y="131"><block s="receiveKey"><l><option>right arrow</option></l></block></script><script x="223.33333333333337" y="130.66666666666663"><block s="receiveKey"><l><option>left arrow</option></l></block></script><script x="24.333333333333343" y="186"><block s="setHeading"><block var="RIGHT"/></block><block s="doIfElse"><block s="reportTouchingObject"><l><option>edge</option></l></block><script><block s="bounceOffEdge"></block></script><script><block s="forward"><block var="CANNON_SPEED"/></block></script></block></script><script x="244.33333333333337" y="179.66666666666663"><block s="setHeading"><block var="LEFT"/></block><block s="doIfElse"><block s="reportGreaterThan"><block s="xPosition"></block><block var="RIGHT_EDGE"/></block><script><block s="bounceOffEdge"></block></script><script><block s="forward"><block var="CANNON_SPEED"/></block></script></block></script><script x="18" y="323"><block s="receiveKey"><l><option>right arrow</option></l></block><block s="setHeading"><block var="RIGHT"/></block><block s="doUntil"><block s="reportOr"><block s="reportNot"><block s="reportKeyPressed"><l><option>right arrow</option></l></block></block><l/></block><script><block s="forward"><block var="CANNON_SPEED"/></block></script></block></script><script x="15.666666666666657" y="474.33333333333337"><block s="receiveKey"><l><option>left arrow</option></l></block><block s="setHeading"><block var="LEFT"/></block><block s="doUntil"><block s="reportOr"><block s="reportNot"><block s="reportKeyPressed"><l><option>left arrow</option></l></block></block><block s="reportLessThan"><block s="xPosition"></block><block var="LEFT_EDGE"/></block></block><script><block s="forward"><block var="CANNON_SPEED"/></block></script></block></script><script x="458.97493589583337" y="224.66666766666668"><block s="reportTouchingObject"><l><option>edge</option></l></block></script></scripts></sprite></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="label %&apos;text&apos; of size %&apos;size&apos;" type="command" category="pen"><comment x="0" y="0" w="90" collapsed="false">LABEL will stamp text on the stage at the given font size. The direction of the text is the direction the sprite is facing, and color will match the pen color.</comment><header></header><code></code><translations>de:drucke _ in Größe _&#xD;ca:etiqueta _ de mida _&#xD;es:etiqueta _ de tamaño _&#xD;fr:étiquette _ d&apos;une taille de _&#xD;</translations><inputs><input type="%txt">Hello!</input><input type="%n">12</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>text</l><l>size</l><l>process</l></list><l>var stage = this.parentThatIsA(StageMorph);&#xD;&#xD;if (this == stage) {&#xD;    throw new Error(&#xD;     &apos;LABEL cannot be used from the stage because the stage does not have a postion.\n&apos;&#xD;     + &apos;Use LABEL from a sprite to draw text.&apos;);&#xD;}&#xD;&#xD;if (typeof text !== &apos;string&apos; &amp;&amp; typeof text !== &apos;number&apos;) {&#xD;    throw new Error(&apos;LABEL can only draw text or numbers, not a &apos; + process.reportTypeOf(text)); &#xD;}&#xD;&#xD;var context = stage.penTrails().getContext(&apos;2d&apos;),&#xD;    rotation = radians(this.direction() - 90),&#xD;    trans = new Point(&#xD;      this.center().x - stage.left(),&#xD;      this.center().y - stage.top()&#xD;    ),&#xD;    isWarped = this.Warped,&#xD;    len,&#xD;    pos;&#xD;&#xD;if (isWarped) {endWarp(); }&#xD;context.save();&#xD;context.font = size + &apos;px monospace&apos;;&#xD;context.textAlign = &apos;left&apos;;&#xD;context.textBaseline = &apos;alphabetic&apos;;&#xD;context.fillStyle = this.color.toString();&#xD;len = context.measureText(text).width;&#xD;trans = trans.multiplyBy(1 / stage.scale);&#xD;context.translate(trans.x, trans.y);&#xD;context.rotate(rotation);&#xD;context.fillText(text, 0, 0);&#xD;context.translate(-trans.x, -trans.y);&#xD;context.restore();&#xD;pos = new Point(&#xD;  len * Math.sin(radians(this.direction())),&#xD;  len * Math.cos(radians(this.direction())));&#xD;pos = pos.add(new Point(this.xPosition(), this.yPosition()));&#xD;this.gotoXY(pos.x, pos.y, false);&#xD;this.changed();&#xD;if (isWarped) {this.startWarp(); }&#xD;stage.changed();&#xD;</l></block><list><block var="text"/><block var="size"/></list></block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations>de:ist _ leer?&#xD;ca:_ buida?&#xD;es:_ vacía?&#xD;fr:_ vide?&#xD;</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="keep items such that %&apos;pred&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:behalte Elemente, die _ aus _&#xD;ca:manté els elements on _ de _&#xD;es:mantener los elementos donde _ de _&#xD;fr:garder les items tels que _ de _&#xD;</translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIfElse"><block s="evaluate"><block var="pred"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script><script><block s="doReport"><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block-definition><block-definition s="combine with %&apos;function&apos; items of %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:kombiniere mit _ die Elemente von _&#xD;ca:combina amb _ els elements de _&#xD;es:combinar con _ los elementos de _&#xD;fr:combine avec _ les items de _&#xD;</translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="data"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="data"/></block></block></script></block><block s="doReport"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="combine with %repRing items of %l"><block var="function"/><block s="reportCDR"><block var="data"/></block></custom-block></list></block></block></script></block-definition><block-definition s="if %&apos;test&apos; then %&apos;true&apos; else %&apos;false&apos;" type="reporter" category="control"><header></header><code></code><translations>de:wenn _ dann _ sonst _&#xD;ca:si _ llavors _ si no _&#xD;es:si _ entonces _ sino _&#xD;fr:si _ alors _ sinon _&#xD;</translations><inputs><input type="%b"></input><input type="%anyUE"></input><input type="%anyUE"></input></inputs><script><block s="doIfElse"><block var="test"/><script><block s="doReport"><block s="evaluate"><block var="true"/><list></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="false"/><list></list></block></block></script></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>de:für _ = _ bis _ _&#xD;ca:per _ = _ fins _ _&#xD;es:para _ = _ hasta _ _&#xD;fr:pour _ allant de _ à _ _&#xD;</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="join words %&apos;words&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:füge Wörter zusammen _&#xD;ca:uneix les paraules _&#xD;es:unir las palabras _&#xD;fr:fusionne les mots _&#xD;</translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="words"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="words"/></block><block s="reportCDR"><block s="reportCDR"><block var="words"/></block></block></block></custom-block></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="words"/></block><l> </l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></list></block></block></script></block-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Liste $arrowRight Satz _&#xD;ca:llista $arrowRight frase _&#xD;es:lista $arrowRight frase _&#xD;fr:liste $arrowRight phrase _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Satz $arrowRight Liste _&#xD;ca:frase $arrowRight llista _&#xD;es:frase $arrowRight lista _&#xD;fr:phrase $arrowRight liste _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></script></block-definition><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;</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;</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;</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;</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="for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><header></header><code></code><translations>de:für jedes _ von _ _&#xD;ca:per cada _ de _ _&#xD;es:para cada _ de _ _&#xD;fr:pour chaque _ de _ _&#xD;</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="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;</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="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Wort $arrowRight Liste _&#xD;ca:paraula $arrowRight llista _&#xD;es:palabra $arrowRight lista _&#xD;fr:mot $arrowRight liste _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></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;</translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Liste $arrowRight Wort _&#xD;ca:llista $arrowRight paraula _&#xD;es:lista $arrowRight palabra _&#xD;fr:liste $arrowRight mot _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block-definition><block-definition s="%&apos;x&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block var="x"/></block></script></block-definition><block-definition s="numbers from %&apos;from&apos; to %&apos;to&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:Zahlen von _ bis _&#xD;ca:nombres des de _ a _&#xD;es:números de _ a _&#xD;fr:nombres de _ à _&#xD;</translations><inputs><input type="%n">1</input><input type="%n">10</input></inputs><script><block s="doIf"><block s="reportGreaterThan"><block var="from"/><block var="to"/></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block var="from"/><custom-block s="numbers from %n to %n"><block s="reportSum"><block var="from"/><l>1</l></block><block var="to"/></custom-block></block></block></script></block-definition><block-definition s="map %&apos;func&apos; over %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:wende _ an auf _&#xD;ca:mapeja _ sobre _&#xD;es:mapear _ sobre _&#xD;fr:appliquer _ à _&#xD;</translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block var="data"/></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="func"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><custom-block s="map %repRing over %l"><block var="func"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script></block-definition><block-definition s="block move" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="setHeading"><block var="INVADER_DIRECTION"/></block><block s="forward"><block var="INVADER_SPEED"/></block><block s="doIfElse"><block s="reportEquals"><block var="INVADER_DIRECTION"/><block var="RIGHT"/></block><script><block s="doIf"><block s="reportGreaterThan"><block s="xPosition"></block><block s="reportDifference"><block var="RIGHT_EDGE"/><block var="INVADER_WIDTH"/></block></block><script><block s="doSetVar"><l>GO_DOWN</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><script><block s="doIf"><block s="reportLessThan"><block s="xPosition"></block><block s="reportSum"><block var="LEFT_EDGE"/><block var="INVADER_WIDTH"/></block></block><script><block s="doSetVar"><l>GO_DOWN</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block></script></block-definition><block-definition s="block green flag" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSwitchToCostume"><l>space invader</l></block><block s="setHeading"><block var="INVADER_DIRECTION"/></block><block s="gotoXY"><block var="INVADER_INITIAL"/><l>125</l></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><block var="INVADER_COUNT"/><script><block s="createClone"><l><option>myself</option></l></block><block s="forward"><block s="reportSum"><block var="INVADER_WIDTH"/><block var="INVADER_DISTANCE"/></block></block></script></custom-block><block s="doWait"><l>1</l></block><block s="doUntil"><block s="reportBoolean"><l><bool>false</bool></l></block><script><block s="doBroadcast"><l>move</l></block><block s="doWait"><l>.5</l></block><block s="doIf"><block var="GO_DOWN"/><script><block s="doBroadcast"><l>down</l></block><block s="doIfElse"><block s="reportEquals"><block var="INVADER_DIRECTION"/><block var="RIGHT"/></block><script><block s="doSetVar"><l>INVADER_DIRECTION</l><block var="LEFT"/></block></script><script><block s="doSetVar"><l>INVADER_DIRECTION</l><block var="RIGHT"/></block></script></block><block s="doWait"><l>.5</l></block><block s="doSetVar"><l>GO_DOWN</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block></script></block-definition></blocks><variables><variable name="LEFT_EDGE"><l>-240</l></variable><variable name="RIGHT_EDGE"><l>240</l></variable><variable name="TOP_EDGE"><l>180</l></variable><variable name="BOTTOM_EDGE"><l>-180</l></variable><variable name="UP"><l>0</l></variable><variable name="DOWN"><l>180</l></variable><variable name="LEFT"><l>270</l></variable><variable name="RIGHT"><l>90</l></variable><variable name="CANNON_SPEED"><l>5</l></variable><variable name="BULLET_SPEED"><l>5</l></variable><variable name="INVADER_DIRECTION"><l>90</l></variable><variable name="INVADER_COUNT"><l>7</l></variable><variable name="INVADER_WIDTH"><l>40</l></variable><variable name="INVADER_BETWEEN"><l>20</l></variable><variable name="INVADER_INITIALX"><l>-180</l></variable><variable name="INVADER_INITIALY"><l>125</l></variable><variable name="INVADER_SPEED"><l>5</l></variable><variable name="INVADER_WAIT"><l>.5</l></variable><variable name="INVADER_DOWN"><bool>false</bool></variable><variable name="GAME_OVER"><bool>false</bool></variable><variable name="INVADER_DOWN_SPEED"><l>30</l></variable></variables></project><media name="Space Invaders Game" app="Snap! 5.4, http://snap.berkeley.edu" version="1"></media></snapdata>