<snapdata remixID="11168006"><project name="2021 Tic Tac Toe 1.0 SETUP" app="Snap! 7, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="2021 Tic Tac Toe 1.0 SETUP"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="label %&apos;text&apos; of size %&apos;size&apos;" type="command" category="pen"><comment x="0" y="0" w="90" collapsed="false">LABEL will stamp text on the stage at the given font size. The direction of the text is the direction the sprite is facing, and color will match the pen color.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">Hello!</input><input type="%n">12</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>text</l><l>size</l></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    context = stage.penTrails().getContext(&apos;2d&apos;),&#xD;    rotation = radians(this.direction() - 90),&#xD;    trans = new Point(&#xD;      this.center().x - stage.left(),&#xD;      this.center().y - stage.top()&#xD;    ),&#xD;    isWarped = this.Warped,&#xD;    len,&#xD;    pos;&#xD;&#xD;if (isWarped) {endWarp(); }&#xD;context.save();&#xD;context.font = size + &apos;px monospace&apos;;&#xD;context.textAlign = &apos;left&apos;;&#xD;context.textBaseline = &apos;alphabetic&apos;;&#xD;context.fillStyle = this.color.toString();&#xD;len = context.measureText(text).width;&#xD;trans = trans.multiplyBy(1 / stage.scale);&#xD;context.translate(trans.x, trans.y);&#xD;context.rotate(rotation);&#xD;context.fillText(text, 0, 0);&#xD;context.translate(-trans.x, -trans.y);&#xD;context.restore();&#xD;pos = new Point(&#xD;  len * Math.sin(radians(this.direction())),&#xD;  len * Math.cos(radians(this.direction())));&#xD;pos = pos.add(new Point(this.xPosition(), this.yPosition()));&#xD;this.gotoXY(pos.x, pos.y, false);&#xD;this.changed();&#xD;if (isWarped) {this.startWarp(); }&#xD;stage.changed();</l></block><list><block var="text"/><block var="size"/></list></block></script></block-definition><block-definition s="map %&apos;function&apos; over %&apos;lists&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%mult%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>mapone</l><l>mapmany</l></list></block><block s="doSetVar"><l>mapone</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="evaluate"><block var="mapone"/><list><block s="reportCDR"><block var="data"/></block></list></block></block></block></script><list><l>data</l></list></block></block><block s="doSetVar"><l>mapmany</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportListItem"><l>1</l><block var="data lists"/></block></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></block><block s="evaluate"><block var="mapmany"/><list><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportCDR"><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></list></block></block></block></script><list><l>data lists</l></list></block></block><block s="doIfElse"><custom-block s="empty? %l"><block s="reportCDR"><block var="lists"/></block></custom-block><script><block s="doReport"><block s="evaluate"><block var="mapone"/><list><block s="reportListItem"><l>1</l><block var="lists"/></block></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="mapmany"/><list><block var="lists"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportEquals"><block var="data"/><block s="reportNewList"><list></list></block></block></block></script></block-definition><block-definition s="keep items such that %&apos;pred&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIfElse"><block s="evaluate"><block var="pred"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script><script><block s="doReport"><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block></script></block-definition><block-definition s="combine with %&apos;function&apos; items of %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="data"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="data"/></block></block></script></block><block s="doReport"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="combine with %repRing items of %l"><block var="function"/><block s="reportCDR"><block var="data"/></block></custom-block></list></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; then %&apos;true&apos; else %&apos;false&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%b"></input><input type="%anyUE"></input><input type="%anyUE"></input></inputs><script><block s="doIfElse"><block var="test"/><script><block s="doReport"><block s="evaluate"><block var="true"/><list></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="false"/><list></list></block></block></script></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>step</l><l>tester</l></list></block><block s="doIfElse"><block s="reportGreaterThan"><block var="start"/><block var="end"/></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportLessThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>step</l><l>1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportGreaterThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doUntil"><block s="evaluate"><block var="tester"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></block></script></block-definition><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="words"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="words"/></block><block s="reportCDR"><block s="reportCDR"><block var="words"/></block></block></block></custom-block></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="words"/></block><l> </l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></list></block></block></script></block></script><scripts><script x="229.00000300000002" y="196.77778077777774"><block s="reportJoinWords"><list><l></l><l></l></list></block></script></scripts></block-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></script></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doRun"><block var="action"/><list></list></block></script><list><l>cont</l></list></block></block><custom-block s="ignore %s"><l>3</l></custom-block></script></block-definition><block-definition s="throw %&apos;cont&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">catchtag</input></inputs><script><block s="doRun"><block var="cont"/><list></list></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;value&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doReport"><block s="evaluate"><block var="value"/><list></list></block></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;tag&apos; %&apos;value&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">catchtag</input><input type="%s"></input></inputs><script><block s="doRun"><block var="tag"/><list><block var="value"/></list></block></script></block-definition><block-definition s="for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%l"></input><input type="%cs"></input></inputs><script><block s="doUntil"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doRun"><block var="action"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>breakpoint</l></list></block><block s="doIf"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doSetVar"><l>breakpoint</l><block var="test"/></block><block s="doShowVar"><l>breakpoint</l></block><block s="doRun"><block var="action"/><list></list></block><block s="doPauseAll"></block><block s="doHideVar"><l></l></block></script></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="tell %&apos;sprite&apos; to %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%cs"></input></inputs><script><block s="doRun"><block s="reportAttributeOf"><block var="action"/><block var="sprite"/></block><list></list></block></script></block-definition><block-definition s="ask %&apos;sprite&apos; for %&apos;expression&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportAttributeOf"><block var="expression"/><block var="sprite"/></block><list></list></block></block></script></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block></script></block-definition><block-definition s="make ONE row" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRepeat"><l>3</l><script><block s="doChangeVar"><l>clone number</l><l>1</l></block><block s="createClone"><l><option>myself</option></l></block><block s="changeXPosition"><l>50</l></block></script></block></script></block-definition><block-definition s="make Tic Tac Toe 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><block s="gotoXY"><l>1000</l><l>1000</l></block></script></block-definition><block-definition s="when i start as a clone" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="x wins?" type="command" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doForEach"><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></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition><block-definition s="%&apos;x or o&apos; Wins?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><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>1</l><l>4</l><l>7</l></list></block><block s="reportNewList"><list><l>1</l><l>5</l><l>9</l></list></block><block s="reportNewList"><list><l>7</l><l>8</l><l>9</l></list></block><block s="reportNewList"><list><l>2</l><l>5</l><l>8</l></list></block><block s="reportNewList"><list><l>2</l><l>6</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="doForEach"><l>triple</l><block var="winning triples"/><script><block s="doIf"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>1</l><block var="triple"/></block><block var="board"/></block><block var="x or o"/></block><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>2</l><block var="triple"/></block><block var="board"/></block><block var="x or o"/></block><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>3</l><block var="triple"/></block><block var="board"/></block><block var="x or o"/></block></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition></blocks><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="true" hyperops="true" codify="false" inheritance="false" sublistIDs="false" id="767"><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="768"></list></costumes><sounds><list struct="atomic" id="769"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Square" idx="1" x="1000" y="1000.4347826086957" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" costume="1" color="80,80,80,1" pen="tip" id="774"><costumes><list id="775"><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="776"></list></sounds><blocks></blocks><variables><variable name="clone number"><l>9</l></variable></variables><scripts><script x="17" 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><custom-block s="make Tic Tac Toe board"></custom-block></script><comment x="556" y="23.46666666666664" w="90" collapsed="true">The Square sprite has 3 costumes:&#xD;EMPTY&#xD;X&#xD;O&#xD;</comment><script x="10.333333333333314" y="148.29999999999987"><custom-block s="make ONE row"></custom-block></script><script x="468" y="321.3666666666667"><custom-block s="%s Wins?"><l>x</l></custom-block></script><script x="309" y="140.6333333333345"><block s="receiveOnClone"></block><block s="doSayFor"><block var="clone number"/><l>2</l></block></script><script x="230" y="65.00000000000003"><block s="doSetVar"><l>board</l><block s="reportNewList"><list><l>x</l><l>empty</l><l>empty</l><l>o</l><l>x</l><l>empty</l><l>o</l><l>empty</l><l>x</l></list></block></block></script><script x="85" y="190.9666666666664"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportEquals"><block s="getCostumeIdx"></block><l>1</l></block><script><block s="doIfElse"><block s="reportEquals"><block var="X&apos;s turn?"/><block s="reportBoolean"><l><bool>true</bool></l></block></block><script><block s="doSwitchToCostume"><l>X</l></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doReplaceInList"><block var="clone number"/><block var="board"/><l>X</l></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doReplaceInList"><block var="clone number"/><block var="board"/><l>O</l></block></script></block></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="8" y="11.000005999999985" color="243,118,29" extX="80" extY="70"/><watcher var="X&apos;s turn?" style="normal" x="7" y="243.000004" color="243,118,29"/><watcher scope="Square" var="clone number" style="normal" x="6" y="276.000004" color="243,118,29"/><watcher var="winning triples" style="normal" x="10" y="52.00000399999999" color="243,118,29" extX="185.5615234375" extY="137"/><watcher var="triple" style="normal" x="10" y="212.00000599999998" color="243,118,29"/></sprites></stage><variables><variable name="X&apos;s turn?"><bool>true</bool></variable><variable name="board"><list struct="atomic" id="861">O,X,O,O,O,X,X,O,X</list></variable><variable name="winning triples"><list id="862"><item><list struct="atomic" id="863">1,2,3</list></item><item><list struct="atomic" id="864">1,4,7</list></item><item><list struct="atomic" id="865">1,5,9</list></item><item><list struct="atomic" id="866">7,8,9</list></item><item><list struct="atomic" id="867">2,5,8</list></item><item><list struct="atomic" id="868">2,6,9</list></item><item><list struct="atomic" id="869">3,5,7</list></item></list></variable><variable name="triple"><l>0</l></variable></variables></scene></scenes></project><media name="2021 Tic Tac Toe 1.0 SETUP" app="Snap! 7, https://snap.berkeley.edu" version="2"><costume name="Empty" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAMdJREFUaEPtmsENglAQBZcm8IyVWIvkW5TRWrhCDAc7MjGxgHeZ4M9wnzx2hiNDdfYMVXWpqqWHu6bpvH8Pus5teT7uf33Tur3q1trbg46a0UJHLfN7LwtZCDbgJwcLj+csFCuDAQvBwuM5C8XKYMBCsPB4zkKxMhiwECw8nrNQrAwGLAQLj+csFCuDAQvBwuM5C8XKYMBCsPB4zkKxMhiwECw8nrNQrAwGLAQLj+csFCuDAQvBwuM5C8XKYKDvQr380TiOp+0DG3CdiC+c+M0AAAAASUVORK5CYII=" 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+uFXClCwQDCtTHwhaNbhRBQ4zgK2oUfMSoBSUuIEbjhlLKxiAVF8YHxcSoQPERH2BiiIroQhBpNRFESSSCiu546BpzxtykpTOdOzN3CiKTNF303jPnO/+Zc+89Uwum2WUBsA5A63TgSkpK7pKADh12tF6trfmnmdo7OlHgcLybAZqqMs4oxKtMy5Nn8PsD6Pv0Ea3PnqK//3PY1J27diM+Ph7LbXZkZWYgMWE+r3nFcUIVGhj8Cq+3FnU3byB9xUrpY7fbYE1LlXWWbt778RPeBvx4+OC+NH5PXj52bN+iG0wIUDBIwdEi5Oft1hXtu/cewtdQj5HhYRQeK9IFZhjo2vU6uF1OEMixQgfi4mJ1R5dNpHStqqxEQmIiysqcmoKjG2hkZBRlrnL0dHfDXVGB1atWGgYJNkD2L13xoubyRVyu8SJ7QxaXfV1AdLMjjgLExsbinKdKiCpK3lIanjxRgrOeaq4U1AzEYKxWKyrcLq6oGR3U3fMBm3NzuaA0Ax0+UoCYmBicr/YY9VPTfIJatnQJXrW/jpjemoAuXLyCtuetqPXWmJpmaukXCAQU788NxCL0vrsHS5cs1hRdkYOLS05I5pQyhBuIUs1mT8fxokKR/mm2Rc+wzWZDfYNPNvW4gGhQft4eRJJas2cGJlDqB/xdkDvqcAGRzItSUiddHRYDplJTc3NY+qsC0bZmQWIChodHJqUQKAl5ptKD37/GwpYOVSDa2tDmMdplWi0jqUiVFJegpeVxyFBVIEq3NWszuFZpNSdE/56cvBAT004VSG6SaMf02pMLtiqQxWLB+Pi43nuaOo+qHV3BS0lEIPrR4/Hg9i2fqY7pNU7HjEafL6R8qwJ5vV7Zeq/XCZHzyPmJ/s0AiYywUVuaFVKq9UYdETWfDn8vX7SFrJH/V5WjSGZnbzSlZyBCJToBbMrJDVn0VRUqdbqwcFEKDh7YK8IHoTZo0X/e1hbSFVIFYr2yqbYWsVaX5r0cbdXnzInDl4FBTf0xoVLIGKPMmTU7BqdP/T3BsktVIRqoNNlsp5XsRwoyFxCdidZlZEypE+vPH0OybTQuIKYSfUerF6ekDjtwKj0C3EBMJaXmRLTSj0p1Smpa2LOj6Rlig1lbdrKaJXTs7nrTGbEvyK0Qg6IC0dvbG/VmIwumXGNEc5WbmE7RhuKFIT81KzRRKZerzNROKp1Kz1VVhvUOlJ5Z3UBkkHKa3t84XW7hWyMqQuXlbgwODKD6fDV30AwBMYmdpaXS2zaHw2H4xRctmjfqGiRV9LwVNAxEUMFOZGatD9sB85R0UqS+oVFSnGzoDY4QIOYwgd170IRHzU1Sed2ydZvUQl6RbpeGLLamSd1XOjiOjf3Ct+9D6Ovrk8bSZ+++/cjJyTGkslCgYCUo4p1v/JLD9F+F0dFR3LndKA1JSkqWVKAXZwxY1Dta04B40syMMTNAZkRVpM3prdB0+Ufj3LnzOv4AgvmJpmDgaCgAAAAASUVORK5CYII=" mediaID="Square_cst_O"/></media></snapdata>