<snapdata remixID="12160789"><project name="U3L1-Tic-Tac-Toe_galyukov" 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_galyukov"><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="makeBoard" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>position number</l><l>0</l></block><block s="gotoXY"><l>0</l><l>0</l></block><custom-block s="for %upvar = %n to %n %cs"><l>row</l><l>1</l><l>3</l><script><block s="setHeading"><l>90</l></block><block s="forward"><l>50</l></block><custom-block s="for %upvar = %n to %n %cs"><l>column</l><l>1</l><l>3</l><script><block s="doChangeVar"><l>position number</l><l>1</l></block><block s="setHeading"><l>180</l></block><block s="createClone"><l><option>myself</option></l></block><block s="forward"><l>50</l></block></script></custom-block><block s="forward"><l>-150</l></block></script></custom-block><block s="hide"></block></script></block-definition><block-definition s="possible winning tripples" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><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></script></block-definition><block-definition s="status" type="reporter" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l></l></block></script></block-definition><block-definition s="Status %&apos;triple&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="board"/></block></autolambda><list></list></block><block var="triple"/></block></block></script><scripts><script x="314.0029296875" y="77.66666666666663"><block var="triple"/></script></scripts></block-definition><block-definition s="win stats" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="Status %l"><block s="reportNewList"><list><l></l></list></block></custom-block></autolambda><list></list></block><custom-block s="possible winning tripples"></custom-block></block></block></script></block-definition><block-definition s="won? %&apos;letter&apos;" 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 s="reportMap"><block s="reifyReporter"><script></script><list></list></block><custom-block s="possible winning tripples"></custom-block></block><script></script></custom-block><block s="doReport"><l></l></block></script></block-definition><block-definition s="win? %&apos;X or Y&apos;" 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><l/><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><custom-block s="Status %l"><l/></custom-block></autolambda><list></list></block><list><custom-block s="possible winning tripples"></custom-block></list></custom-block></custom-block><block s="doIfElse"><block s="reportAnd"><block s="reportListContainsItem"><block var="item"/><l>X</l></block><block s="reportListContainsItem"><block var="item"/><l>O</l></block></block><script></script><script><block s="doIfElse"><block s="reportListContainsItem"><block var="item"/><l>Empty</l></block><script></script><script><block s="doIf"><block s="reportListContainsItem"><block var="item"/><block var="X or Y"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></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="789"><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="790"></list></costumes><sounds><list struct="atomic" id="791"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Square" idx="1" x="150" y="0" heading="180" scale="1" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="796"><costumes><list id="797"><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="798"></list></sounds><blocks></blocks><variables><variable name="position number"><l>9</l></variable></variables><scripts><script x="42" y="34"><block s="doWearNextCostume"></block></script><script x="434" y="84.73333333333335"><block s="show"></block><block s="gotoXY"><l>0</l><l>0</l></block></script><script x="447" y="155.56666666666672"><block s="hide"></block></script><script x="45" y="322"><block s="bubble"><l>I&apos;m the parent.</l></block><block s="doGlide"><l>1</l><block s="reportRandom"><l>-200</l><l>200</l></block><block s="reportRandom"><l>-150</l><l>150</l></block></block><block s="bubble"><l></l></block></script><script x="140" y="421"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><block var="board"/></block></autolambda><list></list></block><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></block></script><script x="140" y="26.73333333333335"><custom-block s="win stats"></custom-block></script><script x="50.39999999999998" y="148.33333333333337"><block s="receiveGo"><comment w="156.66666666666666" collapsed="false">Connect this to the script below it in For You To Do 5.</comment></block><block s="doSwitchToCostume"><l>Empty</l></block><block s="show"></block><custom-block s="makeBoard"></custom-block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l><comment w="90" collapsed="true">X plays first.</comment></block></block><block s="doSetVar"><l>board</l><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l><l>4</l><l>5</l><l>6</l><l>7</l><l>8</l><l>9</l></list></block></block></script><script x="142" y="67.56666666666669"><custom-block s="win? %s"><l>X</l></custom-block></script><script x="10" y="101.56666666666669"><custom-block s="Status %l"><custom-block s="possible winning tripples"></custom-block></custom-block></script><script x="252" y="14"><block s="receiveInteraction"><l><option>clicked</option></l><comment w="156" collapsed="false">This demonstration script will not be part of your actual project.</comment></block><block s="doIf"><block s="reportEquals"><block s="reportAttributeOf"><l><option>costume name</option></l><block s="reportGet"><l><option>self</option></l></block></block><l>Empty</l></block><script><block s="doIfElse"><block s="reportEquals"><block var="X&apos;s turn?"/><block s="reportBoolean"><l><bool>true</bool></l></block></block><script><block s="doSwitchToCostume"><l>X</l></block><block s="doReplaceInList"><block var="position number"/><block var="board"/><l>X</l></block><block s="createClone"><l><option>myself</option></l></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="position number"/><block var="board"/><l>O</l></block><block s="createClone"><l><option>myself</option></l></block></script></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportNot"><block var="X&apos;s turn?"/></block></block><block s="doSetVar"><l>position number</l><block s="reportVariadicSum"><list><block var="position number"/><l>1</l></list></block></block></script></block></script></scripts></sprite><watcher var="X&apos;s turn?" style="normal" x="5" y="5" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="10" y="10" color="243,118,29" extX="80" extY="70"/><watcher scope="Square" var="position number" style="normal" x="4" y="243.000002" color="243,118,29"/></sprites></stage><variables><variable name="X&apos;s turn?"><bool>false</bool></variable><variable name="board"><list struct="atomic" id="928">X,O,X,O,X,O,X,O,X</list></variable></variables></scene></scenes></project><media name="U3L1-Tic-Tac-Toe_galyukov" app="Snap! 7, 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>