<snapdata remixID="10005417"><project name="U3L1-Tic-Tac-Toe" 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,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</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Square" idx="1" x="-50" y="-70" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="1" color="10,0,0,1" pen="tip" id="8"><costumes><list id="9"><item><costume name="Empty" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAx0lEQVRoQ+2awQ2CUBAFlybwSqzEWiTfoozWwhViONiRiYkFvMsEf4b75LEzHBmqs2eoqktVLT3cNU3n/XvQdW7L83H/65vW7VW31t4edNSMFjpqmd97WchCsAE/OVh4PGehWBkMWAgWHs9ZKFYGAxaChcdzFoqVwYCFYOHxnIViZTBgIVh4PGehWBkMWAgWHs9ZKFYGAxaChcdzFoqVwYCFYOHxnIViZTBgIVh4PGehWBkMWAgWHs9ZKFYGA30X6uWPxnE8bR/Jtp2GcsP1ZgAAAABJRU5ErkJggg==" id="10"/></item><item><costume name="X" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAACBUlEQVRoQ+3aO0/CUBQH8MMGIRFnooaRL0BgdCIGqQnxASgQjMjqc3A04maM38KwOTqqm8YEFx+rr0QdcSMupiQ1olTOvfec3hZha9LH/d1/e8M/rQ8AIoaR2QoG/X7w+K/V+rj2AcB4LBY/LpUXPQ16e32Bq0bjoQ3KZvNH9frhsJcDOr+4hN1abQBybYj/M6HHp2cYGx1xVSp2Y0IltFSpQjgchtrOtitQN7d3YKTTsLd/ANOZqY4xoUDN5jtUlqsQjUa1oyzMQqHYdSwokDkFbkD1wpjjRIN0ozAYYZAuFBYjBXIaJYKRBjmFEsUogbhRMhhlEBdKFkMCokapYMhAVChVDClIFUWBIQfJoqgwLCBRFCWGDYRFUWNYQb1QHBh2kB2KC+MI6Ccql8u2y5ldn+loaxIbQvVB4vxfh5h9qlAswdnpCaysrrEVRcdA5m02mUpBIBCAmdk5b4O+PzObG+usdZ49oW4LAGedZwX9tZpxodhAmKWZA8UCwmCs5Y8aRQ4SwXCgSEEyGGoUGUgFQ4kiAVFgqFDKIEoMBUoJxIFRRUmDODEqKCmQExhZlDDISYwMSgikAyOKQoN0YkRQKJAbMFgUCpRMTkA8kWBrmaLV3vpDm8vPy700duNrfRMVCg39mgtUQqIzqHP/AUjn7GOu3d8J9dsHgBEAKGNi9cA+958uiHxCYDA7+gAAAABJRU5ErkJggg==" id="11"/></item><item><costume name="O" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAEYElEQVRoQ+2aS0wTURSG/66Vx0oXCCIK1MfCFoxuFERDjOArahR8xKgFJS4kRuOGUsrGIBUXxgfFxKhA8REfYGKIiujCB9BqIoiSaAQV3fHQNeaMuUlLZzp3Zu4URCZpuui9Z853/jPn3numFkyxywIgG0DbVOBKTk7pkoD2H3C0Xa6r/aeZXr7qQJHD8XYaaLLKOK0QrzKtj57A7w+g7+MHtD15jM+fP4VN3bZ9BxISErDUZkfO6iwkJc7hNa84TqhC/QNf4fXWof76NWRkLpM+drsN1vQ0WWfp5r0fPuJNwI/79+5K43cWFGLrlo26wYQABYMUHSpBYcEOXdG+fec+fI0NGB4aQvHhEl1ghoGuXK2H2+UEgRwudiAuLlZ3dNlEStfqqiokJiWhvNypKTi6gYaHR1DuqkBPdzfclZVYsXyZYZBgA2T/wiUvai+ex8VaL3LX5nDZ1wVENzvoKEJsbCzOeKqFqKLkLaXh8WOlOO2p4UpBzUAMxmq1otLt4oqa0UHdPe+xIT+fC0oz0IGDRYiJicHZGo9RPzXNJ6glixfhxcvXEdNbE9C585fQ/rQNdd5aU9NMLf0CgYDi/bmBWITedfdg8aKFmqIrcvDR0mOSOaUM4QaiVLPZM3CkpFikf5pt0TNss9nQ0OiTTT0uIBpUWLATkaTW7JmBCZT6AX8X5I46XEAk84LUtAlXh8WAqdTc0hKW/qpAtK2Zm5SIoaHhCSkESkKeqvLg96/RsKVDFYi2NrR5jHaZVstIKlKlR0vR2vowZKgqEKXbylVZXKu0mhOif09JmY/xaacKJDdJtGN67ckFWxXIYrFgbGxM7z1NnUfVjq7gpSQiEP3o8Xhw84bPVMf0GqdjRpPPF1K+VYG8Xq9svdfrhMh55Px4/6aBREbYqC3NCinVeqOOiJpPh7/nz9pD1sj/q8pRJHNz15nSMxChEp0A1uflhyz6qgqVOV2YvyAV+/buEuGDUBu06D9tbw/pCqkCsV7ZZFuLWKtL816Oturx8XH40j+gqT8mVAoZY5Q5M2bG4OSJvydYdqkqRAOVJpvttJL9SEHmAqIzUXZW1qQ6sf78MSjbRuMCYirRd7R6cUrqsAOn0iPADcRUUmpORCv9qFSnpqWHPTuaniE2mLVlJ6pZQsfurs6OiH1BboUYFBWI3t7eqDcbWTDlGiOaq9z4dIo2FC8M+alZofFKuVzlpnZS6VR6proqrHeg9MzqBiKDlNP0/sbpcgvfGlERqqhwY6C/HzVna7iDZgiISewsK5PetjkcDsMvvmjRvFbfKKmi562gYSCCCnZidc6asB0wT0knRRoamyTFyYbe4AgBYg4T2J17zXjQ0iyV142bNkst5MwMuzRkoTVd6r7SwXF09Be+fR9EX1+fNJY+u3bvQV5eniGVhQIFK0ER7+j0Sw7TfxVGRkZw62aTNGTevBRJBXpxxoBFvaM1DYgnzcwYMw1kRlRF2pzaCk2VfzTOmjX71R8xTomk2qlpUgAAAABJRU5ErkJggg==" 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="10" y="10"><block s="doWearNextCostume"></block></script><script x="21.399999999999864" y="34.66666666666666"><block s="receiveGo"></block><block s="setColor"><color>10,0,0,1</color></block><block s="clear"></block><block s="removeClone"></block></script><script x="187" y="97.83333333333329"><custom-block s="tied?"></custom-block></script><script x="49.99999999999997" y="686.8333333333334"><custom-block s="best empty square"></custom-block></script><script x="65" y="667.8333333333331"><custom-block s="winning move"></custom-block></script><script x="75" y="649.8333333333331"><custom-block s="best move"></custom-block></script><script x="15" y="705.8333333333336"><custom-block s="status of all winning conditions"></custom-block></script><script x="24.399999999999977" y="133.3333333333334"><block s="receiveGo"></block><block s="doWait"><l>0.1</l></block><block s="doSetVar"><l>board_status</l><block s="reportNewList"><list><l>e</l><l>e</l><l>e</l><l>e</l><l>e</l><l>e</l><l>e</l><l>e</l><l>e</l></list></block></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></script><script x="26.000000000000114" y="416"><block s="receiveMessage"><l>O&apos;s Turn</l></block><block s="doIf"><block s="reportEquals"><block var="position"/><custom-block s="best move"></custom-block></block><script><block s="doWait"><l>0.7</l></block><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="position"/><block var="board_status"/><l>O</l></block><block s="doWait"><l>0.25</l></block></script></block><custom-block s="win or tie"></custom-block><block s="clear"></block></script><script x="23" y="274"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportEquals"><block s="getCostumeIdx"></block><l>1</l></block><script><block s="doSwitchToCostume"><l>X</l></block><block s="doReplaceInList"><block var="position"/><block var="board_status"/><l>X</l></block><block s="doBroadcast"><l>O&apos;s Turn</l></block></script></block></script></scripts></sprite><watcher var="X&apos;s turn?" style="normal" x="0.16538010585441043" y="0.16538010585455254" color="243,118,29" hidden="true"/><watcher var="board_status" style="normal" x="0.7938245081018067" y="0.7938245081018422" color="243,118,29" extX="80" extY="70.00000000000003" hidden="true"/><watcher scope="Square" var="position" style="normal" x="0.7938245081018067" y="8.176392592213965" color="243,118,29" hidden="true"/><watcher var="possible wins" style="normal" x="3.3613387978139144" y="3.3613387978141986" color="243,118,29" hidden="true"/><sprite name="Sprite" idx="2" x="152.44921875" y="-130" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="18,4,0,1" pen="tip" id="96"><costumes><list struct="atomic" id="97"></list></costumes><sounds><list struct="atomic" id="98"></list></sounds><blocks><block-definition s="realclear" type="command" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="clear"></block></script></block-definition></blocks><variables></variables><scripts><script x="196" y="62"><block s="receiveGo"></block><block s="doWait"><l>0.1</l></block><block s="setColor"><color>18,4,0,1</color></block><block s="gotoXY"><l>-80</l><l>-100</l></block><block s="write"><l>Welcome to Tic Tac Toe!</l><l>12</l></block><block s="gotoXY"><l>-150</l><l>-130</l></block><block s="write"><l> Begin by pressing any square on the grid.</l><l>12</l></block><block s="hide"></block></script><script x="493" y="88.00000000000003"><block s="receiveMessage"><l>done</l></block></script><script x="501" y="340"><block s="clear"></block></script></scripts></sprite></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="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="clear"></block><block s="gotoXY"><l>-50</l><l>80</l></block><block s="setHeading"><l>90</l></block><block s="doSwitchToCostume"><l>Empty</l></block><block s="bubble"><l></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="doChangeVar"><l>position</l><l>1</l></block><block s="forward"><l>50</l></block></script></block><block s="forward"><l>-150</l></block><block s="changeYPosition"><l>-50</l></block></script></block><block s="hide"></block></script></block-definition><block-definition s="winning combinations" 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;win_triple&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="board_status"/></block></autolambda><list></list></block><block var="win_triple"/></block></block></script></block-definition><block-definition s="status of all winning conditions" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="status of triple %l"><l/></custom-block></autolambda><list></list></block><custom-block s="winning combinations"></custom-block></block></block></script></block-definition><block-definition s="win? %&apos;x_or_o&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><l></l></block></script><scripts><script x="152" y="82.53333333333336"><block s="reportGreaterThan"><l></l><l>0</l></block></script><script x="152" y="58.53333333333336"><block s="reportEquals"><l></l><l></l></block></script><script x="155" y="106.86666666666679"><block s="reportListLength"><l/></block></script><script x="141" y="126.36666666666696"><block s="reportKeep"><block s="reifyPredicate"><script></script><list></list></block><l/></block></script><script x="135" y="155.20000000000033"><custom-block s="status of all winning conditions"></custom-block></script><script x="137" y="178.03333333333353"><block s="reportNewList"><list><block var="x_or_o"/><block var="x_or_o"/><block var="x_or_o"/></list></block></script></scripts></block-definition><block-definition s="win? %&apos;x_or_o&apos; (2)" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportGreaterThan"><block s="reportListLength"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportEquals"><l></l><block s="reportNewList"><list><block var="x_or_o"/><block var="x_or_o"/><block var="x_or_o"/></list></block></block></autolambda><list></list></block><custom-block s="status of all winning conditions"></custom-block></block></block><l>0</l></block></block></script></block-definition><block-definition s="tied?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNot"><block s="reportListContainsItem"><block var="board_status"/><l>e</l></block></block></block></script></block-definition><block-definition s="win or tie" type="command" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><custom-block s="win? %s (2)"><l>X</l></custom-block><script><block s="gotoXY"><l>-50</l><l>-80</l></block><block s="write"><l>X WON!</l><l>30</l></block><block s="gotoXY"><l>-125</l><l>-100</l></block><block s="write"><l>Press the Green Flag to Play Again.</l><l>12</l></block><block s="doStopThis"><l><option>all</option></l></block></script><script><block s="doIfElse"><custom-block s="win? %s (2)"><l>O</l></custom-block><script><block s="gotoXY"><l>-50</l><l>-80</l></block><block s="write"><l>O WON!</l><l>30</l></block><block s="gotoXY"><l>-125</l><l>-100</l></block><block s="write"><l>Press the Green Flag to Play Again.</l><l>12</l></block><block s="doStopThis"><l><option>all</option></l></block></script><script><block s="doIf"><custom-block s="tied?"></custom-block><script><block s="gotoXY"><l>-70</l><l>-80</l></block><block s="write"><l>You Tied.</l><l>30</l></block><block s="gotoXY"><l>-125</l><l>-100</l></block><block s="write"><l>Press the Green Flag to Play Again.</l><l>12</l></block><block s="doStopThis"><l><option>all</option></l></block></script></block></script></block></script></block></script></block-definition><block-definition s="best empty square" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportEquals"><block s="reportListItem"><l></l><block var="board_status"/></block><l>e</l></block></autolambda><list></list></block><block s="reportNewList"><list><l>5</l><l>1</l><l>3</l><l>7</l><l>9</l><l>2</l><l>4</l><l>6</l><l>8</l></list></block></block></block></block></script></block-definition><block-definition s="winning move" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doForEach"><l>item</l><custom-block s="winning combinations"></custom-block><script><block s="doIf"><block s="reportAnd"><block s="reportEquals"><block s="reportListLength"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportEquals"><l></l><l>e</l></block></autolambda><list></list></block><custom-block s="status of triple %l"><block var="item"/></custom-block></block></block><l>1</l></block><block s="reportEquals"><block s="reportListLength"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportEquals"><l></l><l>O</l></block></autolambda><list></list></block><custom-block s="status of triple %l"><block var="item"/></custom-block></block></block><l>2</l></block></block><script><block s="doReport"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportEquals"><block s="reportListItem"><l></l><block var="board_status"/></block><l>e</l></block></autolambda><list></list></block><block var="item"/></block></block></script></block></script></block><block s="doForEach"><l>item</l><custom-block s="winning combinations"></custom-block><script><block s="doIf"><block s="reportAnd"><block s="reportEquals"><block s="reportListLength"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportEquals"><l></l><l>e</l></block></autolambda><list></list></block><custom-block s="status of triple %l"><block var="item"/></custom-block></block></block><l>1</l></block><block s="reportEquals"><block s="reportListLength"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportEquals"><l></l><l>X</l></block></autolambda><list></list></block><custom-block s="status of triple %l"><block var="item"/></custom-block></block></block><l>2</l></block></block><script><block s="doReport"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportEquals"><block s="reportListItem"><l></l><block var="board_status"/></block><l>e</l></block></autolambda><list></list></block><block var="item"/></block></block></script></block></script></block><block s="doReport"><l>none</l></block></script></block-definition><block-definition s="best move" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block s="reportEquals"><custom-block s="winning move"></custom-block><l>none</l></block><script><block s="doReport"><custom-block s="best empty square"></custom-block></block></script><script><block s="doReport"><custom-block s="winning move"></custom-block></block></script></block></script></block-definition><block-definition s="clear" type="command" category="pen"><header></header><code></code><translations></translations><inputs></inputs></block-definition></blocks><variables><variable name="X&apos;s turn?"><bool>true</bool></variable><variable name="board_status"><list struct="atomic" id="1145">e,e,e,e,e,e,e,e,e</list></variable><variable name="possible wins"><l>0</l></variable></variables></project><media name="U3L1-Tic-Tac-Toe" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>