<snapdata remixID="11207766"><project name="Finals Prokect Pong Game" app="Snap! 7, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAABl9JREFUeF7tnW1IlXcYxi/fcFHseMK3tZSJRsWgmIFGp2/tWzQd25yrIAfbF9M+FBLbh30ICYcyNnEDmTSJuYLRYg38EIgyjk45FGvq0JpTTMFAF3aqdey8jOcZHNbLafD0f3xuvK/nS3HOee7/ff2uHw91CEtLJBIJ8CKB5ySQlpb2zAmpNEujgM9JnrfbBCggRfCUAAX0FD8Pp4B0wFMCFNBT/DzcqIBnz57F3r17V4Vqfl4u/pz83bWzfrsawp7X99vzI5EItm/f7tpZmgcbE7ClpQXV1dWrxjL+xT4Uv5jh6nlz719Ozt+2bZurZ2kdbkzAgYEB+P1+m+Phw4cxMjKCxcVF3L59G729vZiYmMDx48fR1NQEn8+Hzs5ONDQ0oKurC+FwGAsLC490MDs7i4qKCvu1x9+zXsv9Zj982elY98F3WOn/EtlVp3D/s33ILH8T6bmlWLnchg2fzuLuyWL7V8RWkIhGEJ+9lvx8bPYKor/+CCSAzNeqELlwEus/GsG90/+eO3Xwp+ROVrbi4mKtnriW25iAoVAo+Z1OXV0dxsbGMDk5CevJ0dHRYQt57NgxO0hJSQmmp6fR1taG8+fPo6+vDzt37sTDhw+xadMmW8q8vDz7s8FgEIcOHcL8/DzKyspQWFiI69ev46Vvq/Hy53O2YBmlAcSmBrHuw3P4++v3kFG6B7GpX7Dh9B+IL04jPbcEdz8uxfpT47j3yav25y3h0v1F9uczy99C1q63k7+PXr1gnz3xzg9J8LFYDJWVla4VoXWwMQHPnDmDrVu32hwtUQoKCnDz5k0UFRXh1q1biEajmJmZsd/fvXs3hoeH7Sfh8vKy/VogEMCNGzewZcsWW17rvc2bN2Nubs6eMTg4iPz8fFvM8fFxvPL9u/YT0M3r2hvnkuOt/XiZJ2BMQGu1/v5+8xummLjr/gjSf/7KtfPSD3Zi5K8X7PkXL15Ee3u7a2dpHmxUQAtkd3c3hoaG1gTTnJwc1NbWory8fE3kkRjCuIASQ3InuQQooNxuVGxGAVXULDckBZTbjYrNKKCKmuWGpIByu1GxGQVUUbPckBRQbjcqNqOAKmqWG5ICyu1GxWYUUEXNckNSQLndqNiMAqqoWW5ICii3GxWbUUAVNcsNSQHldqNiMwqooma5ISmg3G5UbEYBVdQsNyQFlNuNis0ooIqa5YakgHK7UbEZBVRRs9yQFFBuNyo2o4AqapYbkgLK7UbFZhRQRc1yQ1JAud2o2Mz6UX3Puqwf4/e0i/9PiAo95IakgHK7UbEZBVRRs9yQFFBuNyo2Symg07/VqKDGkMYIUEBjKDnICQEK6IQa7zFGgAIaQ8lBTghQQCfUeI8xAhTQGEoOckKAAjqhxnuMEaCAxlBykBMCFNAJNd5jjAAFNIaSg5wQoIBOqPEeYwQooDGUHOSEAAV0Qo33GCNAAY2h5CAnBCigE2q8xxgBCmgMJQc5IbBqAkYiEWRkZCAzM9PJnrxnjRJwVcAHDx6gpqYGvb29iMfjSCQSOHHiBFpbW/F//+B1jfJmrMcIuCqgz+fDnTt3noAeCAQQDAZZBgnANQEvXbqEqqqqlIiXlpawceNGVqCcgGsCVlRUIBQKpcTb3t6OxsZG5fgZ3zMBu7u7ceTIETagnIBrAlpPP+spmOpaWVlBVlaWcvyM75qAFtodO3ZgdHT0CcoHDhyA9WdEXiTgqoDWVy9Hjx5FT08PwuEw/H4/mpubUV9fT/IkYBNwVcD/Mra+iM7OziZ2EniEwKoJSO4k8DQCFJBeeEqAAnqKn4dTQDrgKQEK6Cl+Hk4B6YCnBCigp/h5OAWkA54SoICe4ufhFJAOeEqAAnqKn4dTQDrgKQEK6Cl+Hk4B6YCnBFIK6OlWPFwNAQqopmqZQSmgzF7UbEUB1VQtMygFlNmLmq0ooJqqZQalgDJ7UbMVBVRTtcygFFBmL2q2ooBqqpYZlALK7EXNVhRQTdUyg1JAmb2o2YoCqqlaZlAKKLMXNVtRQDVVywxKAWX2omYrCqimaplBKaDMXtRsRQHVVC0zKAWU2YuarSigmqplBqWAMntRsxUFVFO1zKAUUGYvaraigGqqlhmUAsrsRc1WFFBN1TKDUkCZvajZigKqqVpmUAoosxc1W1FANVXLDEoBZfaiZisKqKZqmUEpoMxe1Gz1D6r1+MZYqyhUAAAAAElFTkSuQmCC</thumbnail><scenes select="1"><scene name="Finals Prokect Pong Game"><notes></notes><hidden></hidden><headers></headers><code></code><blocks></blocks><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" id="5"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADoVJREFUeF7t1cEJAAAIxDDdf2m3sJ+4wEEQuuMIECBAgACBd4F9XzRIgAABAgQIjAB7AgIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECByxcQFpoRMBzwAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="6"></list></costumes><sounds><list struct="atomic" id="7"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Ball" idx="1" x="-160.85275951923654" y="-17.754736834994134" heading="246" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="12"><costumes><list id="13"><item><ref mediaID="Ball_cst_costume1"></ref></item></list></costumes><sounds><list struct="atomic" id="14"></list></sounds><blocks></blocks><variables></variables><scripts><script x="31.923076923076934" y="27.615384615384613"><block s="receiveGo"></block><block s="gotoXY"><l>0</l><l>0</l><comment w="226.15384615384613" collapsed="true">Go to the center at the start of the game</comment></block><block s="setHeading"><block s="reportRandom"><l>45</l><l>135</l><comment w="476.15384615384613" collapsed="true">Start the ball, pointing in a somewhat random direction but always towards the player paddle.</comment></block></block><block s="doForever"><script><block s="doSetVar"><l>Ball Y Position</l><block s="yPosition"></block><comment w="446.923076923077" collapsed="true">Forever, keep updating the variable &quot;Ball Y Position&quot; with this ball&apos;s current position</comment></block><block s="forward"><l>6</l><comment w="487.6923076923077" collapsed="true">Forever move in the direction the ball is facing. The number of steps to move is the ball&apos;s speed</comment></block><block s="bounceOffEdge"><comment w="633.0769230769231" collapsed="true">We will remove this later and write our own code for this, but we want to ball to bounce off the top and bottom (not the left/right)</comment></block></script></block></script></scripts></sprite><watcher scope="Ball" s="xPosition" style="normal" x="10" y="36.10000200000002" color="74,108,212" hidden="true"/><watcher scope="Ball" s="yPosition" style="normal" x="10" y="62.20000399999999" color="74,108,212" hidden="true"/><watcher scope="Ball" s="direction" style="normal" x="10" y="88.300006" color="74,108,212" hidden="true"/><sprite name="Comp_Paddle" idx="2" x="-210" y="-15.314316976539345" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="40"><costumes><list id="41"><item><ref mediaID="Comp_Paddle_cst_costume1"></ref></item></list></costumes><sounds><list struct="atomic" id="42"></list></sounds><blocks></blocks><variables></variables><scripts><script x="23.076923076923077" y="23.076923076923077"><block s="receiveGo"></block><block s="gotoXY"><l>-210</l><l>0</l><comment w="334.6153846153846" collapsed="true">At the start of the game, go to the correct starting position.</comment></block><block s="doForever"><script><block s="setYPosition"><block var="Ball Y Position"/><comment w="586.9230769230768" collapsed="true">Forever, keep the X position the same, but follow the ball&apos;s Y position. This way the computer will never miss the ball.</comment></block><block s="bounceOffEdge"><comment w="546.1538461538461" collapsed="true">We will replace this later with our own code. We don&apos;t want the paddles to go out of the screen and disappear.</comment></block></script></block></script></scripts></sprite><watcher var="Ball Y Position" style="normal" x="12" y="17" color="243,118,29"/><sprite name="Player_Paddle" idx="3" x="210" y="119" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="57"><costumes><list id="58"><item><ref mediaID="Player_Paddle_cst_costume1"></ref></item></list></costumes><sounds><list struct="atomic" id="59"></list></sounds><blocks></blocks><variables></variables><scripts><script x="105.76923076923076" y="50.69230769230769"><block s="receiveGo"></block><block s="gotoXY"><l>210</l><l>0</l><comment w="313.0769230769231" collapsed="true">At the start of the game, go to the correct starting position.</comment></block><block s="doForever"><script><block s="setYPosition"><block s="reportMouseY"></block><comment w="368.46153846153845" collapsed="true">Forever, keep the X position the same, but follow the mouse Y position.</comment></block><block s="bounceOffEdge"><comment w="570" collapsed="true">We will replace this later with our own code. We don&apos;t want the paddles to go out of the screen and disappear.</comment></block></script></block></script></scripts></sprite></sprites></stage><variables><variable name="Ball Y Position"><l>-15.314316976539345</l></variable></variables></scene></scenes></project><media name="Finals Prokect Pong Game" app="Snap! 7, https://snap.berkeley.edu" version="2"><costume name="costume1" center-x="13" center-y="13" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAAAXNSR0IArs4c6QAAAZRJREFUSEu11r9LVmEUwPGPhFuFtlpNCkYuhQ0N1VbgoKRT/gE5a0FBpfQLCipn/QNsyqhB0K0cGoKmRMFNbK2otojixH3k8nLf11e9z4EL9z6cc77PPedwzunQvvSgD8cKk6/YxJd2XHTsonQcExjDqSa663iFOWw389cKdA8P2rltSWcaD6tsqkBH8RJDe4Qk9SVcw4+yfSPoMFZwfp+QZPYBl/ErHTSC3mD4gJBk/hYjVaAbeFYTJLm5iefxkf7oSFExkZ86JfIUlfszgSbxok5CydcUZhPoHS5mAr3HpQDF8xuHMoH+oDMgvUUrycT577YvQIP4mJOCcwE6g0+ZQWcDdAJbmUEnU9V9Q1cm2Hd0J9AirmYCvcZoAkW3XcgEGo9pUG6qn3G6ZtgaBsq9Lt4jdBHCOmUUEbqdppqcP8GtmkhPcbtqTKSzmP3XDwibL3aNHTfNdoZHuLNP2GPcbbRttZxcwcwexnqM7/tYrrrgbutW2AQwknoB/aW8/sUGVosiqgS0ylGriMXFygtkwNqSfx2sOsKR+6ydAAAAAElFTkSuQmCC" mediaID="Ball_cst_costume1"/><costume name="costume1" center-x="12.5" center-y="61" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAB6CAYAAABKifiXAAAAAXNSR0IArs4c6QAAAJ9JREFUaEPt0sEJgEAQBMExE/NPylA0hhL8SN+7Yblijm3nPn7HtvvjG+sICccVFwlQ3LriIgGKW1dcJEBx64qLBChuXXGRAMWtKy4SoLh1xUUCFLeuuEiA4tYVFwlQ3LriIgGKW1dcJEBx64qLBChuXXGRAMWtKy4SoLh1xUUCFLeuuEiA4tYVFwlQ3LriIgGKW1dcJEDxv9Z10d9fxA8ps3kC5amuEwAAAABJRU5ErkJggg==" mediaID="Comp_Paddle_cst_costume1"/><costume name="costume1" center-x="12.5" center-y="61" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAB6CAYAAABKifiXAAAAAXNSR0IArs4c6QAAAJ9JREFUaEPt0sEJgEAQBMExE/NPylA0hhL8SN+7Yblijm3nPn7HtvvjG+sICccVFwlQ3LriIgGKW1dcJEBx64qLBChuXXGRAMWtKy4SoLh1xUUCFLeuuEiA4tYVFwlQ3LriIgGKW1dcJEBx64qLBChuXXGRAMWtKy4SoLh1xUUCFLeuuEiA4tYVFwlQ3LriIgGKW1dcJEDxv9Z10d9fxA8ps3kC5amuEwAAAABJRU5ErkJggg==" mediaID="Player_Paddle_cst_costume1"/></media></snapdata>