<snapdata remixID="10803291"><project name="Tic Tac Toe game" app="Snap! 6, https://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="true" hyperops="true" codify="false" inheritance="false" sublistIDs="false" scheduled="false" id="1"><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="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Square" idx="1" x="0" y="-150" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="8"><costumes><list id="9"><item><costume name="Empty" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAh5JREFUaEPdmlFOwzAQRN1LlN+Kk3CWonCoQs6S3xbEBycqSkWQY5zszK53idpPuvbOmzG2G2WX7uyzSyk9pZQGV66xy7XSofb3pVpA4OHw+HkDOj53Q/92AoYYS0aosaPD53z5SC9d9+UD5Ch8yQsfIAQEqWETvKZ0fi8Tej21Ww4eogVIn4TypggUUgOm5Q9UE9IQoJz+f4BAtzVlHJCjs7/ipx5Mr6x2GYiZUGNl6zE/eudAx27oe8eDNcAkbsm1dtVhPl+ggES4Xc4qaLqIMvc2Y0/fhFotKQIyFqgmjBCL+CMDSQ2l7xEVDW8TdSAvkaNwy9zS2Opte+0HnjShNg3LuOJmIS85phm6qzkawwM5imG8u9VWtPwFQn/gbQksc4JPiLaxGNDKiIV59ED5hK1EsrsgtORqu1zAgagKvtRFb9vss4JSZcskFxzQLzmVpf6D4oDQdIqDkrUgDmhNGQoL0MnnEHr6s/9fDSHy1ttISHKegI+/bUvike9XAGMSIhxGeNZq9ECBIhlIPRDTJbBWftAYkQTbY+WswhJiLqLovY+FAFOWEwIn2koZltCk1snVmRnGHhyQVwzMkhY0+BysRpctvtkT8hSvmDtmU5CESd8TkdkTIpotlt4dEGOKAO+zKTACa7WGxLax5KwGZOP9gFCX0TowSWyXszRt6D4ylT4h49MZRJymZgbk/kajRmH+ZiP4luN+/3D5BqN//YZjdm32AAAAAElFTkSuQmCC" id="10"/></item><item><costume name="X" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAA61JREFUaEPNmj1vE0EQhidUsSKR1FaI0nH8gCgpqSKU2EgRENsQR0EYt3wWlAHTIcG/CKZKSQl0AaTQYNxCsASUoYuQMDpzZ+/d7cc7u3uxr/LH7uw8887O7t7dFBEtlssbj2ZmpqcpvqaIqD/8lvyg+0/WhdteMSzy88nJn8/hcBeXlpZfb+/cHAGFvUMg0Znw8wRfv37+oE+Hh98GQJVKbb/d3ptz9jcOgrMhvoGD9x/paavlGYjrBycAsrbCb1mgl3tzgxRDL44zqM041cW5DPYdj0JIEJA2acg+0cEHXcpFRo++92jh3DwYo9NpdtTr0cJ81idIoVuNJhWLRWo92fXjrRh9CyU6X7pUXi/Rs+cv6MrG5YRPENDx8W9q3G5SEAT+oCxDM4AplejGVl3qCwQUjj2EOh9Qq+VJqRgKVMkEE5pLAm3W9tuvhHUoNdBYlIp8QGCyQMDCqoUCI83Ntk6nS+WyOs1Ee3DKiZ2clGJCG5VJ2eMBCZ2doECJMjBAMORAQMdEoRCrH9jXxGRURlFQeAqJXkSO56HUYM6EpbkuL83KYBh3CqYwRv/7hEoo83j3/9FFdqUzIfpur1BqEB9QcJppAu2+2xaMu0D5gFGvQ7q9lkLqmMsGyheM1cKaUFtR0QZQjSYFFwJqifNA0l4LY1Exncq2rmYgSvmGcVfIUAV1UHA1Aytt3MxblVONm4HqE3W6whFAV5pVRlXzWLoOce8pABEUoarVivY8A5jTNsldIbH6bdW36d3bN3Tn7r3k4cxi8qsWW+iegmvUwv7hnFlfW6NCoUBXr22qT76OcPkolFrHxDnz8MH90XHeNH8s7j3kAyRIKivNSEk3ZoVCyVyBdOsMC4qRhmoghhFZNJFjMwTF9EOvENNYDMY5z0BQxvwbNfCectI0kwUmp+M8BgQq5bJrtlJKsmPQr0MMqV1gXI4eQxd9nliRAoDGJnH0kN1LN2QLlnJpbwSjPpRJm7dKv8iIHVDU2QgDzj2ZerZQ1kBGGDTHxHapABihJAGzAvIKY1DRCJUKHAbEmTMOaQYfEjXqY0C6OWMLwOyHKgXv5Vj3AJjOotPN+NANvRXMgom9yxtK8XgUSrnV1Uu0vLIyvueriupXrV23e2g8iY/1w/SbnT2byVb1jcawKeeNEnQiaNad9L5MaVKTzlDK2fiaa59TBfJdDJj2JlMhJoSYDQkg6QuAnNxxcAQaBrAvvgC4SEQ7RsNniOivopXuP6NhQwOe7a//AGdZ2EJ/EBeGAAAAAElFTkSuQmCC" id="11"/></item><item><costume name="O" center-x="26" center-y="26" image="data:image/png;base64,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" id="12"/></item></list></costumes><sounds><list struct="atomic" id="13"></list></sounds><blocks></blocks><variables><variable name="square number"><l>9</l></variable></variables><scripts><script x="371" y="600"><block s="receiveGo"></block><block s="doWait"><l>1</l></block><block s="doSwitchToCostume"><l>Empty</l></block><block s="gotoXY"><l>0</l><l>0</l></block><custom-block s="makeBoard"></custom-block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>board</l><block s="reportNewList"><list><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l></list></block></block><block s="doSetVar"><l>counter</l><l>0</l></block></script><script x="64" y="567.0000000000002"><block s="receiveMessage"><l>X is the winner</l></block><block s="hide"></block></script><script x="46" y="436.99999999999955"><block s="receiveMessage"><l>tie game</l></block><block s="hide"></block></script><script x="22" y="659.9999999999995"><block s="receiveMessage"><l>O is the winner</l></block><block s="hide"></block></script><script x="100" y="724.9999999999993"><block s="receiveGo"></block><block s="removeClone"></block></script><script x="575" y="13"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportEquals"><block s="reportAttributeOf"><l><option>costume name</option></l><block s="reportGet"><l><option>self</option></l></block></block><l>Empty</l></block><script><block s="doIfElse"><block var="X&apos;s turn?"/><script><block s="doSwitchToCostume"><l>X</l></block><block s="doReplaceInList"><block var="square number"/><block var="board"/><l>X</l></block><block s="doIfElse"><custom-block s="Won? %txt"><l>X</l></custom-block><script><block s="doBroadcast"><l>X is the winner</l></block></script><script><block s="doChangeVar"><l>counter</l><l>1</l></block><block s="doIfElse"><block s="reportEquals"><block var="counter"/><l>9</l></block><script><block s="doBroadcast"><l>tie game</l></block></script><script><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="square number"/><block var="board"/><l>O</l></block><block s="doIfElse"><custom-block s="Won? %txt"><l>O</l></custom-block><script><block s="doBroadcast"><l>O is the winner</l></block></script><script><block s="doChangeVar"><l>counter</l><l>1</l></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block></script></block></script></scripts></sprite><sprite name="Sprite" idx="2" x="0" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="1" color="135.15,0,40.5450000000001,1" pen="tip" id="139"><costumes><list id="140"><item><costume name="alonzo" center-x="45" center-y="60" image="data:image/png;base64,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" id="141"/></item></list></costumes><sounds><list struct="atomic" id="142"></list></sounds><blocks></blocks><variables></variables><scripts><script x="66" y="48"><block s="receiveGo"></block><block s="hide"></block><block s="gotoXY"><l>0</l><l>0</l></block></script><script x="60" y="149"><block s="receiveMessage"><l>X is the winner</l></block><block s="show"></block><block s="doSayFor"><l>Game Over X is the winner</l><l>10</l></block></script><script x="61" y="250.99999999999991"><block s="receiveMessage"><l>O is the winner</l></block><block s="show"></block><block s="doSayFor"><l>Game Over O is the winner</l><l>10</l></block></script><script x="64" y="352.9999999999999"><block s="receiveMessage"><l>tie game</l></block><block s="show"></block><block s="doSayFor"><l>tie game</l><l>10</l></block></script></scripts></sprite><watcher var="X&apos;s turn?" style="normal" x="3.40625" y="3.406250000000007" color="243,118,29" hidden="true"/><watcher scope="Square" var="square number" style="normal" x="8.054187192118206" y="8.054187192118228" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="7.518170071873101" y="13.129007510296361" color="243,118,29" extX="80" extY="70"/><watcher var="counter" style="normal" x="10" y="10" 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></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="map %&apos;function&apos; over %&apos;lists&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%mult%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>mapone</l><l>mapmany</l></list></block><block s="doSetVar"><l>mapone</l><block s="reifyScript"><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="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="evaluate"><block var="mapone"/><list><block s="reportCDR"><block var="data"/></block></list></block></block></block></script><list><l>data</l></list></block></block><block s="doSetVar"><l>mapmany</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportListItem"><l>1</l><block var="data lists"/></block></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></block><block s="evaluate"><block var="mapmany"/><list><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportCDR"><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></list></block></block></block></script><list><l>data lists</l></list></block></block><block s="doIfElse"><custom-block s="empty? %l"><block s="reportCDR"><block var="lists"/></block></custom-block><script><block s="doReport"><block s="evaluate"><block var="mapone"/><list><block s="reportListItem"><l>1</l><block var="lists"/></block></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="mapmany"/><list><block var="lists"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations></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></translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><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></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></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><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></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></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></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></translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doWarp"><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></script><scripts><script x="229.00000300000002" y="196.77778077777774"><block s="reportJoinWords"><list><l></l><l></l></list></block></script></scripts></block-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></script></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></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="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block></script></block-definition><block-definition s="tell %&apos;sprite&apos; to %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%cs"></input></inputs><script><block s="doRun"><block s="reportAttributeOf"><block var="action"/><block var="sprite"/></block><list></list></block></script></block-definition><block-definition s="ask %&apos;sprite&apos; for %&apos;expression&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportAttributeOf"><block var="expression"/><block var="sprite"/></block><list></list></block></block></script></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block></script></block-definition><block-definition s="makeBoard" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>square number</l><l>0</l></block><block s="show"></block><custom-block s="for %upvar = %n to %n %cs"><l>row</l><l>1</l><l>3</l><script><custom-block s="for %upvar = %n to %n %cs"><l>column</l><l>1</l><l>3</l><script><block s="doChangeVar"><l>square number</l><l>1</l></block><block s="createClone"><l><option>myself</option></l></block><block s="changeXPosition"><l>50</l></block></script></custom-block><block s="changeXPosition"><l>-150</l></block><block s="changeYPosition"><l>-50</l></block></script></custom-block><block s="hide"></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;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="TicTacToe wins" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block><block s="reportNewList"><list><l>4</l><l>5</l><l>6</l></list></block><block s="reportNewList"><list><l>7</l><l>8</l><l>9</l></list></block><block s="reportNewList"><list><l>1</l><l>4</l><l>7</l></list></block><block s="reportNewList"><list><l>2</l><l>5</l><l>8</l></list></block><block s="reportNewList"><list><l>3</l><l>6</l><l>9</l></list></block><block s="reportNewList"><list><l>1</l><l>5</l><l>9</l></list></block><block s="reportNewList"><list><l>3</l><l>5</l><l>7</l></list></block></list></block></block></script></block-definition><block-definition s="status of triple %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="board"/></block></autolambda><list></list></block><list><block var="list"/></list></custom-block></block></script></block-definition><block-definition s="status of all winning triples" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListContainsItem"><block var="board"/><custom-block s="TicTacToe wins"></custom-block></block></autolambda><list></list></block><block var="board"/></block></block></script></block-definition><block-definition s="Won? %&apos;Winning Player&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doForEach"><l>item</l><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><custom-block s="status of triple %l"><l/></custom-block></autolambda><list></list></block><list><custom-block s="TicTacToe wins"></custom-block></list></custom-block><script><block s="doIfElse"><block s="reportAnd"><block s="reportListContainsItem"><block var="item"/><l>X</l></block><block s="reportListContainsItem"><block var="item"/><l>O</l></block></block><script></script><script><block s="doIfElse"><block s="reportListContainsItem"><block var="item"/><l>Empty</l></block><script></script><script><block s="doIf"><block s="reportListContainsItem"><block var="item"/><block var="Winning Player"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block></script></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition></blocks><variables><variable name="X&apos;s turn?"><bool>true</bool></variable><variable name="board"><list struct="atomic" id="1167">Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty</list></variable><variable name="counter"><l>0</l></variable></variables></project><media name="Tic Tac Toe game" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>