<snapdata remixID="11207843"><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 ONE now" 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 ONE row" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRepeat"><l>3</l><script><block s="createClone"><l><option>myself</option></l></block><block s="setXPosition"><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>0</l><l>0</l></block><block s="doRepeat"><l>3</l><script><custom-block s="make ONE now"></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="%&apos;x&apos; wins?" type="command" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="%&apos;x&apos; wins? (2)" type="command" 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"><l/><script></script></block></script></custom-block></script></block-definition><block-definition s="%&apos;x&apos; wins? (2) (3)" 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="725"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAC99JREFUeAHt0DEBAAAAwqD1T20MH4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBj4DAyN/gABHhb3AgAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="726"></list></costumes><sounds><list struct="atomic" id="727"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Square" idx="1" x="-50" y="50" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" costume="2" color="80,80,80,1" pen="tip" id="732"><costumes><list id="733"><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="734"></list></sounds><blocks></blocks><variables></variables><scripts><script x="18" y="10"><block s="receiveGo"></block><block s="doSetVar"><l>clone number</l><l>0</l></block><block s="gotoXY"><l>-50</l><l>50</l></block><block s="doSetVar"><l>x 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><block s="reportBoolean"><l><bool>true</bool></l></block><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="18" y="261"><block s="reportLessThan"><l></l><l></l></block></script><script x="18" y="294"><block s="clear"></block></script><script x="18" y="329.83333333333337"><custom-block s="%s wins?"><l></l></custom-block></script><script x="18" y="368.83333333333337"><custom-block s="for each %upvar of %l %cs"><l>triple</l><l/><block s="reportListItem"><l>1</l><l/></block></custom-block></script><script x="18" y="412.66666666666674"><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 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></l></block><block s="doSetVar"><l>x turn</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doIf"><custom-block s="%s wins? (2) (3)"><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 turn</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doIf"><custom-block s="%s wins? (2) (3)"><l>x</l></custom-block><script><block s="doSayFor"><l>O-wins!</l><l>2</l></block></script></block></script></block></script></block></script><script x="18" y="810.8333333333335"><custom-block s="%s wins?"><l></l></custom-block></script><script x="18" y="887.6666666666667"><block s="reportListItem"><l>1</l><l/></block></script><script x="18" y="920.6666666666667"><block var="triple"/></script><script x="469" y="707.0000000000002"><block s="doReport"><l></l></block></script><script x="454" y="846.0000000000002"><custom-block s="make ONE now"></custom-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="clone number" style="normal" x="10" y="52.00000399999999" color="243,118,29"/><watcher var="x turn" style="normal" x="10" y="73.00000599999998" color="243,118,29"/><watcher var="winning triples" style="normal" x="9" y="163.00000999999997" color="243,118,29" extX="185.5615234375" extY="150"/><watcher var="board" style="normal" x="6" y="215.00000799999998" color="243,118,29" extX="80" extY="70"/></sprites></stage><variables><variable name="clone number"><l>0</l></variable><variable name="x turn"><bool>true</bool></variable><variable name="board"><list id="921"><item><l>empty</l></item><item><l>empty</l></item><item><l>empty</l></item><item><l>empty</l></item><item><l>empty</l></item><item><l>empty</l></item><item><l>empty</l></item><item><bool>true</bool></item><item><l>empty</l></item></list></variable><variable name="winning triples"><list id="922"><item><list struct="atomic" id="923">1,2,3</list></item><item><list struct="atomic" id="924">2,5,8</list></item><item><list struct="atomic" id="925">4,5,6</list></item><item><list struct="atomic" id="926">7,8,9</list></item><item><list struct="atomic" id="927">1,4,7</list></item><item><list struct="atomic" id="928">3,6,9</list></item><item><list struct="atomic" id="929">1,5,9</list></item><item><list struct="atomic" id="930">3,5,7</list></item></list></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,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAMdJREFUaAXtmrENgzAABK0oJWlJTSZhFiJmBUXZyQE2+BQnsM6Sy9fJd5SU0uAZtzfVFu4wvL63PdD0nkut9dJ3WT+l6x7340H7o1o5PujsJS1kIdiAnxwsPMZZKFYGDywEC49xFoqVwQMLwcJjnIViZfDAQrDwGGehWBk8sBAsPMZZKFYGDywEC49xFoqVwQMLwcJjnIViZfDAQrDwGGehWBk8sBAsPMZZKFYGDywEC49xFoqVwQMLwcL/wo3bqok/Gvv+uf4AIF351gHMv7AAAAAASUVORK5CYII=" mediaID="Square_cst_Empty"/><costume name="X" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAiVJREFUaAXt2k9LAkEUAPBndBCE/ABWiJ/CTvYBNJCO5Z9OQXTIW5ci7VqdIqjsI0TQp9gIzP57kv5o2TdIurQjLEi4szsz783Ohg+GkdUd32/nsfB0IwCQzOXym7FYNGq/DnX0+z8Pk7Yg2et9lIrllVCDvnqfcNNovDIQpFKp7/W11VCDrKtrBoKJUNfYiOTHoBEXxahD3B16e+8YlSxLxisnLqharcHW9o4xqMenZ5jPZOD84tI1Jy7oYH8PWq2WESiGyWWzsLRcgMX8ghwoHp+C+ulJ4KhhzG6NXzHcHWKXIWiUCIbl6wkKEiWK8Q0KAiWDEQLpRMlihEE6UCoYKRAlShUjDaJAYWCUQJgoLIwyCAOFiUEBqaCwMWggGRQFBhUkgqLCoIP8oCgxJCAeihpDBhqF0oEhBQ2jms0mzKXTg+bMq59h56mEr/ZB5Qs63S7c391CIpFQWcb3uaQgp8wKxRJYlqWl8yUDORj2GwArM12dLwnoL8apFx0odJAbRhcKFeSF0YFCA/nFUKNQQKIYSpQySBZDhVICqWIoUNIgLAw2SgqEjcFECYOoMFgoIRA1BgPlG6QLo4ryBdKNUUF5goLCyKK4oKAxMiguqLJR0dI2O4nz5uHWg/en8eDRGLeF6md1mJ2Zdntb+3EHxWa34O6QSRgHwMOwz3BBziJhmscg03drcFNot9vRw6Nj03Pl5sceAGQRsUfSHmV7/Id4+QUcX+A7aPHCPwAAAABJRU5ErkJggg==" mediaID="Square_cst_X"/><costume name="O" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAABP1JREFUaAXtml1MFFcUx08aH9n1zYbQNhFZWNuYdvmIvFjWLdSkQa1WK5ZqjLJItY3KWtMHLbvaRKuCNbbGwkM/FFiFinz4oCiKPrgKLr7UrzU1hba8Cvo+3v/VaZCdO187y0ypJ5nM7v049/zuPXP2zrlLNA3Fz5ik6XDNnp09+AoWaP2GIEmS9J++rsVuUEaGawYHAtR0kZdATl/JGVYbeP5CH8XjQ5S4f48u9V2khw//SBpixcpVlJWVRe/48imwsITeeP21pDZmCyxxueGRv2jX12HKzp5DTY2N3JZVFRV0ub9fMdCEQiEOc2soTv6SElr5cQX91tFlliGpn59FORbkjMufwyPSzl11EguX0t5vD0r4bkbaT3dKbNWksrJFEj6bERblpHnz3r4FOlNAP/1y4l+QR4/GzNiQ1Odc70UOhQk2OjkykGGXGxsbp63bQtRy4ji1tEbpqx0hmjnTnbTsZgreLw1QW9sp8uTmcVfE82hUDAUFwFQFq8ntdvOBrQKZaDR0YpI8Hg/VVAfpQP0h+mjZkolNVD/rBpJhvF4v7dkdVlVqRSUgvHkeWlxeztXphdLtcrWh7TzUTgWMPCFvvTmXunt6aMXypRS7PiAXq951AX1/9EcaHx+nSLhOVVk6KgHFIh99srqC4CVaogn0++079MXmGgozmHQ8M1oGoh7utmTph1QXjmg21wRqaDhER344RpgpOwXe0dV5RtP1VIHgt9i+rKlcbScLHxveUbt9BzU1NanaogoUjUa5ErtcbbLlmFhMMB4DkQiBsD87/F2DI1ZHNh4TW12ziaLRk3JR0l0I1Hepn7ZsrbUtECRZ+rxgcfkHdD0WE1WTEAg74QXvlgg72lWB4PTgQULodkIgRBT8UjtREMLv3ksomiYEwouZ3aFa0WJWmOPJpdHRUcVqRSCEa7xVOlVycz00FL+paJ4iEFpiR+1UcbtcQtOEQMIeDq/4fwC5XBk0Mjzs2LX4+59RcgncTnGFEN16e885FggRDpFOSRSB0JBlYDR3tkoKp6IMES4zM1NxKCHQ/OJi9uN1X7GT3YXYoBYV5iuaIQRCVvNsT7diJzsLkQnKyfEIs61CoNKAn9rbThJ23U6Sq1euUKC0TGiSEAhbdZYVZbk38VZdqDVNFcgpfLMnwvIL4l2MEAg2BYNV1HjsqK7kRJoYXlB7vLmVT7Jacl8VCB0rP11DB+sbXlBsxxe4PpI1mGQ1UQVCRyhoZmlfvXkxtcFSqYtEdhM7EBAGA1m3JhBWCelYvXkxWbGV933763le8LONQU21mkDQgLwYXA95bT3JPs1RDTTAuRGeY715QV1AGB8pYOS1pxIKMF+GtvF0sN6XTd1Ak6HUUkkGFkDYFOlnozBQZggIHbBSBYVF/FTg51+bUWSpIJptqKqmrjMdhlZGNsIwEDri/AaHXTj0wuBWREA8m1gVnLniwAsHX3rdTIbB3RQQOhbPL+KD+vILeAQEmJmDX6wIopjP5+N5glRPBXUfeAFismB79PmmjTy72tHZTdHWFu73SDPhfaWw4NmOeK43jycs8dw9fvyE8IKWSCTo5uAAvxBBAYJJSlVSApIHB9i6tZX8wowPDMa5wUis41wJm1wIOy2nhYH3+NsmgHG8bwWEbAfulgBNVIgf4uS9VnRik7R+Nv0MpdWqFJS/BEph8qasq5+NNC3+0Thr1quxpw8VBnvd/ej3AAAAAElFTkSuQmCC" mediaID="Square_cst_O"/></media></snapdata>