<snapdata remixID="9985148"><project name="TICTACTOE" 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="1000" y="1000" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" 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,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAACaklEQVRoQ+1ay3WDMBAUPdAAnbgWY9JTErsWruY5OaQi5ykyDghJO7taKRzio9nPzM7qC41h/xpjzJ3tpePg595isf8cjDFjOGEJ8CViOvRd133+EDr2w3g5vz042erbv6kfakfFQZ7Tua7TzbwMw9eD0Gm8nN+RyKANDQAMBJs5QieUUAhgfdApdp5CSMshBHwbxAcWIWF4N9fpY9lyS0KpBLUA8kkmFOIH24PHglBzOPZ2UphnOS14KTWlSi/91jEqKyQlECpuOJY3y6FjSEs9/TiVFcohQKnrnntjqFdeWGMEKHBy4kKFJAusNonUGHpuff7HkLw3sjzjajNbLhYovi5k4RY4Rwhp97sAmdCFqVDpWSu/kEqEhOUk3fgEd7JT4AOP1aKAQnrgHGhePAYhXmCym1hg8YWcQQiDiFvNIHULpUiIAkY9n0uB2oVLFyD0Cl5f4VrUsZx32/ZO4XnrQ+3lpNVD2ksae62sYsv5OuQClLWgMiEpCanftpkzCekB0RpnQkK1iHDybI7g/mX9smacwFStkQmCihF/7m5O4VlOnijtqVEwWCGNZKUKsZ0JhWMIBVi/GOBVcH1gaMl8O0ChHDIcX45talJYvcHT2vrogJOoBCgUC4ufUSTAaJ9w0RJH8L+r8vakimMRKIQHp6usbyEgZEHslZT4HWuosghJxCZPNeDEWh5EHoW1N9ByKCHEDrHJowcQSiVAAPo2MR/ULn2SBQktkyEkOFXWjQfu5TgAEdtyZ6IdvU7RUQpoOZ1EiG4a6xtAyIdSkyBVhi2WFSH3ReP8pWG5Lw5/c1CAZc/btp2+ARZgDouvDQ6HAAAAAElFTkSuQmCC" id="10"/></item><item><costume name="X" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAADlklEQVRoQ9Wav28TMRTHX7dGHcIcAeoY5grRkalCbYJUAU2gKapo0pWfAxuQsCHEvxGmjh2BrRWoLLTAxi9BOwamSkhBrrmeL7H9fth3iFv643zP7+P39fOz7yYAYLpeX7w/NTU5Cf/dNQSACQDQPw8Pf79Tf52fmTm7uXpjjQiUGFD05u+S0Qh9Pu3zYP87vN3Z+XwE1Gg0Nvr9/gl9O6GWOGh7ftSez768763tN/C417UBSUFiDIa8bw30KDYQxSF5FNzWh6CBei6gPDqlwMrbbG2/9gFpw1++foPTp07Ke3HOR/mAuXwizaG19jpUKhXodR/8zWgBbOxHx6F3995DvVaDJ0+fwaXFixmLjghljQwGP6HdWYdqtQq97kOHS/LR5jAmMMutFasvJMmpDmlQHNf4bTEYZZEMVAyUO8oUGDZQMVDjkaPCEIDsIxZfftlazESiw2gbLMmZHY1DUZMCtR0AHSb1DAGyda7+p66JXBOFBIYgOTwTxZcfNzLZQRdLzi8/fCDsLYawu/fhaNF0rTOYZQ10XG0vbfT7z0Xbh/BIKZiPUK8tiGFSybG3D/Gzn33O0BNIErkokguVHy8B+CE9QPzRScA48uPBYDPIW/rIgagVRWyYgLTtgqVX6XnABACZofdHMis/vZ/SMHVYbrU82xFcXtkW7NLHXW9hXZtQzWbDss6Eydvsn7RjtY0EBjF6X0G1Vq7Dq5cv4Oat2xEjk+0petr2VQAL8/NQKpXg8pUlC1CcKBUCZCaAe3fvRN7O51DL+eRny2byrQcudGKE0i0DbjJt4UvNnMWX0ycRiGNSt6WsM3lEKgAo/ECDWlFwhpMJhL8xoETGltLbnQ5Uq2eC0zkTyD9WEhhJQevzYmRhNTd4tsfiyExbHrel51RYpEZ2rOYLL7pyQyJjlx927Oz2LVhychjXiVLYaZIAKHVEDoNHX5rSBUD0dQZ32z9PJYuvoNpWi6Y6auKezkiKzyEMBr8ItV86MIyTU+1QnjJzVeocKJbkiodJEakpnXzqY5cZJiPsPm+W+ecUYwseFpkioYhv8ObmLsC52VlhnUUFop0kmQVt8+o16kvjrBTCX+tj0qJCm3NqAOVyecwwKylgbuV/HwcvAMg8/lLI6jup/K4CgPJzPluxM7Jc1iU87K7tAY5GtW1a8pz6uD8ATGSSHJbgrv2rFgf7P44/AJwGgFXtSLwvDN1go31E7fPTH+kG1T782Sw+AAAAAElFTkSuQmCC" 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="clone number"><l>0</l></variable></variables><scripts><script x="507" y="28.799999999999955"><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="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="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doReplaceInList"><block var="clone number"/><block var="board"/><l>X</l></block><block s="doIf"><custom-block s="x wins?"></custom-block><script><block s="doSayFor"><l>X won</l><l>2</l></block></script></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doReplaceInList"><block var="clone number"/><block var="board"/><l>O</l></block><block s="doIf"><custom-block s="O wins?"></custom-block><script><block s="doSayFor"><l>O won</l><l>2</l></block></script></block></script></block><block s="doIf"><custom-block s="draw"></custom-block><script><block s="doSayFor"><l>Tie</l><l>2</l></block></script></block></script></block></script><script x="30" y="20"><block s="receiveGo"></block><block s="gotoXY"><l>-50</l><l>50</l></block><block s="doSwitchToCostume"><l>Empty</l></block><custom-block s="make Tic Tac Toe board"></custom-block><block s="gotoXY"><l>1000</l><l>1000</l></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>clone number</l><l>0</l></block><block s="doSetVar"><l>winning triples</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>2</l><l>5</l><l>8</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>3</l><l>6</l><l>9</l></list></block><block s="reportNewList"><list><l>9</l><l>5</l><l>1</l></list></block><block s="reportNewList"><list><l>3</l><l>5</l><l>7</l></list></block></list></block></block></script></scripts></sprite><watcher scope="Square" s="xPosition" style="normal" x="10" y="10" color="74,108,212" hidden="true"/><watcher scope="Square" s="yPosition" style="normal" x="10" y="31.000001999999995" color="74,108,212" hidden="true"/><watcher var="X&apos;s turn?" style="normal" x="10" y="52.00000399999999" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="10" y="76.00000599999998" color="243,118,29" extX="80" extY="70"/><watcher scope="Square" var="clone number" style="normal" x="10" y="169.00000799999998" color="243,118,29" hidden="true"/><watcher var="winning triples" style="normal" x="10" y="190.00000999999997" color="243,118,29" hidden="true"/><watcher var="x wins" style="normal" x="10" y="338.999998" 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="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="make ONE row" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRepeat"><l>3</l><script><block s="doChangeVar"><l>clone number</l><l>1</l></block><block s="createClone"><l><option>myself</option></l></block><block s="changeXPosition"><l>50</l></block></script></block></script></block-definition><block-definition s="make Tic Tac Toe board" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRepeat"><l>3</l><script><custom-block s="make ONE row"></custom-block><block s="changeXPosition"><l>-150</l></block><block s="changeYPosition"><l>-50</l></block></script></block></script></block-definition><block-definition s="Xs turn?" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l></l></block></script></block-definition><block-definition s="x wins?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="for each %upvar of %l %cs"><l>triple</l><block var="winning triples"/><script><block s="doIf"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>1</l><block var="triple"/></block><block var="board"/></block><l>x</l></block><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>2</l><block var="triple"/></block><block var="board"/></block><l>x</l></block><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>3</l><block var="triple"/></block><block var="board"/></block><l>x</l></block></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></custom-block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition><block-definition s="O wins?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="for each %upvar of %l %cs"><l>triple</l><block var="winning triples"/><script><block s="doIf"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>1</l><block var="triple"/></block><block var="board"/></block><l>o</l></block><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>2</l><block var="triple"/></block><block var="board"/></block><l>o</l></block><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>3</l><block var="triple"/></block><block var="board"/></block><l>o</l></block></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></custom-block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition><block-definition s="draw" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block s="reportOr"><custom-block s="x wins?"></custom-block><custom-block s="O wins?"></custom-block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doIfElse"><block s="reportListContainsItem"><block var="board"/><l>Empty</l></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block></script></block-definition></blocks><variables><variable name="X&apos;s turn?"><bool>false</bool></variable><variable name="board"><list struct="atomic" id="929">X,empty,O,X,O,empty,X,empty,empty</list></variable><variable name="winning triples"><list id="930"><item><list struct="atomic" id="931">1,2,3</list></item><item><list struct="atomic" id="932">2,5,8</list></item><item><list struct="atomic" id="933">4,5,6</list></item><item><list struct="atomic" id="934">7,8,9</list></item><item><list struct="atomic" id="935">1,4,7</list></item><item><list struct="atomic" id="936">3,6,9</list></item><item><list struct="atomic" id="937">9,5,1</list></item><item><list struct="atomic" id="938">3,5,7</list></item></list></variable><variable name="x wins"><l>0</l></variable></variables></project><media name="TICTACTOE" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>