<snapdata remixID="8610177"><project name="snake" 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,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOhUlEQVR4Xu3VwQkAAAjEMN1/abewn7jAQRC64wgQIECAAIF3gX1fNEiAAAECBAiMAHsCAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIHLFxAWmhEwHPAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Snek" idx="1" x="0" y="0" heading="180" scale="1" volume="100" pan="0" rotation="1" draggable="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="20" y="20"><block s="receiveKey"><l><option>m</option></l></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="clear"></block><block s="doSetVar"><l>score</l><l>0</l></block><block s="doSetVar"><l>p-rot</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>snek-x</l><l>0</l></block><block s="doSetVar"><l>snek-y</l><l>0</l></block><block s="doSetVar"><l>clone</l><l>0</l></block><block s="doSetVar"><l>p-pos</l><block s="reportNewList"><list><custom-block s="point %n %n"><l></l><l></l></custom-block></list></block></block><block s="doStopThis"><l><option>all</option></l></block></script><script x="20" y="271.99999999999994"><block s="receiveCondition"><block s="reportOr"><block s="reportKeyPressed"><l><option>left arrow</option></l></block><block s="reportOr"><block s="reportOr"><block s="reportKeyPressed"><l><option>right arrow</option></l></block><block s="reportKeyPressed"><l><option>down arrow</option></l></block></block><block s="reportKeyPressed"><l><option>up arrow</option></l></block></block></block></block><block s="doForever"><script><block s="forward"><block s="reportSum"><l>.5</l><block var="score"/></block></block><block s="bounceOffEdge"></block><block s="doSetVar"><l>snek-x</l><block s="xPosition"></block></block><block s="doSetVar"><l>snek-y</l><block s="yPosition"></block></block></script></block></script><script x="20" y="503.9999999999996"><block s="receiveCondition"><block s="reportOr"><block s="reportKeyPressed"><l><option>left arrow</option></l></block><block s="reportOr"><block s="reportOr"><block s="reportKeyPressed"><l><option>right arrow</option></l></block><block s="reportKeyPressed"><l><option>down arrow</option></l></block></block><block s="reportKeyPressed"><l><option>up arrow</option></l></block></block></block></block><block s="doForever"><script><block s="doAddToList"><custom-block s="point %n %n"><block var="snek-x"/><block var="snek-y"/></custom-block><block var="p-pos"><comment w="90" collapsed="true">record roation and position of segments.</comment></block></block><block s="doAddToList"><block s="direction"></block><block var="p-rot"/></block><block s="doWait"><l>.05</l></block></script></block></script><script x="20" y="717.0000000000001"><block s="receiveGo"></block><block s="doWaitUntil"><block s="reportEquals"><block var="clone"/><l>1</l></block></block><block s="doForever"><script><block s="doFor"><l>i</l><l>1</l><block var="clone"/><script><block s="doIf"><custom-block s="%s %s in circle %s %s radius: %s"><block s="reportListItem"><l>1</l><block s="reportListItem"><l><option>last</option></l><block var="p-pos"/></block></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l><option>last</option></l><block var="p-pos"/></block></block><block s="reportListItem"><l>1</l><block s="reportListItem"><block s="reportDifference"><block s="reportListLength"><block var="p-pos"/></block><block var="i"/></block><block var="p-pos"/></block></block><block s="reportListItem"><l>2</l><block s="reportListItem"><block s="reportDifference"><block s="reportListLength"><block var="p-pos"/></block><block var="i"/></block><block var="p-pos"/></block></block><l>1</l></custom-block><script><block s="doSayFor"><l>Game Over</l><l>1</l></block><block s="doIfElse"><block s="reportLessThan"><block var="score"/><block var="High score"/></block><script><block s="doSayFor"><l>Try again?</l><l>1</l></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="clear"></block><block s="doSetVar"><l>score</l><l>0</l></block><block s="doSetVar"><l>p-rot</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>snek-x</l><l>0</l></block><block s="doSetVar"><l>snek-y</l><l>0</l></block><block s="doSetVar"><l>clone</l><l>0</l></block><block s="doSetVar"><l>p-pos</l><block s="reportNewList"><list><custom-block s="point %n %n"><l></l><l></l></custom-block></list></block></block><block s="doStopThis"><l><option>all</option></l></block></script><script><block s="doSetVar"><l>High score</l><block var="score"/></block><block s="doSayFor"><l>New High Score!</l><l>1</l></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="clear"></block><block s="doSetVar"><l>score</l><l>0</l></block><block s="doSetVar"><l>p-rot</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>snek-x</l><l>0</l></block><block s="doSetVar"><l>snek-y</l><l>0</l></block><block s="doSetVar"><l>clone</l><l>0</l></block><block s="doSetVar"><l>p-pos</l><block s="reportNewList"><list><custom-block s="point %n %n"><l></l><l></l></custom-block></list></block></block><block s="doStopThis"><l><option>all</option></l></block></script></block></script></block></script></block></script></block></script><script x="20" y="1534"><block s="receiveKey"><l><option>up arrow</option></l></block><block s="setHeading"><l>0</l></block></script><script x="20" y="1607"><block s="receiveKey"><l><option>left arrow</option></l></block><block s="setHeading"><l>270</l></block></script><script x="20" y="1679.999999999999"><block s="receiveKey"><l><option>right arrow</option></l></block><block s="setHeading"><l>90</l></block></script><script x="20" y="1752.9999999999995"><block s="receiveKey"><l><option>down arrow</option></l></block><block s="setHeading"><l>180</l></block></script></scripts></sprite><sprite name="Appl" idx="2" x="-7" y="-88" heading="180" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="3" color="80,80,80,1" pen="tip" id="284"><inherit exemplar="Snek"><list struct="atomic" id="285">sounds</list></inherit><costumes><list id="286"><item><costume name="ball a" center-x="70" center-y="54" image="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHNuYXA9Imh0dHA6Ly9zbmFwLmJlcmtlbGV5LmVkdS9ydW4iIHZlcnNpb249IjEuMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSBtZWV0IiB2aWV3Qm94PSI3MzEuNSAyNDQuNSA5NyAxMDQiIHdpZHRoPSI5NyIgaGVpZ2h0PSIxMDQiPjxlbGxpcHNlIHN0cm9rZT0icmdiKDAsMCwwKSIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIgc3Ryb2tlLXdpZHRoPSIzIiBmaWxsPSJub25lIiBwcm90b3R5cGU9IlZlY3RvckVsbGlwc2UiIGN4PSI3NzgiIGN5PSIzMDIiIHJ4PSI0NSIgcnk9IjQ1Ii8+PGVsbGlwc2Ugc3Ryb2tlPSJyZ2IoMCwwLDApIiBzdHJva2UtbGluZWpvaW49Im1pdGVyIiBzdHJva2Utd2lkdGg9IjMiIGZpbGw9Im5vbmUiIHByb3RvdHlwZT0iVmVjdG9yRWxsaXBzZSIgY3g9IjgwMyIgY3k9IjI3MCIgcng9IjI0IiByeT0iMjQiLz48L3N2Zz4=" id="287"/></item><item><costume name="ball a" center-x="22.5" center-y="22.5" image="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjAiIGlkPSJMYXllcl8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjQ1cHgiIGhlaWdodD0iNDVweCIgdmlld0JveD0iMCAwIDQ1IDQ1IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA0NSA0NSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgPGc+CiAgICA8cmFkaWFsR3JhZGllbnQgaWQ9IlNWR0lEXzFfIiBjeD0iMjkuNzI3NSIgY3k9IjEzLjEzOTYiIHI9IjM4LjUyOTkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRkZGRjk5Ii8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0ZGOTQwMCIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDxjaXJjbGUgZmlsbD0idXJsKCNTVkdJRF8xXykiIGN4PSIyMi41IiBjeT0iMjIuNSIgcj0iMjIuNSIvPgogIDwvZz4KPC9zdmc+" id="288"/></item><item><costume name="ball a" center-x="22.5" center-y="22.5" image="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjAiIGlkPSJMYXllcl8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjQ1cHgiIGhlaWdodD0iNDVweCIgdmlld0JveD0iMCAwIDQ1IDQ1IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA0NSA0NSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgPGc+CiAgICA8cmFkaWFsR3JhZGllbnQgaWQ9IlNWR0lEXzFfIiBjeD0iMjkuNzI3NSIgY3k9IjEzLjEzOTYiIHI9IjM4LjUyOTkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRkZGRjk5Ii8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0ZGOTQwMCIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDxjaXJjbGUgZmlsbD0idXJsKCNTVkdJRF8xXykiIGN4PSIyMi41IiBjeT0iMjIuNSIgcj0iMjIuNSIvPgogIDwvZz4KPC9zdmc+" id="289"/></item></list></costumes><blocks></blocks><variables></variables><dispatches></dispatches><scripts><script x="20" y="20"><block s="receiveGo"></block><block s="doSetVar"><l>score</l><l>0</l></block><block s="doForever"><script><block s="doIf"><custom-block s="%s %s in circle %s %s radius: %s"><block var="snek-x"/><block var="snek-y"/><block s="xPosition"></block><block s="yPosition"></block><l>20</l></custom-block><script><block s="gotoXY"><block s="reportRandom"><l>-100</l><l>100</l></block><block s="reportRandom"><l>-100</l><l>100</l></block></block><block s="doChangeVar"><l>score</l><l>1</l></block></script></block></script></block></script></scripts></sprite><sprite name="Sprite" idx="3" x="-214.47777478867215" y="172.97777478867204" heading="0" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="0,137.70000000000002,71.60400000000001,1" pen="tip" id="325"><costumes><list struct="atomic" id="326"></list></costumes><sounds><list struct="atomic" id="327"></list></sounds><blocks></blocks><variables></variables><scripts><script x="30" y="20"><block s="doSayFor"><l>Game Over</l><l>2</l></block><block s="bubble"><l></l></block></script><script x="30" y="80"><block s="receiveOnClone"></block><block s="show"></block><block s="doForever"><script><custom-block s="for %upvar = %n step %n to %n %cs"><l>i</l><l>1</l><l>1</l><block var="clone"/><script><block s="doWarp"><script><custom-block s="Go to point %s"><block s="reportListItem"><block s="reportDifference"><block s="reportListLength"><block var="p-pos"/></block><block var="i"/></block><block var="p-pos"/></block></custom-block><block s="setHeading"><block s="reportListItem"><block s="reportDifference"><block s="reportListLength"><block var="p-rot"/></block><block var="i"/></block><block var="p-rot"/></block></block><block s="bounceOffEdge"></block></script></block></script></custom-block></script></block></script><script x="30" y="321"><block s="receiveCondition"><block s="reportGreaterThan"><block var="score"/><block var="clone"/></block></block><block s="createClone"><l><option>myself</option></l></block><block s="doChangeVar"><l>clone</l><l>1</l></block></script></scripts></sprite><watcher scope="Snek" s="direction" style="normal" x="8.874999999999318" y="8.875" color="74,108,212" hidden="true"/><watcher var="score" style="normal" x="8.874999999999318" y="27.51250177499999" color="243,118,29"/><watcher var="clone" style="normal" x="8.875000000000114" y="8.875" color="243,118,29" hidden="true"/><watcher scope="Sprite" s="reportShown" style="normal" x="8.875000000000114" y="27.51250177499999" color="143,86,227" hidden="true"/><watcher var="p-rot" style="normal" x="8.875000000000114" y="48.81250355" color="243,118,29" hidden="true"/><watcher scope="Stage" s="getTimer" style="normal" x="10" y="10" color="4,148,220" hidden="true"/><watcher scope="Sprite" s="xPosition" style="normal" x="10" y="52.00000399999999" color="74,108,212" hidden="true"/><watcher scope="Sprite" s="yPosition" style="normal" x="10" y="73.00000599999998" color="74,108,212" hidden="true"/><watcher var="High score" style="normal" x="6" y="8.00000799999998" color="243,118,29"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;pt:captura _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doRun"><block var="action"/><list></list></block></script><list><l>cont</l></list></block></block><custom-block s="ignore %s"><l>3</l></custom-block></script></block-definition><block-definition s="throw %&apos;cont&apos;" type="command" category="control"><header></header><code></code><translations>de:wirf _&#xD;ca:llança _&#xD;es:lanzar _&#xD;fr:lance _&#xD;pt:lança _&#xD;</translations><inputs><input type="%s">catchtag</input></inputs><script><block s="doRun"><block var="cont"/><list></list></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;value&apos;" type="reporter" category="control"><header></header><code></code><translations>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;pt:captura _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doReport"><block s="evaluate"><block var="value"/><list></list></block></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;tag&apos; %&apos;value&apos;" type="command" category="control"><header></header><code></code><translations>de:wirf _ _&#xD;ca:llança _ _&#xD;es:lanzar _ _&#xD;fr:lance _ _&#xD;pt:lança _ _&#xD;</translations><inputs><input type="%s">catchtag</input><input type="%s"></input></inputs><script><block s="doRun"><block var="tag"/><list><block var="value"/></list></block></script></block-definition><block-definition s="if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0" type="command" category="control"><header></header><code></code><translations>de:falls _ dann _ und pause $pause-1-255-220-0&#xD;ca:si _ fes _ i atura-ho tot $pause-1-255-220-0&#xD;es:si _ haz _ y páralo todo $pause-1-255-220-0&#xD;fr:si _ faire _ et mettre tout en pause $pause-1-255-220-0&#xD;pt:se _ , então _ e faz pausa em tudo $pause-1-255-220-0&#xD;</translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>breakpoint</l></list></block><block s="doIf"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doSetVar"><l>breakpoint</l><block var="test"/></block><block s="doShowVar"><l>breakpoint</l></block><block s="doRun"><block var="action"/><list></list></block><block s="doPauseAll"></block><block s="doHideVar"><l></l></block></script></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations>de:ignoriere _&#xD;ca:ignora _&#xD;es:ignorar _&#xD;fr:ignore _&#xD;pt:ignora _&#xD;</translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="cascade %&apos;num&apos; times %&apos;function&apos; %&apos;init&apos; %&apos;#&apos;" type="reporter" category="control"><comment x="0" y="0" w="138" collapsed="false">Call f(f(f(...(f(x))))) n times where the three input slots are n, f, and x from left to right.  The # variable can be used inside f to represent how many times f has been called.</comment><header></header><code></code><translations>pt:o resultado de _ invocações em cascata de _ com argumento inicial _ _&#xD;</translations><inputs><input type="%n"></input><input type="%repRing"></input><input type="%s"></input><input type="%upvar"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><block var="init"/></block><block s="doSetVar"><l>#</l><l>0</l></block><block s="doRepeat"><block var="num"/><script><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doSetVar"><l>result</l><block s="evaluate"><block var="function"/><list><block var="result"/></list></block></block></script></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="cascade until %&apos;pred&apos; %&apos;function&apos; %&apos;init&apos; %&apos;#&apos;" type="reporter" category="control"><comment x="0" y="0" w="90" collapsed="false">Call f(f(f(...(f(x))))) until condition is true, where the three input slots are condition, f, and x from left to right.  The # variable can be used inside f or condition to indicate how many times f has been called.</comment><header></header><code></code><translations>pt:o resultado da invocação em cascata até que _ de _ com argumento inicial _ _&#xD;</translations><inputs><input type="%predRing"></input><input type="%repRing"></input><input type="%s"></input><input type="%upvar"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><block var="init"/></block><block s="doSetVar"><l>#</l><l>0</l></block><block s="doUntil"><block s="evaluate"><block var="pred"/><list><block var="result"/></list></block><script><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doSetVar"><l>result</l><block s="evaluate"><block var="function"/><list><block var="result"/></list></block></block></script></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="compose %&apos;f&apos; %&apos;g&apos;" type="reporter" category="control"><comment x="0" y="0" w="90" collapsed="false">Returns the function f(g(x)) where f and g are the two inputs.</comment><header></header><code></code><translations>pt:a composição de _ com _&#xD;</translations><inputs><input type="%repRing"></input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="f"/><list><block s="evaluate"><block var="g"/><list><l></l></list></block></list></block></autolambda><list></list></block></block></script></block-definition><block-definition s="repeat %&apos;action&apos; until %&apos;pred&apos;" type="command" category="control"><comment x="0" y="0" w="90" collapsed="false">Like the built-in REPEAT UNTIL block, except that the ending condition is not tested until the script has been run the first time.  So the script is run at least once.</comment><header></header><code></code><translations>pt:repete _ até que _ $loop-0.7&#xD;</translations><inputs><input type="%cs"></input><input type="%boolUE"></input></inputs><script><block s="doRun"><block var="action"/><list></list></block><block s="doUntil"><block s="evaluate"><block var="pred"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="repeat %&apos;action&apos; while %&apos;pred&apos;" type="command" category="control"><comment x="0" y="0" w="90" collapsed="false">Run the script repeatedly, as long as the given condition is true.  Runs the script at least once before testing the condition.</comment><header></header><code></code><translations>pt:repete _ enquanto _ $loop-0.7&#xD;</translations><inputs><input type="%cs"></input><input type="%boolUE"></input></inputs><script><block s="doRun"><block var="action"/><list></list></block><block s="doUntil"><block s="reportNot"><block s="evaluate"><block var="pred"/><list></list></block></block><script><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="repeat while %&apos;pred&apos; %&apos;action&apos;" type="command" category="control"><comment x="0" y="0" w="90" collapsed="false">Runs the script repeatedly, as long as the condition is true.  Tests the condition before the first time the script is run.  Like the built in REPEAT UNTIL except that in this block the condition must be true, not false.</comment><header></header><code></code><translations>pt:enquanto _ , repete _ $loop-0.7&#xD;</translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doUntil"><block s="reportNot"><block s="evaluate"><block var="pred"/><list></list></block></block><script><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="repeat %&apos;num&apos; %&apos;#&apos; %&apos;action&apos;" type="command" category="control"><comment x="0" y="0" w="171" collapsed="false">Runs the script the specified number of times, like the built-in REPEAT block, but this one provides the # variable that can be used inside the script.  Try&#xD;REPEAT (200)&#xD;                MOVE (#) STEPS&#xD;   RIGHT 92&#xD;with the pen down.</comment><header></header><code></code><translations>pt:repete _ vezes _ _ $loop-0.7&#xD;</translations><inputs><input type="%n"></input><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doSetVar"><l>#</l><l>0</l></block><block s="doRepeat"><block var="num"/><script><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; step %&apos;step&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>pt:para _ de _ com passo _ a _ _ $loop-0.7&#xD;</translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>test</l></list></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doIfElse"><block s="reportLessThan"><block var="step"/><l>0</l></block><script><block s="doSetVar"><l>test</l><block s="reifyPredicate"><autolambda><block s="reportLessThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>test</l><block s="reifyPredicate"><autolambda><block s="reportGreaterThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script></block><block s="doUntil"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></block></script></block-definition><block-definition s="let %&apos;a&apos; be %&apos;val&apos; in %&apos;loop&apos; %&apos;body&apos;" type="command" category="control"><comment x="0" y="0" w="238.66666666666669" collapsed="false">Provides LOOP as a function of one input that runs&#xD;the body of the LET with A set to the function input,&#xD;so the body can run itself recursively.&#xD;See COPY block in Variables for an example of use.</comment><header></header><code></code><translations>pt:tendo _ o valor inicial _ , executa _ definido como _&#xD;</translations><inputs><input type="%upvar"></input><input type="%s"></input><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doSetVar"><l>a</l><block var="val"/></block><block s="doSetVar"><l>loop</l><block s="reifyScript"><script><block s="doSetVar"><l>a</l><block var="new value"/></block><block s="doRun"><block var="body"/><list><block var="a"/></list></block></script><list><l>new value</l></list></block></block><block s="doRun"><block var="loop"/><list><block var="a"/></list></block></script></block-definition><block-definition s="do in parallel %&apos;actions&apos; and wait" type="command" category="control"><header></header><code></code><translations>pt:executa _ em paralelo e espera&#xD;</translations><inputs><input type="%mult%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>threads</l></list></block><block s="doSetVar"><l>threads</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block s="reifyScript"><script><block s="doDeclareVariables"><list><l>is running?</l></list></block><block s="doSetVar"><l>is running?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="fork"><block s="reifyScript"><script><block s="doRun"><block var="each script"/><list></list></block><block s="doSetVar"><l>is running?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><list></list></block><block s="doReport"><block s="reifyScript"><script><block s="doReport"><block var="is running?"/></block></script><list></list></block></block></script><list></list></block><list></list></block></autolambda><list><l>each script</l></list></block><block var="actions"/></block></block><block s="doWaitUntil"><block s="reportListIsEmpty"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="evaluate"><block var="test"/><list></list></block></autolambda><list><l>test</l></list></block><block var="threads"/></block></block></block></script></block-definition><block-definition s="do in parallel %&apos;actions&apos;" type="command" category="control"><header></header><code></code><translations>pt:executa _ em paralelo&#xD;</translations><inputs><input type="%mult%cs"></input></inputs><script><block s="doIf"><block s="reportGreaterThan"><block s="reportListLength"><block var="actions"/></block><l>0</l></block><script><block s="fork"><block s="reportListItem"><l>1</l><block var="actions"/></block><list></list></block><custom-block s="do in parallel %mult%cs"><block s="reportCDR"><block var="actions"/></block></custom-block></script></block></script></block-definition><block-definition s="add coord" type="command" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doAddToList"><block s="reportNewList"><list><block s="xPosition"></block><block s="yPosition"></block></list></block><block var="board"/></block></script></block-definition><block-definition s="%&apos;main&apos; between? %&apos;1st&apos; and %&apos;2nd&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIfElse"><block s="reportAnd"><block s="reportOr"><block s="reportEquals"><block var="main"/><block var="1st"/></block><block s="reportLessThan"><block var="1st"/><block var="main"/></block></block><block s="reportOr"><block s="reportEquals"><block var="main"/><block var="2nd"/></block><block s="reportLessThan"><block var="main"/><block var="2nd"/></block></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="%&apos;1&apos; divisble by %&apos;2&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIfElse"><block s="reportEquals"><block s="reportQuotient"><block var="1"/><block var="2"/></block><block s="reportRound"><block s="reportQuotient"><block var="1"/><block var="2"/></block></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="even? %&apos;1&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doIfElse"><custom-block s="%n divisble by %n"><block var="1"/><l>2</l></custom-block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="integer? %&apos;1&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doIfElse"><block s="reportEquals"><block var="1"/><block s="reportRound"><block var="1"/></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="Onscreen" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block s="reportAnd"><block s="reportShown"></block><block s="reportNot"><block s="reportTouchingObject"><l><option>edge</option></l></block></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="Pythagorean %&apos;a&apos; ² + %&apos;b&apos; ² = %&apos;c&apos; ²" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIfElse"><block s="reportEquals"><block s="reportSum"><block s="reportPower"><block var="a"/><l>2</l></block><block s="reportPower"><block var="b"/><l>2</l></block></block><block s="reportPower"><block var="c"/><l>2</l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="prime? %&apos;1&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doIfElse"><block s="reportNot"><custom-block s="even? %n"><block var="1"/></custom-block></block><script><block s="doWarp"><script><block s="doFor"><l>i</l><l>3</l><block s="reportQuotient"><block var="1"/><l>2</l></block><script><block s="doIf"><custom-block s="%n divisble by %n"><block var="1"/><block var="i"/></custom-block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="%&apos;point x&apos; %&apos;point y&apos; in circle %&apos;circle x&apos; %&apos;circle y&apos; radius: %&apos;radius&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportOr"><block s="reportEquals"><block s="reportSum"><block s="reportPower"><block s="reportDifference"><block var="circle x"/><block var="point x"/></block><l>2</l></block><block s="reportPower"><block s="reportDifference"><block var="circle y"/><block var="point y"/></block><l>2</l></block></block><block s="reportPower"><block var="radius"/><l>2</l></block></block><block s="reportLessThan"><block s="reportSum"><block s="reportPower"><block s="reportDifference"><block var="circle x"/><block var="point x"/></block><l>2</l></block><block s="reportPower"><block s="reportDifference"><block var="circle y"/><block var="point y"/></block><l>2</l></block></block><block s="reportPower"><block var="radius"/><l>2</l></block></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="point %&apos;x&apos; %&apos;y&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block var="x"/><block var="y"/></list></block></block></script></block-definition><block-definition s="withingRadius" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l></l></block></script></block-definition><block-definition s="add marking" type="command" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doAddToList"><block s="reportNewList"><list><block s="xPosition"></block><block s="yPosition"></block></list></block><block var="marking"/></block></script></block-definition><block-definition s="%&apos;method&apos; url: %&apos;url&apos; send: %&apos;payload&apos; headers: %&apos;headers&apos;" type="reporter" category="sensing"><header></header><code></code><translations>pt:a resposta a _ de _ enviando _ e cabeçalhos _&#xD;</translations><inputs><input type="%s" readonly="true">GET<options>GET&#xD;POST&#xD;PUT&#xD;DELETE</options></input><input type="%s">https://snap.berkeley.edu</input><input type="%s"></input><input type="%mult%l" readonly="true"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>method</l><l>url</l><l>data</l><l>headers</l><l>proc</l></list><l>var response, i, header;&#xD;if (!proc.httpRequest) {&#xD;  proc.httpRequest = new XMLHttpRequest();&#xD;  proc.httpRequest.open(method, url, true);&#xD;  proc.assertType(headers, &apos;list&apos;);&#xD;  for (i = 1; i &lt;= headers.length(); i += 1) {&#xD;    header = headers.at(i);&#xD;    proc.assertType(header, &apos;list&apos;);&#xD;    proc.httpRequest.setRequestHeader(&#xD;      header.at(1),&#xD;      header.at(2)&#xD;    );&#xD;  }&#xD;  proc.httpRequest.send(data || null);&#xD;} else if (proc.httpRequest.readyState === 4) {&#xD;  response = proc.httpRequest.responseText;&#xD;  proc.httpRequest = null;&#xD;  return response;&#xD;}&#xD;proc.pushContext(&apos;doYield&apos;);&#xD;proc.pushContext();</l></block><list><block var="method"/><block var="url"/><block var="payload"/><block var="headers"/></list></block></block></script></block-definition><block-definition s="key: %&apos;key&apos; value: %&apos;value&apos;" type="reporter" category="operators"><header></header><code></code><translations>pt:um par (chave: _ , valor: _ )&#xD;</translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block var="key"/><block var="value"/></list></block></block></script></block-definition><block-definition s="current location" type="reporter" category="sensing"><comment x="0" y="0" w="200" collapsed="false">Reports a three-item list containing the latitude and longitude of the user, and the precision of the measurements.  Works only if the user allows snap.berkeley.edu access to location data.  Some browsers also require an HTTPS connection to Snap!.</comment><header></header><code></code><translations>pt:a localização actual do dispositivo&#xD;</translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>proc</l></list><l>if (!proc.geostarted) {&#xD;  var geo = navigator.geolocation;&#xD;  var cords = [];&#xD;  var options = {&#xD;    enableHighAccuracy: false,&#xD;  };&#xD;&#xD;  function success(pos) {&#xD;    console.log(pos);&#xD;    proc.geocords = [pos.coords.latitude,&#xD;                     pos.coords.longitude,&#xD;                     pos.coords.accuracy];&#xD;  }&#xD;&#xD;  function error(err) {&#xD;    alert("ERROR " + err.code + ": " + err.message);&#xD;  }&#xD;  proc.geostarted = true;&#xD;  proc.geocords = null;&#xD;  console.log("starting geolocation")&#xD;  geo.getCurrentPosition(success, error, options);&#xD;} else if (proc.geocords) {&#xD;  var cords = proc.geocords;&#xD;  proc.geostarted = null;&#xD;  proc.geocords = null;&#xD;  console.log("returning");&#xD;  return new List(cords);&#xD;} else {&#xD;  console.log("yielding");&#xD;  proc.pushContext(&apos;doYield&apos;);&#xD;  proc.pushContext();&#xD;}</l></block><list></list></block></block></script></block-definition><block-definition s="Go to point %&apos;pint&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="gotoXY"><block s="reportListItem"><l>1</l><block var="pint"/></block><block s="reportListItem"><l>2</l><block var="pint"/></block></block></script></block-definition></blocks><variables><variable name="score"><l>0</l></variable><variable name="snek-x"><l>0</l></variable><variable name="snek-y"><l>0</l></variable><variable name="clone"><l>0</l></variable><variable name="p-pos"><list id="1162"><item><list struct="atomic" id="1163">0,0</list></item></list></variable><variable name="p-rot"><list struct="atomic" id="1164"></list></variable><variable name="High score"><l>9</l></variable></variables></project><media name="snake" app="Snap! 5.4, http://snap.berkeley.edu" version="1"></media></snapdata>