<snapdata remixID="14028922"><project name="U3L3-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="U3L3-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="doSetVar"><l>position number</l><l>0</l></block><block s="doRepeat"><l>3</l><script><block s="doRepeat"><l>3</l><script><block s="doChangeVar"><l>position number</l><l>1</l></block><block s="createClone"><l><option>myself</option></l></block><block s="forward"><l>50</l></block></script></block><block s="changeXPosition"><l>-150</l></block><block s="changeYPosition"><l>-50</l></block></script></block><block s="gotoXY"><l>-300</l><l>0</l></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></list></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition><block-definition s="Status of all winning triples" 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="best moves" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l>e</l><block s="reportListItem"><l></l><block var="board"/></block></list></block></autolambda><list></list></block><block s="reportNewList"><list><l>5</l><l>1</l><l>3</l><l>7</l><l>9</l><l>2</l><l>3</l><l>6</l><l>8</l></list></block></block></block></block></script></block-definition><block-definition s="Possible Winning Triples" 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="512"><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="513"></list></costumes><sounds><list struct="atomic" id="514"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Square" idx="1" x="0" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="3" color="80,80,80,1" pen="tip" id="519"><costumes><list id="520"><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="521"></list></sounds><blocks></blocks><variables><variable name="position #"><l>10</l></variable><variable name="position number"><l>9</l></variable></variables><scripts><script x="10" y="33.00000000000003"><block s="receiveGo"></block><block s="removeClone"></block></script><script x="13" y="116.99999999999997"><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="doSetVar"><l>turns</l><l>0</l></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><block s="doWait"><l>0.1</l></block><block s="show"></block><block s="doSwitchToCostume"><l>Empty</l></block><custom-block s="makeBoard"></custom-block><block s="hide"></block><block s="gotoXY"><l>0</l><l>0</l><comment w="90" collapsed="true">Click this to make parent square visible, then activate makeBoard</comment></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="345.0000000000001" y="10"><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>false</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>Sprite(2)</l><block s="reifyScript"><script><block s="doSayFor"><l>The winner is Player X!</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>true</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>Sprite(2)</l><block s="reifyScript"><script><block s="doSayFor"><l>The winner is Player O!</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>The game ends in 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"/><watcher var="Possible Winning Triples" style="normal" x="10" y="103.000002" color="243,118,29" hidden="true"/><watcher var="turns" style="normal" x="8" y="129.000004" color="243,118,29"/><watcher var="board" style="normal" x="7" y="30" color="243,118,29" extX="80" extY="70"/></sprites></stage><variables><variable name="X&apos;s turn?"><bool>true</bool></variable><variable name="board"><list struct="atomic" id="674">O,O,O,X,X,O,X,X,O</list></variable><variable name="playing?"><bool>true</bool></variable><variable name="Possible Winning Triples"><l>0</l></variable><variable name="turns"><l>12</l></variable></variables></scene></scenes></project><media name="U3L3-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>