<snapdata remixID="8539923"><project name="ITP Game of Pong Project " app="Snap! 5.1, 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" volume="100" pan="0" lines="round" ternary="false" codify="false" inheritance="true" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,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</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="Rpaddle" idx="2" x="225" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="8"><costumes><list id="9"><item><costume name="Paddle" center-x="5" center-y="36" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAABICAYAAADPomTaAAAAOElEQVRIS2NkYGD4z0AEYBxViC+URoMHbxoaDZ7R4MEIgdFEMZooRhMFOARGs8JoVhjNCiM4KwAA6TVIActDoNAAAAAASUVORK5CYII=" id="10"/></item></list></costumes><sounds><list struct="atomic" id="11"></list></sounds><blocks></blocks><variables></variables><scripts><script x="46" y="29"><block s="receiveMessage"><l>reset</l></block><block s="gotoXY"><l>225</l><l>0</l></block></script><script x="59" y="138"><block s="receiveKey"><l><option>up arrow</option></l></block><custom-block s="Move up Block"></custom-block></script><script x="59" y="218"><block s="receiveKey"><l><option>down arrow</option></l></block><custom-block s="Move down Block"></custom-block></script><comment x="399" y="75" w="80" collapsed="false">Same code as &apos;LPaddle&apos;</comment></scripts></sprite><sprite name="Scorer" idx="3" x="206.390625" y="120" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="0,32,235,1" pen="tip" id="26"><costumes><list struct="atomic" id="27"></list></costumes><sounds><list struct="atomic" id="28"></list></sounds><blocks></blocks><variables></variables><scripts><script x="89" y="30"><block s="receiveGo"></block><block s="setColor"><color>0,32,235,1</color></block><block s="clear"></block><block s="hide"></block><block s="doSetVar"><l>p1score</l><l>0</l></block><block s="doSetVar"><l>p2score</l><l>0</l></block><block s="gotoXY"><l>-200</l><l>120</l></block><custom-block s="label %txt of size %n"><block var="p1score"/><l>48</l></custom-block><block s="gotoXY"><l>180</l><l>120</l></block><custom-block s="label %txt of size %n"><block var="p2score"/><l>48</l></custom-block><block s="doForever"><script><block s="setColor"><color>0,32,235,1</color></block><block s="gotoXY"><l>-200</l><l>120</l></block><custom-block s="label %txt of size %n"><block var="p1score"/><l>48</l></custom-block><block s="gotoXY"><l>180</l><l>120</l></block><custom-block s="label %txt of size %n"><block var="p2score"/><l>48</l></custom-block><block s="doWait"><l>.5</l></block><block s="clear"></block><block s="doIf"><block s="reportEquals"><block var="p1score"/><l>5</l></block><script><block s="setColor"><color>30,0,240,1</color></block><block s="gotoXY"><l>-195</l><l>0</l></block><custom-block s="label %txt of size %n"><l>Player 1 Wins!!</l><l>48</l></custom-block><block s="doWait"><l>3</l></block><block s="clear"></block><block s="gotoXY"><l>-125</l><l>70</l></block><custom-block s="label %txt of size %n"><l>GAME OVER!</l><l>48</l></custom-block><block s="doStopThis"><l><option>all</option></l></block></script></block><block s="doIf"><block s="reportEquals"><block var="p2score"/><l>5</l></block><script><block s="setColor"><color>30,0,240,1</color></block><block s="gotoXY"><l>-195</l><l>0</l></block><custom-block s="label %txt of size %n"><l>Player 1 Wins!!</l><l>48</l></custom-block><block s="doWait"><l>3</l></block><block s="clear"></block><block s="gotoXY"><l>-125</l><l>70</l></block><custom-block s="label %txt of size %n"><l>GAME OVER!</l><l>48</l></custom-block><block s="doStopThis"><l><option>all</option></l></block></script></block></script></block></script><comment x="302" y="103" w="90" collapsed="false">Code that writes the numbers/ score of the game; the pen must go to the correct coordinates, then write the number, then clear each time a point is added. It then codes for the &apos;endgame&apos; and broadcasts who won and the &apos;GAME OVER&apos; screen, then resets again.</comment><comment x="341" y="509" w="90" collapsed="false">Both &quot;ifs&quot; code for when a player reaches the score of 5,to then execute the end game code listed below the if. </comment></scripts></sprite><sprite name="LPaddle" idx="1" x="-225" y="20" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="97.61399999999999,221.85,0,1" pen="tip" id="127"><costumes><list id="128"><item><costume name="Paddle" center-x="5" center-y="36" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAABICAYAAADPomTaAAAAOElEQVRIS2NkYGD4z0AEYBxViC+URoMHbxoaDZ7R4MEIgdFEMZooRhMFOARGs8JoVhjNCiM4KwAA6TVIActDoNAAAAAASUVORK5CYII=" id="129"/></item></list></costumes><sounds><list struct="atomic" id="130"></list></sounds><blocks></blocks><variables></variables><scripts><script x="19" y="29"><block s="receiveMessage"><l>reset</l></block><block s="gotoXY"><l>-225</l><l>0</l></block></script><script x="63" y="321"><block s="receiveKey"><l><option>w</option></l></block><custom-block s="Move up Block"></custom-block></script><script x="350" y="319"><block s="receiveKey"><l><option>s</option></l></block><custom-block s="Move down Block"></custom-block></script><comment x="64" y="388" w="90" collapsed="false">code for the paddle to move up</comment><script x="67" y="512"><block s="changeYPosition"><l>20</l></block><block s="bounceOffEdge"></block></script><script x="344" y="511"><block s="changeYPosition"><l>-20</l></block><block s="bounceOffEdge"></block></script><comment x="352" y="385" w="90" collapsed="false">code for the paddle to move down</comment><comment x="215" y="518" w="90" collapsed="false">these 2 sets of code are within the blocks yousif and I created </comment><comment x="196" y="24" w="90" collapsed="false">This is the &quot;reset&quot; code for when you start or restart the program. This moves the paddle back to the beginning coordinates </comment></scripts></sprite><sprite name="bingbong" idx="4" x="0" y="2.842170943040401e-14" heading="221.48000000000002" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="198.9,35.80199999999999,0,1" pen="tip" id="151"><costumes><list id="152"><item><costume name="Untitled" center-x="8" center-y="7" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAAf0lEQVQ4T2NkwAH+m/L+R5ZiPP2ZEZtSDEF0jeia0A1CMYCQZphhyIbADSBWM7ohYANI1YxsyCAwgFznw71BsQGDIxAZGBgE/pvyvseVrLEm4dOfBRkYGD4gp0SD/6a854kxhPH0Z0MGBoYLILXoeYGgIciasRkAdgCumMGWIwF14TuQ+fCrFgAAAABJRU5ErkJggg==" id="153"/></item></list></costumes><sounds><list struct="atomic" id="154"></list></sounds><blocks></blocks><variables></variables><scripts><script x="51" y="166"><block s="receiveKey"><l><option>space</option></l></block><block s="setHeading"><l><option>random</option></l></block><block s="doForever"><script><block s="forward"><l>3</l></block><block s="bounceOffEdge"></block><block s="doFaceTowards"><l></l></block><block s="doIf"><block s="reportTouchingObject"><l>Rpaddle</l></block><script><block s="setHeading"><l><option>random</option></l></block></script></block><block s="doIf"><block s="reportTouchingObject"><l>LPaddle</l></block><script><block s="setHeading"><l><option>random</option></l></block></script></block></script></block></script><script x="144" y="34"><block s="receiveGo"></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="doBroadcastAndWait"><l>reset</l></block></script><comment x="263" y="242" w="90" collapsed="false">This code is the how the ball moves. It points in a random direction and moves in that direction until it hits a condition. a wall or a paddle, in which case it then changes direction or resets to the middle.</comment><script x="417" y="154"><block s="receiveKey"><l><option>space</option></l></block><block s="doForever"><script><block s="doIf"><block s="reportLessThan"><block s="xPosition"></block><l>-225</l></block><script><block s="doChangeVar"><l>p2score</l><l>1</l></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="setHeading"><l><option>random</option></l></block></script></block><block s="doIf"><block s="reportGreaterThan"><block s="xPosition"></block><l>225</l></block><script><block s="doChangeVar"><l>p1score</l><l>1</l></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="setHeading"><l><option>random</option></l></block></script></block></script></block></script><comment x="619" y="199" w="90" collapsed="false">this is the &quot;condition code&quot; that includes the walls and paddles, in which the ball will either reset to the middle if hits a wall, or if it hits a paddle it will change direction and move that way util a condition is met again. </comment></scripts></sprite><watcher scope="Rpaddle" s="yPosition" style="normal" x="235" y="27" color="74,108,212" hidden="true"/><watcher var="p1score" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher var="p2score" style="normal" x="10" y="31.000001999999995" color="243,118,29" hidden="true"/><watcher scope="bingbong" s="xPosition" style="normal" x="181" y="304.00000399999993" color="74,108,212" 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></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    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();</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="Move down Block" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="changeYPosition"><l>-20</l></block><block s="bounceOffEdge"></block></script></block-definition><block-definition s="Move up Block" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="changeYPosition"><l>20</l></block><block s="bounceOffEdge"></block></script></block-definition></blocks><variables><variable name="p1score"><l>0</l></variable><variable name="p2score"><l>0</l></variable></variables></project><media name="ITP Game of Pong Project " app="Snap! 5.1, http://snap.berkeley.edu" version="1"></media></snapdata>