<snapdata remixID="11167587"><project name="U3L1-Tic-Tac-Toe 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="U3L1-Tic-Tac-Toe 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 a block" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs></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="gotoXY"><l>-50</l><l>50</l></block><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><block s="gotoXY"><l>1000</l><l>1000</l></block></script></block-definition><block-definition s="make a tic toc 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="x wins?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l></l></block></script></block-definition><block-definition s="%&apos;x&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><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><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>1</l><block var="triple"/></block><block var="board"/></block><l>O</l></block><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></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></custom-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="720"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAABaAAAAAAHwbojAAAL30lEQVR4Ae3QMQEAAADCoPVPbQwfiEBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGPgMDI3+AAEeFvcCAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="721"></list></costumes><sounds><list struct="atomic" id="722"></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="2" color="80,80,80,1" pen="tip" id="727"><costumes><list id="728"><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="729"></list></sounds><blocks></blocks><variables><variable name="clone number"><l>0</l></variable></variables><scripts><script x="22" y="10"><block s="receiveGo"></block><block s="doSetVar"><l>clone number</l><l>0</l></block><custom-block s="make Tic Tac Toe board"></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>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>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><script x="239" y="25.133333333333297"><block s="clear"></block></script><script x="483" y="43"><custom-block s="make ONE row"></custom-block></script><script x="517" y="101.03333333333336"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doWearNextCostume"></block></script><script x="351" y="51.5333333333333"><block s="receiveOnClone"></block><block s="bubble"><block var="clone number"/></block></script><script x="27" y="251.36666666666667"><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="doReplaceInList"><block var="clone number"/><block var="board"/><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="doIf"><custom-block s="%s wins?"><l>x</l></custom-block><script><block s="doSayFor"><l>X- wins!</l><l>2</l></block></script></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="clone number"/><block var="board"/><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="doIf"><custom-block s="%s wins?"><l>o</l></custom-block><script><block s="doSayFor"><l>O- wins!</l><l>2</l></block></script></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="10" y="52.00000399999999" color="243,118,29" extX="80" extY="70"/><watcher var="winning triples" style="normal" x="10" y="166.00000799999998" color="243,118,29" extX="185.5615234375" extY="150"/></sprites></stage><variables><variable name="X&apos;s turn"><bool>true</bool></variable><variable name="x&apos;s turn?"><bool>false</bool></variable><variable name="board"><list struct="atomic" id="897">empty,empty,empty,empty,empty,empty,empty,empty,empty</list></variable><variable name="winning triples"><list id="898"><item><list struct="atomic" id="899">1,2,3</list></item><item><list struct="atomic" id="900">2,5,8</list></item><item><list struct="atomic" id="901">4,5,6</list></item><item><list struct="atomic" id="902">7,8,9</list></item><item><list struct="atomic" id="903">1,4,7</list></item><item><list struct="atomic" id="904">3,6,9</list></item><item><list struct="atomic" id="905">1,5,9</list></item><item><list struct="atomic" id="906">3,5,7</list></item></list></variable><variable name="triple"><l>0</l></variable></variables></scene></scenes></project><media name="U3L1-Tic-Tac-Toe 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>