<snapdata remixID="10073561"><project name="Space Invaders Project " app="Snap! 6, https://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAABNZJREFUeAHtmjFoVAccxv8vpsEEsaQEE8iQIgadNIUMEnEpbRU6tFYFBTGd2kLpYnFocSp0K24OCi4dOkWhnVzEDi0UulREUgqCKO2JmtOiR+x5l+tLiGiuornXd773ff5uMXe59973fb8fl8vFpJXeghsLFLRAT0HX5bIssLQAAiJCoQsgYKHzc3EExIFCF0DAQufn4giIA4UugICFzs/FERAHCl2gNALyeXihHhR28d7Crtx24SRJ4tjOb2JkbEMMjK+Jdz95K4aHh9uexV23BZIy/SmuUqnEF+PHY7A2srTz1d7ZOHzkYPw9+ldMf3YoFiXl5rVAqQRcnPanCz/HmTd/eerKd8aux9THW+PDzw9FX1/fU5/Dg1oLlOZH8KPZzn/166Mvl/69HZWYOvxGvLKxGe9/Oh1DQ0Mrvs8d7QVKJeCRfV/G/I/9MTC1ENvfmYzx90ZjYmJCe2HSP3OB0ghYq9Vix/7J2DvzwTMD802vBUr3HtBrXto8b4HSfA74vKB833MBBPTkKtMKAWVQeQZFQE+uMq0QUAaVZ1AE9OQq0woBZVB5BkVAT64yrRBQBpVnUAT05CrTCgFlUHkGRUBPrjKtEFAGlWdQBPTkKtMKAWVQeQZFQE+uMq0QUAaVZ1AE9OQq0woBZVB5BkVAT64yrRBQBpVnUAT05CrTCgFlUHkGRUBPrjKtEFAGlWdQBPTkKtMKAWVQeQZFQE+uMq0QUAaVZ1AE9OQq0woBZVB5BkVAT64yrRBQBpVnUAT05CrTCgFlUHkGRUBPrjKtEFAGlWdQBPTkKtMKAWVQeQZFQE+uMq0QUAaVZ1AE9OQq0woBZVB5BkVAT64yrRBQBpVnUAT05CrTCgFlUHkGRUBPrjKtEFAGlWdQBPTkKtMKAWVQeQZFQE+uMq0QUAaVZ1AE9OQq0woBZVB5BkVAT64yrRBQBpVnUAT05CrTCgFlUHkGRUBPrjKtEFAGlWdQBPTkKtMKAWVQeQZFQE+uMq0QUAaVZ1AE9OQq0woBZVB5BkVAT64yrRBQBpVnUAT05CrTCgFlUHkGRUBPrjKtEFAGlWdQBPTkKtMKAWVQeQZFQE+uMq0QUAaVZ1AE9OQq0woBZVB5BkVAT64yrRBQBpVnUAT05CrTqlcmaQmDnrtzJq48+D12De6NTWu3lDBh+SMh4P9g9EP1uzh392y8nsqHgNmGRMAOd1uIhTh981TMNW7HH+mrX5Ie/311Ji7Nz8aewX2xuZ9Xwk4mTVrprZMDXvbnNlqNePvy1rj2z+x/pjixcSZ2pz+Oua1+AX4JWf1WPLMLCyBgF0bllKtfgPeAbVu10vd4N+p/tj36+G6z1Yx668HjB574qtq4FZX69SceWfnlQM+6eLV3cOWDL/k93gO2CXC/eS+2/ba+7dF87h4Y+ii+HjuZz8lMzsIr4DLI+YVa3G1Uo/pwrmtoq+lvzouvkEn0xEjfaNeuo3RiXgGXaZ2d+zaOXp1+IezWrXktLk50T/QXUiKni/BLSE5DcppsCyBgtt04KqcFEDCnITlNtgUQMNtuHJXTAgiY05CcJtsCCJhtN47KaQEEzGlITpNtAT4HXN6tmf4vl3qrnm3FDo9K0o+i1/b0d3iU59MR0JOrTCt+BMug8gyKgJ5cZVr9C/qppMdNHYKzAAAAAElFTkSuQmCC</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,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAC99JREFUeAHt0DEBAAAAwqD1T20MH4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBj4DAyN/gABHhb3AgAAAABJRU5ErkJggg==</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><block s="doSetVar"><l>INVADER_COUNT</l><l>7</l></block><block s="doSetVar"><l>INVADER_ALIVE</l><block var="INVADER_COUNT"/></block></script></scripts></sprite><sprite name="Cannon" idx="2" x="0.5" y="-145.5" 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="51"><costumes><list id="52"><item><costume name="cannon" center-x="116" center-y="77" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOoAAACPCAYAAAD0rUenAAAAAXNSR0IArs4c6QAABWdJREFUeAHt3bFuHFUUx+ExceuSF3DHA6CIV6GlTZm3oOGpIkVCoqNIgehduiabWUuRIpQjndkd+fxn9bkBXe7uPf7u/BI3a+4WX4cTePxzOV069PP6yqefl7tLX+91MwI/zBzrVAIEtggIdYuWvQSGBIQ6BO9YAlsEhLpFy14CQwJCHYJ3LIEtAkLdomUvgSEBoQ7BO5bAFgGhbtGyl8CQgFCH4B1LYIuAULdo2UtgSECoQ/COJbBFQKhbtOwlMCQg1CF4xxLYIiDULVr2EhgSEOoQvGMJbBEQ6hYtewkMCQh1CP7iYz9e/qHxr2e+//Tu4g+ef30P/3xdAZ/0fy3vD2tgb64/7HGH93j5LQ+fr59lees3Reyg2HqL+9Yum64XWAPbI7LrB1mWh/WP54crg3+JfY9hvEdLwI++LSabCMwKCHXW3+kEWgJCbTHZRGBWQKiz/k4n0BIQaovJJgKzAkKd9Xc6gZaAUFtMNhGYFRDqrL/TCbQEhNpisonArIBQZ/2dTqAlINQWk00EZgWEOuvvdAItAaG2mGwiMCsg1Fl/pxNoCQi1xWQTgVkBoc76O51AS0CoLSabCMwKCHXW3+kEWgJCbTHZRGBWQKiz/k4n0BIQaovJJgKzAkKd9Xc6gZaAUFtMNhGYFRDqrL/TCbQEhNpisonArIBQZ/2dTqAlINQWk00EZgWEOuvvdAItAaG2mGwiMCsg1Fl/pxNoCQi1xWQTgVkBoc76O51AS0CoLSabCMwKCPUV/H/7+9fTjzcmff6/lv/y10+nV+BzxCqwcu/49XG5uQdyL53zg32LX89S/e61Pn1el9/u19f9d0+5YvFWH8grSG76pe67uN71J6in4j9dsnxjP5BdQuA1BPIFhJp/RyYksAjVQ0DgAAJCPcAlGZGAUD0DBA4gINQDXJIRCQjVM0DgAAJCPcAlGZGAUD0DBA4gINQDXJIRCQjVM0DgAAJCPcAlGZGAUD0DBA4gINQDXJIRCewW6h///u6zqJ4nAt8IvP/0brdP694tH5bT8uabd7/wX8+/wcBnEy/E87KbFDh/qP7lA+TXfnf/Lcv9OdLHHUK9dhavJ3BrAue/uB52aOufFWa3H31vDdn3QyBJQKhJt2EWAoWAUAsYywSSBISadBtmIVAICLWAsUwgSUCoSbdhFgKFgFALGMsEkgSEmnQbZiFQCAi1gLFMIElAqEm3YRYChYBQCxjLBJIEhJp0G2YhUAgItYCxTCBJQKhJt2EWAoWAUAsYywSSBISadBtmIVAICLWAsUwgSUCoSbdhFgKFgFALGMsEkgSEmnQbZiFQCAi1gLFMIElAqEm3YRYChYBQCxjLBJIEhJp0G2YhUAgItYCxTCBJQKhJt2EWAoWAUAsYywSSBISadBtmIVAICLWAsUwgSUCoSbdhFgKFgFALGMsEkgSEmnQbZiFQCAi1gLFMIElAqEm3YRYChYBQCxjLBJIEhJp0G2YhUAgItYCxTCBJQKhJt2EWAoWAUAsYywSSBISadBtmIVAICLWAsUwgSUCoSbdhFgKFgFALGMsEkgSEmnQbZiFQCAi1gLFMIElAqEm3YRYChYBQCxjLBJIEhJp0G2YhUAgItYCxTCBJQKhJt2EWAoWAUAsYywSSBISadBtmIVAICLWAsUwgSUCoSbdhFgKFgFALGMsEkgSEmnQbZiFQCAi1gLFMIElAqEm3YRYChYBQCxjLBJIEhJp0G2YhUAgItYCxTCBJQKhJt2EWAoWAUAsYywSSBISadBtmIVAICLWAsUwgSUCoSbdhFgKFgFALGMsEkgSEmnQbZiFQCAi1gLFMIEng/jzM8ylpJLMQIPB/gS9gGy9cBDQY7QAAAABJRU5ErkJggg==" id="53"/></item></list></costumes><sounds><list struct="atomic" id="54"></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.00000000000003"><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.66666666666666"><block s="setHeading"><block var="LEFT"/></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="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><block s="reportGreaterThan"><block s="xPosition"></block><block var="RIGHT_EDGE"/></block></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></scripts></sprite><sprite name="Bullet" idx="3" x="-125.69731663685195" y="-16.225760286225977" 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="142"><costumes><list id="143"><item><costume name="Untitled" center-x="6" center-y="12" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAZCAYAAADqrKTxAAAAAXNSR0IArs4c6QAAADhJREFUOBFjZGBgcABikgAjUPV/knQAFTORqgGkflQTNNRGA2I0IKAhMBoQVAgIFqAZB1HNIcwDAOCbAjMzB3alAAAAAElFTkSuQmCC" id="144"/></item></list></costumes><sounds><list struct="atomic" id="145"></list></sounds><blocks></blocks><variables></variables><scripts><script x="21" 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="24" y="117"><block s="receiveKey"><l><option>space</option></l></block></script><script x="25" y="311"><block s="receiveKey"><l><option>space</option></l></block><block s="createClone"><l><option>myself</option></l></block></script><script x="53" y="157.00000000000003"><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="27" 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="doChangeVar"><l>INVADER_ALIVE</l><l>-1</l></block><block s="doIf"><block s="reportEquals"><block var="INVADER_ALIVE"/><l>0</l></block><script><block s="doSetVar"><l>GAME_OVER</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><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="30" y="-390" heading="270" scale="0.2" volume="100" pan="0" rotation="2" draggable="true" costume="1" color="138.7200000000001,0,173.4,1" pen="tip" id="259"><costumes><list id="260"><item><costume name="invader" center-x="131" center-y="95" image="data:image/png;base64,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" id="261"/></item></list></costumes><sounds><list struct="atomic" id="262"></list></sounds><blocks></blocks><variables><variable name="Missile_Fire_Percent"><l>0</l></variable></variables><scripts><script x="10" y="10"><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="doBroadcast"><l>game over</l></block></script><script x="337.000001" y="719.0000010000001"><block s="doWait"><l>.5</l></block></script><script x="11" y="790.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><block s="doIf"><block s="reportLessThan"><block s="reportRandom"><l>1</l><l>10</l></block><block var="MISSILE_FIRE_PERCENT"/></block><script><block s="doSetVar"><l>INVADER_X</l><block s="xPosition"></block></block><block s="doSetVar"><l>INVADER_Y</l><block s="yPosition"></block></block><block s="doBroadcast"><l>launch missile</l></block></script></block></script><script x="32.000001999999995" y="1208"><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="290" y="766.5000000000001"><block s="removeClone"></block></script></scripts></sprite><watcher var="LEFT_EDGE" style="normal" x="2.8106770833330756" y="2.8106770833333314" color="243,118,29" hidden="true"/><watcher var="RIGHT_EDGE" style="normal" x="2.8106770833330756" y="11.242708895468596" color="243,118,29" hidden="true"/><watcher var="TOP_EDGE" style="normal" x="2.8106770833330756" y="19.674740707604116" color="243,118,29" hidden="true"/><watcher var="BOTTOM_EDGE" style="normal" x="2.8106770833330756" y="28.10677251973941" color="243,118,29" hidden="true"/><watcher var="UP" style="normal" x="4.075906344410782" y="4.075906344410882" color="243,118,29" hidden="true"/><watcher var="DOWN" style="normal" x="4.075906344410782" y="16.303626192824765" color="243,118,29" hidden="true"/><watcher var="LEFT" style="normal" x="4.075906344410782" y="28.53134604123869" color="243,118,29" hidden="true"/><watcher var="RIGHT" style="normal" x="4.075906344410782" y="40.759065889652476" 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.938461538461567" color="243,118,29" hidden="true"/><watcher var="INVADER_DIRECTION" style="normal" x="7.565982404692363" y="7.565982404692036" 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.343111530791845" color="243,118,29" hidden="true"/><watcher var="INVADER_BETWEEN" style="normal" x="7.565982404692363" y="55.23167609384163" 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.00880521994145" 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.67449890909083" color="243,118,29" hidden="true"/><watcher var="GAME_OVER" style="normal" x="7.565982404692363" y="150.56306347214087" color="243,118,29" hidden="true"/><watcher var="INVADER_DOWN_SPEED" style="normal" x="7.565982404692363" y="166.4516280351906" color="243,118,29" hidden="true"/><watcher var="MISSILE_FIRE_PERCENT" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher var="INVADER_X" style="normal" x="10" y="31.000001999999995" color="243,118,29" hidden="true"/><watcher var="INVADER_Y" style="normal" x="10" y="52.00000399999999" color="243,118,29" hidden="true"/><watcher scope="Invader" var="Missile_Fire_Percent" style="normal" x="10" y="73.00000599999998" color="243,118,29" hidden="true"/><sprite name="missile" idx="5" x="-106" y="142" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="112.20000000000012,0,140.25,1" pen="tip" id="479"><costumes><list struct="atomic" id="480"></list></costumes><sounds><list struct="atomic" id="481"></list></sounds><blocks></blocks><variables></variables><scripts><script x="17" y="10"><block s="receiveGo"></block><block s="hide"></block><block s="setHeading"><block var="DOWN"/></block><block s="doSetVar"><l>MISSILE_SPEED</l><l>5</l></block></script><script x="16" y="137.00000000000006"><block s="receiveMessage"><l>launch missile</l></block><block s="gotoXY"><block var="INVADER_X"/><block var="INVADER_Y"/></block><block s="goBack"><l>1</l></block><block s="show"></block><block s="createClone"><l><option>myself</option></l></block><block s="hide"></block></script><script x="10" y="300.16666666666663"><block s="receiveOnClone"></block><block s="doUntil"><block s="reportLessThan"><block s="yPosition"></block><block var="BOTTOM_EDGE"/></block><script><block s="forward"><block var="MISSILE_SPEED"/></block><block s="doIf"><block s="reportTouchingObject"><l>Cannon</l></block><script><block s="doSetVar"><l>GAME_OVER</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doTellTo"><l>Cannon</l><block s="reifyScript"><script><block s="hide"></block></script><list></list></block><list></list></block><block s="doForEach"><l>item</l><block s="reportGet"><l><option>other sprites</option></l></block><script><block s="doIf"><block s="reportEquals"><block s="reportAttributeOf"><l><option>costume name</option></l><l></l></block><l>invader</l></block><script><block s="doTellTo"><block var="item"/><block s="reifyScript"><script><block s="removeClone"></block></script><list></list></block><list></list></block></script></block></script></block><block s="removeClone"></block></script></block></script></block></script><script x="309" y="253.66666666666657"><block s="doSetVar"><l></l><l>0</l></block></script><script x="65" y="617.4999999999999"><block s="doIf"><block s="reportEquals"><block s="reportAnd"><block s="reportTouchingObject"><block var="item"/></block><block s="reportAttributeOf"><l><option>costume name</option></l><block var="item"/></block></block><l>Cannon</l></block><script><block s="doTellTo"><block var="item"/><block s="reifyScript"><script><block s="hide"></block></script><list></list></block><list></list></block><block s="removeClone"></block></script></block></script></scripts></sprite><watcher var="MISSILE_SPEED" style="normal" x="10" y="94.00000799999998" color="243,118,29" hidden="true"/><watcher var="INVADER_ALIVE" style="normal" x="10" y="115.00000999999997" color="243,118,29" hidden="true"/></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>270</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><variable name="MISSILE_FIRE_PERCENT"><l>0</l></variable><variable name="INVADER_X"><l>0</l></variable><variable name="INVADER_Y"><l>0</l></variable><variable name="MISSILE_SPEED"><l>0</l></variable><variable name="INVADER_ALIVE"><l>0</l></variable></variables></project><media name="Space Invaders Project " app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>