<snapdata remixID="13427530"><project name="Tic fav toe sub" app="Snap! 9.0, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="Tic fav toe sub"><notes></notes><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><list></list></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><list></list></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="reportVariadicEquals"><list><block var="data"/><block s="reportNewList"><list></list></block></list></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><list></list></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><list></list></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="reportVariadicGreaterThan"><list><block var="start"/><block var="end"/></list></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportVariadicLessThan"><list><block var="i"/><block var="end"/></list></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="reportVariadicGreaterThan"><list><block var="i"/><block var="end"/></list></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><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></list></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></list></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><list></list></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><list></list></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="gotoXY"><l>0</l><l>0</l></block><block s="setHeading"><l>90</l></block><block s="doSetVar"><l>position number</l><l>0</l></block><block s="show"></block><custom-block s="for %upvar = %n to %n %cs"><l>row</l><l>1</l><l>3</l><script><custom-block s="for %upvar = %n to %n %cs"><l>column</l><l>1</l><l>3</l><script><block s="doChangeVar"><l>position number</l><l>1</l></block><block s="createClone"><l><option>myself</option></l></block><block s="changeXPosition"><l>50</l></block></script></custom-block><block s="changeXPosition"><l>-150</l></block><block s="changeYPosition"><l>-50</l></block></script></custom-block><block s="hide"></block></script></block-definition><block-definition s="TicTacToe wins" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block><block s="reportNewList"><list><l>4</l><l>5</l><l>6</l></list></block><block s="reportNewList"><list><l>7</l><l>8</l><l>9</l></list></block><block s="reportNewList"><list><l>1</l><l>4</l><l>7</l></list></block><block s="reportNewList"><list><l>2</l><l>5</l><l>8</l></list></block><block s="reportNewList"><list><l>3</l><l>6</l><l>9</l></list></block><block s="reportNewList"><list><l>1</l><l>5</l><l>9</l></list></block><block s="reportNewList"><list><l>3</l><l>5</l><l>7</l></list></block></list></block></block></script></block-definition><block-definition s="status of triple %&apos;okthenlist&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="board"/></block></autolambda><list></list></block><list><block var="okthenlist"/></list></custom-block></block></script></block-definition><block-definition s="won? %&apos;xoro&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><custom-block s="for each %upvar of %l %cs"><l>item</l><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><custom-block s="status of triple %l"><l/></custom-block></autolambda><list></list></block><list><custom-block s="TicTacToe wins"></custom-block></list></custom-block><script><block s="doIfElse"><block s="reportListContainsItem"><block var="item"/><l>Empty</l></block><script></script><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportListContainsItem"><block var="item"/><l>x</l></block><block s="reportListContainsItem"><block var="item"/><l>o</l></block></list></block><script></script><script><block s="doIf"><block s="reportListContainsItem"><block var="item"/><block var="xoro"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script></block></script></block></script></custom-block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition></blocks><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" id="784"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAABaAAAAAAHwbojAAAL30lEQVR4Ae3QMQEAAADCoPVPbQwfiEBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGPgMDI3+AAEeFvcCAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="785"></list></costumes><sounds><list struct="atomic" id="786"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Square" idx="1" x="0" y="-149.99999999999994" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="791"><costumes><list id="792"><item><ref mediaID="Square_cst_Empty"></ref></item><item><ref mediaID="Square_cst_X"></ref></item><item><ref mediaID="Square_cst_O"></ref></item></list></costumes><sounds><list struct="atomic" id="793"></list></sounds><blocks></blocks><variables><variable name="position number"><l>9</l></variable></variables><scripts><script x="10" y="10"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="getCostumeIdx"></block><l>1</l></list></block><script><block s="doIfElse"><block var="X&apos;s turn?"/><script><block s="doSwitchToCostume"><l>X</l></block><block s="doReplaceInList"><block var="position number"/><block var="board"/><l>x</l></block><block s="doIfElse"><custom-block s="won? %s"><l>x</l></custom-block><script><block s="doSayFor"><l>x won!</l><l>2</l></block><block s="doStopThis"><l><option>this script</option></l></block></script><script><block s="doChangeVar"><l>turns</l><l>1</l></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="turns"/><l>9</l></list></block><script><block s="doSayFor"><l>Tie</l><l>2</l></block><block s="doStopThis"><l><option>this script</option></l></block></script><script><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="position number"/><block var="board"/><l>o</l></block><block s="doIfElse"><custom-block s="won? %s"><l>o</l></custom-block><script><block s="doSayFor"><l>o won!</l><l>2</l></block><block s="doStopThis"><l><option>this script</option></l></block></script><script><block s="doChangeVar"><l>turns</l><l>1</l></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="turns"/><l>9</l></list></block><script><block s="doSayFor"><l>Tie</l><l>2</l></block><block s="doStopThis"><l><option>this script</option></l></block></script><script><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block></script></block></script><script><block s="doSayFor"><l>Click a blank spot</l><l>2</l></block></script></block></script><script x="10.000000000000028" y="772.0000000000001"><block s="receiveGo"></block><block s="doSwitchToCostume"><l>Empty</l></block><block s="doWait"><l>.1</l></block><custom-block s="makeBoard"></custom-block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>board</l><block s="reportNewList"><list><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l></list></block></block><block s="doSetVar"><l>turns</l><l>0</l></block></script></scripts></sprite><watcher var="X&apos;s turn?" style="normal" x="4.999999999999904" y="4.999999999999995" color="243,118,29" hidden="true"/><watcher scope="Square" var="position number" style="normal" x="10.000000000000096" y="219.00000200000008" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="7.999999999999905" y="10.999999999999995" color="243,118,29" extX="80" extY="70.00000000000003"/><watcher var="turns" style="normal" x="10.000000000000096" y="240.00000399999996" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="X&apos;s turn?"><bool>true</bool></variable><variable name="board"><list struct="atomic" id="940">x,Empty,o,o,x,Empty,Empty,Empty,x</list></variable><variable name="turns"><l>4</l></variable></variables></scene></scenes></project><media name="Tic fav toe sub" app="Snap! 9.0, https://snap.berkeley.edu" version="2"><costume name="Empty" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAANKADAAQAAAABAAAANAAAAABdv+0DAAAAx0lEQVRoBe2asQ2DMAAErSglaUlNJmEWImYFRdnJATb4FCewzpLL18l3lJTS4Bm3N9UW7jC8vrc90PSeS6310ndZP6XrHvfjQfujWjk+6OwlLWQh2ICfHCw8xlkoVgYPLAQLj3EWipXBAwvBwmOchWJl8MBCsPAYZ6FYGTywECw8xlkoVgYPLAQLj3EWipXBAwvBwmOchWJl8MBCsPAYZ6FYGTywECw8xlkoVgYPLAQLj3EWipXBAwvBwv/CjduqiT8a+/65/gAgXfnWAcy/sAAAAABJRU5ErkJggg==" mediaID="Square_cst_Empty"/><costume name="X" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAANKADAAQAAAABAAAANAAAAABdv+0DAAACJUlEQVRoBe3aT0sCQRQA8Gd0EIT8AFaIn8JO9gE0kI7ln05BdMhblyLtWp0iqOwjRNCn2AjM/nuS/mjZN0i6tCMsSLizOzPvzc6GD4aR1R3fb+ex8HQjAJDM5fKbsVg0ar8OdfT7Pw+TtiDZ632UiuWVUIO+ep9w02i8MhCkUqnv9bXVUIOsq2sGgolQ19iI5MegERfFqEPcHXp77xiVLEvGKycuqFqtwdb2jjGox6dnmM9k4Pzi0jUnLuhgfw9arZYRKIbJZbOwtFyAxfyCHCgen4L66UngqGHMbo1fMdwdYpchaJQIhuXrCQoSJYrxDQoCJYMRAulEyWKEQTpQKhgpECVKFSMNokBhYJRAmCgsjDIIA4WJQQGpoLAxaCAZFAUGFSSCosKgg/ygKDEkIB6KGkMGGoXSgSEFDaOazSbMpdOD5syrn2HnqYSv9kHlCzrdLtzf3UIikVBZxve5pCCnzArFEliWpaXzJQM5GPYbACszXZ0vCegvxqkXHSh0kBtGFwoV5IXRgUID+cVQo1BAohhKlDJIFkOFUgKpYihQ0iAsDDZKCoSNwUQJg6gwWCghEDUGA+UbpAujivIF0o1RQXmCgsLIorigoDEyKC6oslHR0jY7ifPm4daD96fx4NEYt4XqZ3WYnZl2e1v7cQfFZrfg7pBJGAfAw7DPcEHOImGaxyDTd2twU2i329HDo2PTc+Xmxx4AZBGxR9IeZXv8h3j5BRxf4Dto8cI/AAAAAElFTkSuQmCC" mediaID="Square_cst_X"/><costume name="O" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAANKADAAQAAAABAAAANAAAAABdv+0DAAAE/UlEQVRoBe2aXUwUVxTHTxof2fXNhtA2EVlY25h2+Yi8WNYt1KRBrVYrlmqMski1jcpa0wctu9pEq4I1tsbCQz8UWIWKfPigKIo+uAouvtSvNTWFtrwK+j7e/9VpkJ07XzvLTKknmczu/Tj3/O49c/bOuUs0DcXPmKTpcM2enT34ChZo/YYgSZL0n76uxW5QRoZrBgcC1HSRl0BOX8kZVht4/kIfxeNDlLh/jy71XaSHD/9IGmLFylWUlZVF7/jyKbCwhN54/bWkNmYLLHG54ZG/aNfXYcrOnkNNjY3cllUVFXS5v18x0IRCIQ5zayhO/pISWvlxBf3W0WWWIamfn0U5FuSMy5/DI9LOXXUSC5fS3m8PSvhuRtpPd0ps1aSyskUSPpsRFuWkefPevgU6U0A//XLiX5BHj8bM2JDU51zvRQ6FCTY6OTKQYZcbGxunrdtC1HLiOLW0RumrHSGaOdOdtOxmCt4vDVBb2yny5OZxV8TzaFQMBQXAVAWrye1284GtAploNHRikjweD9VUB+lA/SH6aNmSiU1UP+sGkmG8Xi/t2R1WVWpFJSC8eR5aXF7O1emF0u1ytaHtPNROBYw8IW+9OZe6e3poxfKlFLs+IBer3nUBfX/0RxofH6dIuE5VWToqAcUiH32yuoLgJVqiCfT77Tv0xeYaCjOYdDwzWgaiHu62ZOmHVBeOaDbXBGpoOERHfjhGmCk7Bd7R1XlG0/VUgeC32L6sqVxtJwsfG95Ru30HNTU1qdqiChSNRrkSu1xtsuWYWEwwHgORCIGwPzv8XYMjVkc2HhNbXbOJotGTclHSXQjUd6mftmyttS0QJFn6vGBx+Qd0PRYTVZMQCDvhBe+WCDvaVYHg9OBBQuh2QiBEFPxSO1EQwu/eSyiaJgTCi5ndoVrRYlaY48ml0dFRxWpFIIRrvFU6VXJzPTQUv6loniIQWmJH7VRxu1xC04RAwh4Or/h/ALlcGTQyPOzYtfj7n1FyCdxOcYUQ3Xp7zzkWCBEOkU5JFIHQkGVgNHe2SgqnogwRLjMzU3EoIdD84mL243VfsZPdhdigFhXmK5ohBEJW82xPt2InOwuRCcrJ8QizrUKg0oCf2ttOEnbdTpKrV65QoLRMaJIQCFt1lhVluTfxVl2oNU0VyCl8syfC8gviXYwQCDYFg1XUeOyoruREmhheUHu8uZVPslpyXxUIHSs/XUMH6xteUGzHF7g+kjWYZDVRBUJHKGhmaV+9eTG1wVKpi0R2EzsQEAYDWbcmEFYJ6Vi9eTFZsZX3ffvreV7ws41BTbWaQNCAvBhcD3ltPck+zVENNMC5EZ5jvXlBXUAYHylg5LWnEgowX4a28XSw3pdN3UCTodRSSQYWQNgU6WejMFBmCAgdsFIFhUX8VODnX5tRZKkgmm2oqqauMx2GVkY2wjAQOuL8BoddOPTC4FZEQDybWBWcueLACwdfet1MhsHdFBA6Fs8v4oP68gt4BASYmYNfrAiimM/n43mCVE8FdR94AWKyYHv0+aaNPLva0dlN0dYW7vdIM+F9pbDg2Y54rjePJyzx3D1+/ITwgpZIJOjm4AC/EEEBgklKVVICkgcH2Lq1lfzCjA8MxrnBSKzjXAmbXAg7LaeFgff42yaAcbxvBYRsB+6WAE1UiB/i5L1WdGKTtH42/Qyl1aoUlL8ESmHypqyrn400Lf7ROGvWq7GnDxUGe9396PcAAAAASUVORK5CYII=" mediaID="Square_cst_O"/></media></snapdata>