<snapdata remixID="12128753"><project name="U3L1-Tic-Tac-Toe Setup" app="Snap! 8.2, 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="reportVariadicEquals"><list><block var="data"/><block s="reportNewList"><list></list></block></list></block></block></script></block-definition><block-definition s="keep items such that %&apos;pred&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></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="reportVariadicGreaterThan"><list><block var="start"/><block var="end"/></list></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportVariadicLessThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>step</l><l>1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doUntil"><block s="evaluate"><block var="tester"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></block></script></block-definition><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="words"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></list></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></list></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="words"/></block><block s="reportCDR"><block s="reportCDR"><block var="words"/></block></block></block></custom-block></block></script></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="show"></block><block s="doRepeat"><l>3</l><script><block s="doChangeVar"><l>clone num</l><l>1</l></block><block s="createClone"><l>Square</l></block><block s="changeXPosition"><l>50</l></block></script></block></script></block-definition><block-definition s="Tic tac toe board" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>clone num</l><l>0</l></block><custom-block s="for %upvar = %n to %n %cs"><l>i</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;letter&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>item</l><block var="winning triples"/><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><block s="reportListItem"><l>1</l><block var="item"/></block><block var="board"/></block><block var="letter"/></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><block s="reportListItem"><l>2</l><block var="item"/></block><block var="board"/></block><block var="letter"/></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><block s="reportListItem"><l>3</l><block var="item"/></block><block var="board"/></block><block var="letter"/></list></block></list></block></list></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><scripts><script x="568.671875" y="144.83333333333331"><block var="board"/></script><script x="542.3876953125" y="225.83333333333331"><block var="item"/></script><script x="523.041015625" y="181.16666666666669"><block var="winning triples"/></script><script x="503.041015625" y="77.33333333333331"><block var="winning triples"/></script><script x="474.6826171875" y="15.666666666666629"><block var="winning triples"/></script></scripts></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="684"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADoVJREFUeF7t1cEJAAAIxDDdf2m3sJ+4wEEQuuMIECBAgACBd4F9XzRIgAABAgQIjAB7AgIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECByxcQFpoRMBzwAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="685"></list></costumes><sounds><list struct="atomic" id="686"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Square" idx="1" x="-50" y="-100" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="691"><costumes><list id="692"><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="693"></list></sounds><blocks></blocks><variables><variable name="clone num"><l>9</l></variable></variables><scripts><script x="10" y="10"><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><block s="doSetVar"><l>X&apos;s turn</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>scoreboard</l><l>0</l></block><block s="doSwitchToCostume"><l>Empty</l></block><block s="gotoXY"><l>-50</l><l>50</l></block><custom-block s="Tic tac toe board"></custom-block><block s="hide"></block></script><script x="297" y="457.1333333333332"><custom-block s="Tic tac toe board"></custom-block><custom-block s="make ONE row"></custom-block></script><script x="480" y="132.5333333333333"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="getCostumeIdx"></block><l>1</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="X&apos;s turn"/><block s="reportBoolean"><l><bool>false</bool></l></block></list></block><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="doChangeVar"><l>scoreboard</l><l>1</l></block><block s="doReplaceInList"><block var="clone num"/><block var="board"/><l>o</l></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><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="doChangeVar"><l>scoreboard</l><l>1</l></block><block s="doReplaceInList"><block var="clone num"/><block var="board"/><l>x</l></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></block></script></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block var="scoreboard"/><l>9</l></list></block><block s="reportNot"><block s="reportVariadicOr"><list><custom-block s="%s wins?"><l>o</l></custom-block><custom-block s="%s wins?"><l>x</l></custom-block></list></block></block></list></block><script><block s="doSayFor"><l>Draw</l><l>2</l></block></script></block></script><script x="79" y="453.23333333333335"><block s="doRepeat"><l>3</l><script></script></block></script><script x="238" y="221.69999999999996"><block s="receiveOnClone"></block></script><script x="418.6630859375" y="777.0000000000006"><block s="doIf"><l/><script></script></block></script><script x="1008.3046874999998" y="396"><custom-block s="%s wins?"><l>o</l></custom-block></script><script x="780.0000000000002" y="752.8666666666667"><custom-block s="for each %upvar of %l %cs"><l>item</l><block var="board"/><script></script></custom-block></script><script x="62" y="701.2000000000002"><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><block var="board"/><block s="reportVariadicAnd"><list><custom-block s="%s wins?"><l>o</l></custom-block><custom-block s="%s wins?"><l>x</l></custom-block></list></block></block></block><script><block s="doSayFor"><l>Draw</l><l>2</l></block></script></block></script><script x="82.6630859375" y="594"><custom-block s="%s wins?"><l>o</l></custom-block></script><script x="231" y="160.5333333333333"><block s="bubble"><block var="clone num"/></block></script></scripts></sprite><watcher scope="Square" s="xPosition" style="normal" x="9.999999999999773" y="10.000000000000007" color="74,108,212" hidden="true"/><watcher scope="Square" s="yPosition" style="normal" x="9.999999999999773" y="31.000001999999995" color="74,108,212" hidden="true"/><watcher var="X&apos;s turn" style="normal" x="0.9999999999997726" y="27.00000399999999" color="243,118,29" hidden="true"/><watcher scope="Square" var="clone num" style="normal" x="9.999999999999773" y="73.00000599999998" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="9" y="102.00000799999998" color="243,118,29" extX="80" extY="70"/><watcher var="winning triples" style="normal" x="9.999999999999773" y="94.00000799999998" color="243,118,29" hidden="true"/><watcher var="scoreboard" style="normal" x="10" y="10" color="243,118,29"/></sprites></stage><variables><variable name="X&apos;s turn"><bool>false</bool></variable><variable name="board"><list struct="atomic" id="937">x,x,x,o,o,empty,x,o,empty</list></variable><variable name="winning triples"><list id="938"><item><list struct="atomic" id="939">1,2,3</list></item><item><list struct="atomic" id="940">4,5,6</list></item><item><list struct="atomic" id="941">7,8,9</list></item><item><list struct="atomic" id="942">1,4,7</list></item><item><list struct="atomic" id="943">2,5,8</list></item><item><list struct="atomic" id="944">3,6,9</list></item><item><list struct="atomic" id="945">1,5,9</list></item><item><list struct="atomic" id="946">3,5,7</list></item></list></variable><variable name="scoreboard"><l>7</l></variable></variables></scene></scenes></project><media name="U3L1-Tic-Tac-Toe Setup" app="Snap! 8.2, https://snap.berkeley.edu" version="2"><costume name="Empty" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAMdJREFUaEPtmsENglAQBZcm8EqsxFok36KM1sIVYjjYkYmJBbzLBH+G++SxMxwZqrNnqKpLVS093DVN5/170HVuy/Nx/+ub1u1Vt9beHnTUjBY6apnfe1nIQrABPzlYeDxnoVgZDFgIFh7PWShWBgMWgoXHcxaKlcGAhWDh8ZyFYmUwYCFYeDxnoVgZDFgIFh7PWShWBgMWgoXHcxaKlcGAhWDh8ZyFYmUwYCFYeDxnoVgZDFgIFh7PWShWBgN9F+rlj8ZxPG0fybadhnLD9WYAAAAASUVORK5CYII=" mediaID="Square_cst_Empty"/><costume name="X" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAgVJREFUaEPt2jtPwlAUB/DDBiERZ6KGkS9AYHQiBqkJ8QEoEIzI6nNwNOJmjN/CsDk6qpvGBBcfq69EHXEjLqYkNaJUzr33nN4WYWvSx/3df3vDP60PACKGkdkKBv1+8Piv1fq49gHAeCwWPy6VFz0Nent9gatG46ENymbzR/X64bCXAzq/uITdWm0Acm2I/zOhx6dnGBsdcVUqdmNCJbRUqUI4HIbazrYrUDe3d2Ck07C3fwDTmamOMaFAzeY7VJarEI1GtaMszEKh2HUsKJA5BW5A9cKY40SDdKMwGGGQLhQWIwVyGiWCkQY5hRLFKIG4UTIYZRAXShZDAqJGqWDIQFQoVQwpSBVFgSEHyaKoMCwgURQlhg2ERVFjWEG9UBwYdpAdigvjCOgnKpfLtsuZXZ/paGsSG0L1QeL8X4eYfapQLMHZ6QmsrK6xFUXHQOZtNplKQSAQgJnZOW+Dvj8zmxvrrHWePaFuCwBnnWcF/bWacaHYQJilmQPFAsJgrOWPGkUOEsFwoEhBMhhqFBlIBUOJIgFRYKhQyiBKDAVKCcSBUUVJgzgxKigpkBMYWZQwyEmMDEoIpAMjikKDdGJEUCiQGzBYFAqUTE5APJFga5mi1d76Q5vLz8u9NHbja30TFQoN/ZoLVEKiM6hz/wFI5+xjrt3fCfXbB4ARAChjYvXAPvefLoh8QmAwO/oAAAAASUVORK5CYII=" mediaID="Square_cst_X"/><costume name="O" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAABGBJREFUaEPtmktME1EUhv+ulcdKFwgiCtTHwhaMbhREQ4zgK2oUfMSoBSUuJEbjhlLKxiAVF8YHxcSoQPERH2BiiIrowgfQaiKIkmgEFd3x0DXmjLlJS2c6d2buFEQmabrovWfOd/4z5957phZMscsCIBtA21TgSk5O6ZKA9h9wtF2uq/2nmV6+6kCRw/F2GmiyyjitEK8yrY+ewO8PoO/jB7Q9eYzPnz+FTd22fQcSEhKw1GZHzuosJCXO4TWvOE6oQv0DX+H11qH++jVkZC6TPna7Ddb0NFln6ea9Hz7iTcCP+/fuSuN3FhRi65aNusGEAAWDFB0qQWHBDl3Rvn3nPnyNDRgeGkLx4RJdYIaBrlyth9vlBIEcLnYgLi5Wd3TZRErX6qoqJCYlobzcqSk4uoGGh0dQ7qpAT3c33JWVWLF8mWGQYANk/8IlL2ovnsfFWi9y1+Zw2dcFRDc76ChCbGwszniqhaii5C2l4fFjpTjtqeFKQc1ADMZqtaLS7eKKmtFB3T3vsSE/nwtKM9CBg0WIiYnB2RqPUT81zSeoJYsX4cXL1xHTWxPQufOX0P60DXXeWlPTTC39AoGA4v25gViE3nX3YPGihZqiK3Lw0dJjkjmlDOEGolSz2TNwpKRYpH+abdEzbLPZ0NDok009LiAaVFiwE5Gk1uyZgQmU+gF/F+SOOlxAJPOC1LQJV4fFgKnU3NISlv6qQLStmZuUiKGh4QkpBEpCnqry4Pev0bClQxWItja0eYx2mVbLSCpSpUdL0dr6MGSoKhCl28pVWVyrtJoTon9PSZmP8WmnCiQ3SbRjeu3JBVsVyGKxYGxsTO89TZ1H1Y6u4KUkIhD96PF4cPOGz1TH9BqnY0aTzxdSvlWBvF6vbL3X64TIeeT8eP+mgURG2KgtzQop1XqjjoiaT4e/58/aQ9bI/6vKUSRzc9eZ0jMQoRKdANbn5Ycs+qoKlTldmL8gFfv27hLhg1AbtOg/bW8P6QqpArFe2WRbi1irS/Nejrbq8fFx+NI/oKk/JlQKGWOUOTNmxuDkib8nWHapKkQDlSab7bSS/UhB5gKiM1F2VtakOrH+/DEo20bjAmIq0Xe0enFK6rADp9IjwA3EVFJqTkQr/ahUp6alhz07mp4hNpi1ZSeqWULH7q7Ojoh9QW6FGBQViN7e3qg3G1kw5Rojmqvc+HSKNhQvDPmpWaHxSrlc5aZ2UulUeqa6Kqx3oPTM6gYig5TT9P7G6XIL3xpREaqocGOgvx81Z2u4g2YIiEnsLCuT3rY5HA7DL75o0bxW3yipouetoGEgggp2YnXOmrAdME9JJ0UaGpskxcmG3uAIAWIOE9ide8140NIsldeNmzZLLeTMDLs0ZKE1Xeq+0sFxdPQXvn0fRF9fnzSWPrt270FeXp4hlYUCBStBEe/o9EsO038VRkZGcOtmkzRk3rwUSQV6ccaARb2jNQ2IJ83MGDMNZEZURdqc2gpNlX80zpo1+9UfMU6JpNqpaVIAAAAASUVORK5CYII=" mediaID="Square_cst_O"/></media></snapdata>