<snapdata remixID="9101454"><project name="U3L2 tic tac toe mo" 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="true" codify="false" inheritance="false" 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="Square" idx="1" x="-50" 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,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAy0lEQVRoQ+2awQmDQAAEtQn9SipJLQlnUSGpxa8S8rCjHAEL2M9gjjnwuaw7c8/ru8ZOX/dc67e0sGuaLp/foNu9LK/n4683rdu7m0vZHXRWjRo6q5njvzSkIZiAVw4GHtdpKEYGBzQEA4/rNBQjgwMagoHHdRqKkcEBDcHA4zoNxcjggIZg4HGdhmJkcEBDMPC4TkMxMjigIRh4XKehGBkc0BAMPK7TUIwMDmgIBh7XaShGBgc0BAOP6zQUI4MDbRuqMJt40TgM4/YFybadhoxu4E8AAAAASUVORK5CYII=" id="10"/></item><item><costume name="X" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAACBUlEQVRoQ+3aO0/CUBQH8MMGIRFnooaRL0BgdCIGwYT4aFEgGJHV5+BoxM0Yv4Vhc3RUN40JLj5WX4k64kZcbElIfICce+85vS3SqcNNen/33970n9YHAJFMJrsVDPr91rmnj2bz49pnCcZjsfhxsbToadDb6wtc1esPLZBh5I5qtcNhL8dzfnEJu9XqAOTaEP9nQo9PzzA2OuKqVLrNCZXQUrkC4XAYqjvbrkDd3N5BJp2Gvf0DmM5OfZsTCtRovEN5uQLRaFQ7qo1ZyBc6zgUFspfADaheGHueaJBuFAYjDNKFwmKkQE6jRDDSIKdQohglEDdKBqMM4kLJYkhA1CgVDBmICqWKIQWpoigw5CBZFBWGBSSKosSwgbAoagwrqBeKA8MO6obiwjgC+okyTaNVzrr1GXu8yiFUH1QuZPepfKEIZ6cnsLK6xlYUHQPZt9lkKgWBQABmZue8Dfr6zGxurLPWefaEOm0AnHWeFfTXbsaFYgNhtmYOFAsIg2nvmNQocpAIhgNFCpLBUKPIQCoYShQJiAJDhVIGUWIoUEogDowqShrEiVFBSYGcwMiihEFOYmRQQiAdGFEUGqQTI4JCgdyAwaJQoGRyAuKJBFvLFK327RdaMzcv99HYjZ/1bVQoNPRrLVAJia6gzvEDkM7Vx1y7vxPqtx8AI1akJUysHhhz/wkuiHxCzRhfCAAAAABJRU5ErkJggg==" id="11"/></item><item><costume name="O" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAEZElEQVRoQ+2aS0wTURSG/64VcKULBBV51MfCFo1uFEFDjOArahR8xKgFJS4kRuOGUsrGIBUXxgfFxKhA8REfYGKIiuhCEGk1EURJNILPHQ9dI2fMTVo607kzc6cg0mTSRe89c77znzn33jO1YJJ9LKM8q0evlsnANXduUqcEtP+Ao+VyTfU/zdTW3oECh+PNFNBElXFKIV5lmh89gd8fQO+H92h58hifPn0Mm7pt+w7Ex8djic2OrMwMJCbM5jWvOE6oQn39X+D11qD2+jWkL10mXXa7Dda0VFln6eY97z/gdcCP+/fuSuN35uVj65aNusGEAAWDFBwqQn7eDl3Rvn3nPnz1dRgcGEDh4SJdYIaBrlythdvlBIEcLnQgLi5Wd3TZRErXyooKJCQmorTUqSk4uoEGB4dQ6ipDd1cX3OXlWLF8mWGQYANk/8IlL6ovnsfFai+y12Zx2dcFRDc76ChAbGwszngqhaii5C2l4fFjxTjtqeJKQc1ADMZqtaLc7eKKmtFBXd3vsCE3lwtKM9CBgwWIiYnB2SqPUT81zSeoxYsW4kXby4jprQno3PlLaH3aghpvtalpppZ+gUBA8f7cQCxCb7u6sWjhAk3RFTn4aPExyZxShnADUarZ7Ok4UlQo0j/NtugZttlsqKv3yaYeFxANys/biUhSa/bMwARK/YC/E3JHHS4gkjk5JXXc1WExYCo1NjWFpb8qEG1r5iQmYGBgcFwKgZKQpyo8+P1rOGzpUAWirQ1tHqNdptUykopU8dFiNDc/DBmqCkTptnJVBtcqreaE6N+TkuZjbNqpAslNEu2YXntywVYFslgsGBkZ0XtPU+dRtaNP8FISEYh+9Hg8uHnDZ6pjeo3TMaPB5wsp36pAXq9Xtt7rdULkPHJ+rH9TQCIjbNSWZoWUar1RR0TNp8Pf82etIWvk/1XlKJLZ2etM6RmIUIlOAOtzckMWfVWFSpwuzE9Owb69u0T4INQGLfpPW1tDukKqQKxXNtHWItbq0ryXo636jBlx+NzXr6k/JlQKGWOUOdOmx+Dkib8nWPZRVYgGKk0222kl+5GCzAVEZ6LVGRkT6sT688d32TYaFxBTib6j1YtTUocdOJUeAW4gppJScyJa6UelOiU1LezZ0fQMscGsLTtezRI6dne+6ojYF+RWiEFRgejp6Yl6s5EFU64xornKjU2naEPxwpCfmhUaq5TLVWpqJ5VOpWcqK8J6B0rPrG4gMkg5Te9vnC638K0RFaGyMjf6+/pQdbaKO2iGgJjEzpIS6W2bw+Ew/OKLFs1rtfWSKnreChoGIqhgJzKz1oTtgHlKOilSV98gKU429AZHCBBzmMDu3GvEg6ZGqbxu3LRZaiEvTbdLQxZY06TuKx0ch4d/4eu37+jt7ZXG0rVr9x7k5OQYUlkoULASFPGOV37JYfqvwtDQEG7dbJCGzJuXJKlAL84YsKh3tKYB8aSZGWOmgMyIqkibk1uh0UhNin80zpw5q/0PMU6JpNoQClQAAAAASUVORK5CYII=" id="12"/></item></list></costumes><sounds><list struct="atomic" id="13"></list></sounds><blocks></blocks><variables><variable name="position = #"><l>10</l></variable></variables><scripts><script x="22.51666666666668" y="10"><block s="doWearNextCostume"></block></script><script x="10" y="47.62500000000003"><block s="receiveGo"></block><custom-block s="positions board!"></custom-block><block s="doWait"><l>.1</l><comment w="181.33333333333334" collapsed="true">Wait for old clones to be deleted.</comment></block><block s="doSwitchToCostume"><l>Empty</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><comment w="90" collapsed="true">X plays first.</comment></block></block></script><script x="19.375" y="248.375"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportEquals"><block s="getCostumeIdx"></block><l>1</l></block><script><custom-block s="BOARD PLAY"></custom-block></script></block></script><script x="15.26666666666668" y="191.32500000000005"><block s="receiveGo"></block><block s="removeClone"></block></script><script x="111.7421905000001" y="371.25000600000004"><block var="i"/></script><script x="84.0029326875001" y="363.250006"><block var="i"/></script></scripts></sprite><sprite name="Sprite" idx="2" x="-80.09086937527309" y="127.62953254696374" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="249.9,74.97000000000001,0,1" pen="tip" id="43"><costumes><list struct="atomic" id="44"></list></costumes><sounds><list struct="atomic" id="45"></list></sounds><blocks></blocks><variables></variables><scripts></scripts></sprite><watcher var="X&apos;s turn?" style="normal" x="3.8808186848957575" y="3.8808186848958286" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="9.934895833333258" y="9.934895833333329" color="243,118,29" extX="80" extY="69.99999999999999"/><watcher var="winning combos" style="normal" x="35.76562499999977" y="312.9492207369794" color="243,118,29" hidden="true"/><watcher var="win combo xo" style="normal" x="62.285714285714675" y="175.9999979999999" color="243,118,29" extX="80" extY="70"/><watcher scope="Square" var="position = #" style="normal" x="314.9153645833335" y="14.401824903645775" color="243,118,29"/></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="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></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></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></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></translations><inputs><input type="%s">catchtag</input><input type="%s"></input></inputs><script><block s="doRun"><block var="tag"/><list><block var="value"/></list></block></script></block-definition><block-definition s="for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%l"></input><input type="%cs"></input></inputs><script><block s="doUntil"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doRun"><block var="action"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>breakpoint</l></list></block><block s="doIf"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doSetVar"><l>breakpoint</l><block var="test"/></block><block s="doShowVar"><l>breakpoint</l></block><block s="doRun"><block var="action"/><list></list></block><block s="doPauseAll"></block><block s="doHideVar"><l></l></block></script></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations></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="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs></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="doSwitchToCostume"><l>Empty</l></block><block s="gotoXY"><l>-50</l><l>0</l></block><block s="show"></block><block s="doSetVar"><l>position = #</l><l>1</l></block><block s="doRepeat"><l>3</l><script><block s="doRepeat"><l>3</l><script><block s="createClone"><l><option>myself</option></l></block><block s="doSayFor"><block var="position = #"/><l>1</l></block><block s="doChangeVar"><l>position = #</l><l>1</l></block><block s="changeXPosition"><l>50</l></block></script></block><block s="setXPosition"><l>-50</l></block><block s="changeYPosition"><l>50</l></block></script></block><block s="hide"></block></script></block-definition><block-definition s="did X WIN? %&apos;xotriple&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportAnd"><block s="reportListItem"><l>1</l><block var="xotriple"/></block><block s="reportAnd"><block s="reportListItem"><l>2</l><block var="xotriple"/></block><block s="reportListItem"><l>3</l><block var="xotriple"/></block></block></block></block></script></block-definition><block-definition s="did O WIN? %&apos;XOTriple&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportAnd"><block s="reportListItem"><l>1</l><block var="win combo xo"/></block><block s="reportAnd"><block s="reportListItem"><l>2</l><block var="winning combos"/></block><block s="reportListItem"><l>3</l><block var="win combo xo"/></block></block></block></block></script></block-definition><block-definition s="check winner" type="command" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doForEach"><l>item</l><block var="winning combos"/><script><block s="doIf"><custom-block s="did O WIN? %s"><block s="reportListItem"><l></l><block var="win combo xo"/></block></custom-block><script><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><block s="doSayFor"><l>O WINS !!!</l><l>2</l></block></script><list></list></block><list></list></block></script></block><block s="doIf"><custom-block s="did X WIN? %s"><block s="reportListItem"><l></l><block var="win combo xo"/></block></custom-block><script><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><block s="doSayFor"><l>X WINS !!!</l><l>2</l></block></script><list></list></block><list></list></block></script></block></script></block></script></block-definition><block-definition s="win combonations" type="command" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>winning combos</l><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><block s="doSetVar"><l>win combo xo</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="winning combos"/><script><block s="doAddToList"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="board"/></block></autolambda><list></list></block><block s="reportListItem"><l></l><block var="winning combos"/></block></block><block var="win combo xo"/></block></script></block></script></block-definition><block-definition s="BOARD PLAY" type="command" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block s="reportEquals"><block var="X&apos;s turn?"/><block s="reportBoolean"><l><bool>true</bool></l></block></block><script><block s="doSwitchToCostume"><l>X</l></block><block s="doReplaceInList"><block var="position = #"/><block var="board"/><l>x</l></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="position = #"/><block var="board"/><l>o</l></block></script></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportNot"><block var="X&apos;s turn?"/></block></block><custom-block s="win combonations"></custom-block><custom-block s="check winner"></custom-block></script></block-definition><block-definition s="positions board!" type="command" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>board</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><l>9</l><script><block s="doAddToList"><l>empty</l><block var="board"/></block></script></block></script></block-definition></blocks><variables><variable name="X&apos;s turn?"><bool>true</bool></variable><variable name="board"><list struct="atomic" id="893">empty,empty,empty,empty,empty,empty,empty,empty,empty</list></variable><variable name="winning combos"><list id="894"><item><list struct="atomic" id="895">1,2,3</list></item><item><list struct="atomic" id="896">4,5,6</list></item><item><list struct="atomic" id="897">7,8,9</list></item><item><list struct="atomic" id="898">1,4,7</list></item><item><list struct="atomic" id="899">2,5,8</list></item><item><list struct="atomic" id="900">3,6,9</list></item><item><list struct="atomic" id="901">1,5,9</list></item><item><list struct="atomic" id="902">3,5,7</list></item></list></variable><variable name="win combo xo"><list struct="atomic" id="903"></list></variable></variables></project><media name="U3L2 tic tac toe mo" app="Snap! 5.4, http://snap.berkeley.edu" version="1"></media></snapdata>