<snapdata remixID="11049286"><project name="2021 Tic Tac Toe 1.0 SETUP" app="Snap! 7, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="2021 Tic Tac Toe 1.0 SETUP"><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></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 block" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="gotoXY"><l>-50</l><l>50</l></block><block s="doSwitchToCostume"><l>Empty</l></block><block s="doSetVar"><l>clone number</l><l>0</l></block><custom-block s="for %upvar = %n to %n %cs"><l>column</l><l>1</l><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></custom-block></script></block-definition><block-definition s="%&apos;X or O&apos; wins?" 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>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><block var="X or O"/></block><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>2</l><block var="triple"/></block><block var="board"/></block><block var="X or O"/></block><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>3</l><block var="triple"/></block><block var="board"/></block><block var="X or O"/></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="reportAnd"><block s="reportEquals"><block s="reportAnd"><custom-block s="%s wins?"><l>X</l></custom-block><custom-block s="%s wins?"><l>O</l></custom-block></block><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="reportEquals"><block s="reportListContainsItem"><block var="board"/><l>Empty</l></block><block s="reportBoolean"><l><bool>false</bool></l></block></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></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="705"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAABaAAAAAAHwbojAAAL30lEQVR4Ae3QMQEAAADCoPVPbQwfiEBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGPgMDI3+AAEeFvcCAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="706"></list></costumes><sounds><list struct="atomic" id="707"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><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="712"><costumes><list id="713"><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="714"></list></sounds><blocks></blocks><variables><variable name="clone number"><l>9</l></variable></variables><scripts><comment x="458" y="10" w="90" collapsed="false">The Square sprite has 3 costumes:&#xD;EMPTY&#xD;X&#xD;O&#xD;</comment><script x="10" y="31.73333333333335"><block s="receiveGo"></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>4</l><l>5</l><l>6</l></list></block><block s="reportNewList"><list><l>7</l><l>8</l><l>9</l></list></block><block s="reportNewList"><list><l>1</l><l>4</l><l>7</l></list></block><block s="reportNewList"><list><l>2</l><l>5</l><l>8</l></list></block><block s="reportNewList"><list><l>3</l><l>6</l><l>9</l></list></block><block s="reportNewList"><list><l>1</l><l>5</l><l>9</l></list></block><block s="reportNewList"><list><l>3</l><l>5</l><l>7</l></list></block></list></block></block><block s="doSetVar"><l>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><custom-block s="make tic tac toe block"></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></script><script x="287" y="187.73333333333323"><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></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></script></block><block s="doIf"><custom-block s="%s wins?"><l>O</l></custom-block><script><block s="doSayFor"><l>O wins Yay!</l><l>2</l></block></script></block><block s="doIf"><custom-block s="%s wins?"><l>X</l></custom-block><script><block s="doSayFor"><l>X Wins Yay!</l><l>2</l></block></script></block><block s="doIf"><custom-block s="draw?"></custom-block><script><block s="doSayFor"><l>Draw!</l><l>2</l></block></script></block></script></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="board" style="normal" x="5" y="30.000005999999985" color="243,118,29" extX="92" extY="178"/><watcher var="winning triples" style="normal" x="312" y="14.00000799999998" color="243,118,29" hidden="true"/><watcher var="X&apos;s turn?" style="normal" x="322" y="46.00000399999999" color="243,118,29" hidden="true"/><watcher scope="Square" var="clone number" style="normal" x="314" y="90.00000599999998" 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="881">X,Empty,Empty,Empty,O,Empty,Empty,Empty,Empty</list></variable><variable name="winning triples"><list id="882"><item><list struct="atomic" id="883">1,2,3</list></item><item><list struct="atomic" id="884">4,5,6</list></item><item><list struct="atomic" id="885">7,8,9</list></item><item><list struct="atomic" id="886">1,4,7</list></item><item><list struct="atomic" id="887">2,5,8</list></item><item><list struct="atomic" id="888">3,6,9</list></item><item><list struct="atomic" id="889">1,5,9</list></item><item><list struct="atomic" id="890">3,5,7</list></item></list></variable></variables></scene></scenes></project><media name="2021 Tic Tac Toe 1.0 SETUP" app="Snap! 7, 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>