<snapdata remixID="14002193"><project name="U3L1-TicTacToe" app="Snap! 10.1-dev, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="U3L1-TicTacToe"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><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"><block s="reportListIsEmpty"><block s="reportCDR"><block var="words"/></block></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script><list></list></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><list></list></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><list></list></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="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="makeBoard" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="show"></block><block s="doSetVar"><l>position number</l><l>1</l></block><block s="doFor"><l>row</l><l>1</l><l>3</l><script><block s="doFor"><l>column</l><l>1</l><l>3</l><script><block s="createClone"><l><option>myself</option></l></block><block s="changeXPosition"><l>50</l></block><block s="doChangeVar"><l>position number</l><l>1</l></block></script></block><block s="changeXPosition"><l>-150</l></block><block s="changeYPosition"><l>50</l></block></script></block><block s="hide"></block></script></block-definition><block-definition s="win or tie?" type="command" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><custom-block s="won? %s"><l>X</l></custom-block><script><block s="doBroadcast"><l>x win</l><list></list></block><block s="doSetVar"><l>playing?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doIfElse"><custom-block s="won? %s"><l>O</l></custom-block><script><block s="doBroadcast"><l>o win</l><list></list></block><block s="doSetVar"><l>playing?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doIf"><custom-block s="tie?"></custom-block><script><block s="doBroadcast"><l>tie</l><list></list></block><block s="doSetVar"><l>playing?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block></script></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><block s="doDeclareVariables"><list><l>opposite letter</l><l>blankCHECK</l><l>blankFINAL</l></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="letter"/><l>X</l></list></block><script><block s="doSetVar"><l>opposite letter</l><l>O</l></block></script><script><block s="doSetVar"><l>opposite letter</l><l>X</l></block></script></block><block s="doForEach"><l>item</l><custom-block s="status of all winning triples"></custom-block><script><block s="doSetVar"><l>blankCHECK</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>blankFINAL</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doFor"><l>i</l><l>1</l><l>9</l><script><block s="doSetVar"><l>blankCHECK</l><block s="reportListContainsItem"><block var="item"/><block var="i"/></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="blankCHECK"/><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><script><block s="doSetVar"><l>blankFINAL</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportListContainsItem"><block var="item"/><block var="letter"/></block><block s="reportVariadicAnd"><list><block s="reportNot"><block s="reportListContainsItem"><block var="item"/><block var="opposite letter"/></block></block><block s="reportNot"><block var="blankFINAL"/></block></list></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list><l><bool>false</bool></l><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></list></block></script></block></script></block-definition><block-definition s="status of all winning triples (2)" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs></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><custom-block s="possible winning triples"></custom-block></block></block></script></block-definition><block-definition s="possible winning triples" 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="tie?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportListIsEmpty"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l>e</l><l></l></list></block></autolambda><list></list></block><block var="board"/></block></block></block></script></block-definition><block-definition s="possible winning triples (2)" type="reporter" category="variables"><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 of all winning triples" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>massive list</l></list></block><block s="doSetVar"><l>massive list</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><custom-block s="possible winning triples"></custom-block><script><block s="doAddToList"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="board"/></block></autolambda><list></list></block><block var="item"/></block><block var="massive list"/></block></script></block><block s="doReport"><block var="massive list"/></block></script></block-definition></blocks><primitives></primitives><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="483"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADo1JREFUeF7t1cEJACAMBEFtJP13qWAR7mfSwMEQ2D0zZzkCBAgQIEDgq8AW4K/exggQIECAwBMQYI9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgAABAfYDBAgQIEAgEBDgAN0kAQIECBAQYD9AgAABAgQCAQEO0E0SIECAAAEB9gMECBAgQCAQEOAA3SQBAgQIEBBgP0CAAAECBAIBAQ7QTRIgQIAAAQH2AwQIECBAIBAQ4ADdJAECBAgQEGA/QIAAAQIEAgEBDtBNEiBAgACBC+JT5qAuCIONAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="484"></list></costumes><sounds><list struct="atomic" id="485"></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="true" hidden="true" costume="1" color="30,30,30,1" pen="tip" id="490"><costumes><list id="491"><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="492"></list></sounds><blocks></blocks><variables><variable name="position number"><l>10</l></variable></variables><scripts><script x="10" y="71.66666666666663"><block s="doWearNextCostume"></block></script><script x="74.73333333333335" y="143.66666666666654"><block s="receiveGo"><comment w="156.66666666666666" collapsed="true">Connect this to the script below it in For You To Do 5.</comment></block><block s="gotoXY"><l>-50</l><l>-50</l></block><block s="doSwitchToCostume"><l>Empty</l></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></script><script x="426" y="81.66666666666663"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportAttributeOf"><l><option>costume name</option></l><block s="reportGet"><l><option>self</option></l></block></block><l>empty</l></list></block><script><block s="doIfElse"><block var="X&apos;s turn?"/><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></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></script></block></script><list></list></block></script><script x="209" y="10"><block s="receiveGo"></block><block s="removeClone"></block></script><script x="72" y="291.0000000000001"><block s="doSetVar"><l>board</l><block s="reportNumbers"><l>1</l><l>9</l></block></block></script><script x="66.1259765625" y="335.0000000000001"><block s="reportNewList"><list><l>3</l><l>5</l><l>7</l></list></block></script><script x="165" y="336.66666666666663"><block s="reportNewList"><list><l>1</l><l>4</l><l>7</l></list></block></script><script x="264" y="335.66666666666663"><block s="reportNewList"><list><l>7</l><l>8</l><l>9</l></list></block></script><script x="69.5078125" y="364.79999999999995"><block s="reportNewList"><list><l>3</l><l>6</l><l>9</l></list></block></script><script x="169" y="367.66666666666663"><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></script><script x="272" y="368.66666666666663"><block s="reportNewList"><list><l>2</l><l>5</l><l>8</l></list></block></script><script x="66" y="395.66666666666663"><block s="reportNewList"><list><l>1</l><l>5</l><l>9</l></list></block></script><script x="180" y="398.66666666666663"><block s="reportNewList"><list><l>4</l><l>5</l><l>6</l></list></block></script><script x="432" y="340.66666666666674"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doSetVar"><l>turns</l><block s="reportVariadicSum"><list><block var="turns"/><l>1</l></list></block></block><block s="doIfElse"><block var="X&apos;s turn?"/><script><block s="doSwitchToCostume"><l>X</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="position number"/><block var="board"/><l>X</l></block><block s="doIf"><custom-block s="won? %s"><l>X</l></custom-block><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doSayFor"><l>X Wins</l><l>2</l></block></script><list></list></block><list></list></block><block s="doStopThis"><l><option>this script</option></l></block></script><list></list></block></script><script><block s="doSwitchToCostume"><l>O</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="position number"/><block var="board"/><l>O</l></block><block s="doIf"><custom-block s="won? %s"><l>O</l></custom-block><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doSayFor"><l>O Wins</l><l>2</l></block></script><list></list></block><list></list></block><block s="doStopThis"><l><option>this script</option></l></block></script><list></list></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="turns"/><l>9</l></list></block><script><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><block s="doSayFor"><l>It&apos;s a Tie!</l><l>2</l></block></script><list></list></block><list></list></block></script><list></list></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 var="row" style="normal" x="10" y="31.000001999999995" color="243,118,29" hidden="true"/><watcher scope="Square" var="position number" style="normal" x="10" y="52.00000399999999" color="243,118,29" hidden="true"/><watcher var="turns" style="normal" x="10" y="73.00000599999998" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="X&apos;s turn?"><bool>false</bool></variable><variable name="board"><list struct="atomic" id="717">O,X,X,O,X,O,O,O,X</list></variable><variable name="row"><l>0</l></variable><variable name="playing?"><bool>true</bool></variable><variable name="turns"><l>34</l></variable></variables></scene></scenes></project><media name="U3L1-TicTacToe" app="Snap! 10.1-dev, https://snap.berkeley.edu" version="2"><costume name="Empty" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAMdJREFUaEPtmrENgmAUBh9TYEfBIs6i4lAEZ6GVGAs3MjFxgK+5wJ+jv3y8O0q6auzpqupcVWsLdw3D+P4ddLlO62OZD33Tc3vVdLt/PGivGS201zL/97KQhWADfnKw8HjOQrEyGLAQLDyes1CsDAYsBAuP5ywUK4MBC8HC4zkLxcpgwEKw8HjOQrEyGLAQLDyes1CsDAYsBAuP5ywUK4MBC8HC4zkLxcpgwEKw8HjOQrEyGLAQLDyes1CsDAbaLtTKH419f9q+t56dV83eYNkAAAAASUVORK5CYII=" mediaID="Square_cst_Empty"/><costume name="X" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAgVJREFUaEPt2rtOAkEUBuBDpTRgTdRQ8gRIaUUMoIk3RAQlEWm9FpYG7IzxKSyoLC3VTmPUxkvrLVFLLOhMzJJgREHOnDlnZxeh22Qv882/O+HPrgcAgvH4xKbP19MLLv9Vqx/XHgAYDocjh9mFnKtBb68vcHV58VADJZPpg3J5v8/NAZ2encN2qdgFOTbE/5nQ49MzDA70OyqVVmNCJbSYL0AgEIBSccsRqJvbOxhNJGBndw8mx8caxoQCVSrvkF8qQCgUMo6qY+Yy2aZjQYGsKXACqh3GGicaZBqFwSiDTKGwGBLIbpQKhgyyC6WK0QJJoygYbZAUiophAXGjdDBsIC6ULoYVpIviwLCDqCgujAhIFcWJEQNhUdwYUVA7lARGHNQKJYWxBfQTlUrN1MpZqz7T0NYIG0r1gXD+r0OsPpXJzsPJ8REsr6yKFUXbQNZtFo/FwOv1wtR00t2g78/MxvqaaJ0XT6jZAiBZ50VBf61mUigxEGZplkCJgDCY+vLHjWIHqWAkUKwgCoYbxQbSwXCiWEAcGC6UNogTw4HSAklgdFFkkCRGB0UC2YGhopRBdmIoKCWQCYwqCg0yiVFBoUBOwGBRKFA0OgJDkYhYy1St9vU/tKnZNO2lsRNf61sov9/3ay5QCanOoMn9uyCTs4+5dmcn1GkfAAYBIIeJ1QX73H8CynJ8DoPjGXcAAAAASUVORK5CYII=" mediaID="Square_cst_X"/><costume name="O" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAABGBJREFUaEPtmktME1EUhv+uFXCnCQIRBOpjYYtGN4qiIUbwFTUKPmKUghIXEKNxQyllY5ACC+ODYmJUoPiIDzAxREV04QNpNRFESDSCzx0PXWPOmJu0dKZzZ+ZOQWSSpovee+Z85z9z7r1nasE0uywA1gLomA5cSUkp3RLQocOOjksN9f8004uXXXAUFL6dAZqqMs4oxKtM+8PH8PsDGOj/gI7Hj/Dp08ewqTt37UZ8fDyW2ezIWpeJxIT5vOYVxwlVaHDoC7zeBjReu4qM5Sukj91ugzU9TdZZunnfh368Cfhx7+4dafyevHzs2L5FN5gQoGCQwiPFyM/brSvat27fg6+5CSPDwyg6WqwLzDDQ5SuNcLucIJCjRQ7ExcXqji6bSOlaXVWFhMRElJc7NQVHN9DIyCjKXRXo7emBu7ISq1auMAwSbIDsn7/oRf2Fc7hQ70X2hiwu+7qA6GYFjkLExsaixlMtRBUlbykNTxwvxRlPLVcKagZiMFarFZVuF1fUjA7q6X2Pzbm5XFCagQ4XFCImJgZ1tR6jfmqaT1BLlyzG8xevIqa3JqCz5y6i80kHGrz1pqaZWvoFAgHF+3MDsQi96+nFksWLNEVX5OCS0uOSOaUM4QaiVLPZM3CsuEikf5pt0TNss9nQ1OyTTT0uIBqUn7cHkaTW7JmBCZT6AX835I46XEAk88LUtElXh8WAqdTa1haW/qpAtK1JSkzA8PDIpBQCJSFPV3nw+9dY2NKhCkRbG9o8RrtMq2UkFanSklK0tz8IGaoKROm2ek0m1yqt5oTo35OTUzAx7VSB5CaJdkyvPblgqwJZLBaMj4/rvaep86ja0RW8lEQEoh89Hg9uXPeZ6phe43TMaPH5Qsq3KpDX65Wt93qdEDmPnJ/o3wyQyAgbtaVZIaVab9QRUfPp8PfsaWfIGvl/VTmKZHb2RlN6BiJUohPAppzckEVfVaEypwspC1Nx8MBeET4ItUGL/pPOzpCukCoQ65VNtbWItbo07+Voqz5nThw+Dw5p6o8JlULGGGXOrNkxOHXy7wmWXaoK0UClyWY7rWQ/UpC5gOhMtDYzc0qdWH/++C7bRuMCYirRd7R6cUrqsAOn0iPADcRUUmpORCv9qFSnpqWHPTuaniE2mLVlJ6tZQsfu7tddEfuC3AoxKCoQfX19UW82smDKNUY0V7mJ6RRtKF4Y8lOzQhOVcrnKTe2k0qm0proqrHeg9MzqBiKDlNP0/sbpcgvfGlERqqhwY2hwELV1tdxBMwTEJHaWlUlv2xwOh+EXX7RoXm1sllTR81bQMBBBBTuxLmt92A6Yp6STIk3NLZLiZENvcIQAMYcJ7PbdVtxva5XK65at26QW8vIMuzRkkTVd6r7SwXFs7Be+fvuOgYEBaSx99u7bj5ycHEMqCwUKVoIi3vXaLzlM/1UYHR3FzRst0pAFC5IlFejFGQMW9Y7WNCCeNDNjzAyQGVEVaXN6KzRd/tE4d+68l38AHzaJdYJvYYIAAAAASUVORK5CYII=" mediaID="Square_cst_O"/></media></snapdata>