<snapdata remixID="11776707"><project name="U3L3-Tic-Tac-Toe" 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="U3L3-Tic-Tac-Toe"><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="errorObsolete"></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="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="doFor"><l>rows</l><l>1</l><l>3</l><script><block s="doFor"><l>columns</l><l>1</l><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="changeXPosition"><l>50</l></block></script></block><block s="changeXPosition"><l>-150</l></block><block s="changeYPosition"><l>-50</l></block></script></block></script></block-definition><block-definition s="x and o" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><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="doIf"><block s="reportEquals"><block s="reportAttributeOf"><l><option>costume name</option></l><block s="reportObject"><l><option>myself</option></l></block></block><l>Empty</l></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><comment w="90" collapsed="true">X plays first.</comment></block></block></script></block></script><script><block s="doIf"><block s="reportEquals"><block var="X&apos;s turn?"/><block s="reportBoolean"><l><bool>false</bool></l></block></block><script><block s="doIf"><block s="reportEquals"><block s="reportAttributeOf"><l><option>costume name</option></l><block s="reportObject"><l><option>myself</option></l></block></block><l>Empty</l></block><script><block s="doSwitchToCostume"><l>O</l></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l><comment w="90" collapsed="true">X plays first.</comment></block></block></script></block></script></block></script></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>5</l><l>9</l></list></block><block s="reportNewList"><list><l>3</l><l>5</l><l>7</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></list></block></block></script></block-definition><block-definition s="status of triple %&apos;winning triple&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><l>1</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="board"/></block></autolambda><list></list></block><block var="winning triple"/></block></block><block s="reportListItem"><l>2</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="board"/></block></autolambda><list></list></block><block var="winning triple"/></block></block></block><block s="reportEquals"><block s="reportListItem"><l>2</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="board"/></block></autolambda><list></list></block><block var="winning triple"/></block></block><block s="reportListItem"><l>3</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="board"/></block></autolambda><list></list></block><block var="winning triple"/></block></block></block></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><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="reportEquals"><block var="letter"/><l>X</l></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="reportEquals"><block var="blankCHECK"/><block s="reportBoolean"><l><bool>true</bool></l></block></block><script><block s="doSetVar"><l>BlankFINAL</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block><block s="doIf"><block s="reportAnd"><block s="reportListContainsItem"><block var="item"/><block var="letter"/></block><block s="reportAnd"><block s="reportNot"><block s="reportListContainsItem"><block var="item"/><block var="opposite letter"/></block></block><block s="reportNot"><block var="BlankFINAL"/></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="431"><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="432"></list></costumes><sounds><list struct="atomic" id="433"></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="false" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="438"><costumes><list id="439"><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="440"></list></sounds><blocks></blocks><variables><variable name="position number"><l>9</l></variable></variables><scripts><script x="10" y="10"><block s="doWearNextCostume"></block></script><script x="28" y="375.8333333333337"><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="doIf"><block s="reportEquals"><block s="getCostumeIdx"></block><l>1</l></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><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</l><block s="reifyScript"><script><block s="doSayFor"><l>Player X has won!</l><l>2</l></block></script><list></list></block><list></list></block><block s="doStopThis"><l><option>this script</option></l></block></script></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</l><block s="reifyScript"><script><block s="doSayFor"><l>Player O has won!</l><l>2</l></block></script><list></list></block><list></list></block><block s="doStopThis"><l><option>this script</option></l></block></script></block></script></block></script></block><block s="doIf"><block s="reportEquals"><block var="turns"/><l>9</l></block><script><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><block s="doSayFor"><l>The game has ended in a tie!</l><l>2</l></block></script><list></list></block><list></list></block></script></block></script><script x="32" y="45"><block s="receiveGo"></block><block s="removeClone"></block></script><script x="28.399999999999977" y="128.33333333333348"><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="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></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="289" y="414.66666666666686"><custom-block s="status of triple %l"><block s="reportNewList"><list><l>1</l><l>2</l><l>5</l></list></block></custom-block></script></scripts></sprite><sprite name="Sprite" idx="2" x="-10000" y="-100" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="12.24000000000001,0,153,1" pen="tip" id="597"><costumes><list struct="atomic" id="598"></list></costumes><sounds><list struct="atomic" id="599"></list></sounds><blocks></blocks><variables></variables><scripts><script x="77" y="171.00000000000003"><block s="gotoXY"><l>-10000</l><l>-100</l></block></script></scripts></sprite><watcher var="X&apos;s turn?" style="normal" x="1.7999999999999545" y="1.8000000000000043" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="3.6000000000000227" y="3.6000000000000014" color="243,118,29" extX="80" extY="70"/><watcher scope="Square" var="position number" style="normal" x="4.645161290322562" y="4.645161290322591" color="243,118,29"/><watcher var="turns" style="normal" x="3.7999999999999545" y="101.59999999999997" color="243,118,29"/></sprites></stage><variables><variable name="X&apos;s turn?"><bool>false</bool></variable><variable name="board"><list struct="atomic" id="611">X,X,3,4,O,6,7,8,9</list></variable><variable name="turns"><l>3</l></variable></variables></scene></scenes></project><media name="U3L3-Tic-Tac-Toe" app="Snap! 7, https://snap.berkeley.edu" version="2"><costume name="Empty" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAMdJREFUaEPtmsENglAQBZcm8EhiJdYi/qaM1sIVYjjYkYmJBbzLBH+G++SxMxwZqrNnqKpLVS093DVN5/170HVuy/Nx/+ub1u1V7dbeHnTUjBY6apnfe1nIQrABPzlYeDxnoVgZDFgIFh7PWShWBgMWgoXHcxaKlcGAhWDh8ZyFYmUwYCFYeDxnoVgZDFgIFh7PWShWBgMWgoXHcxaKlcGAhWDh8ZyFYmUwYCFYeDxnoVgZDFgIFh7PWShWBgN9F+rlj8ZxPG0fpgqdIlzL6G8AAAAASUVORK5CYII=" mediaID="Square_cst_Empty"/><costume name="X" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAgVJREFUaEPt2jtPwlAUB/DDpB0QZ6KGkS9AYHQiBtCEqAgKBCOy+hwcTRmN8VuYMDk6qpvG4ORj9ZWoIy4sDqYkNaIg5957Tm+LsDXp4/7uv73hn9YHAKFkMr3j9w8Ng8d/zebHtQ8AJiOR6HGxtOxp0NvrC1zV6w8tUCaTO6rVDke9HND5xSVUTXMAcm2I/zOhx6dnmBgfc1Uq3caESmilXIFgMAhVc9cVqJvbO5hOpWBv/wBm0zNtY0KBGo13KK9WIBwOa0fZmKV8oeNYUCBrCtyA6oWxxokG6UZhMMIgXSgsRgrkNEoEIw1yCiWKUQJxo2QwyiAulCyGBESNUsGQgahQqhhSkCqKAkMOkkVRYVhAoihKDBsIi6LGsIJ6oTgw7KBuKC6MI6CfqGx2oVXOuvWZtrYmsSFUHyTO/3WI1afyhSKcnZ7A2voGW1F0DGTdZslEAgzDgLn5jLdB35+Z7a1N1jrPnlCnBYCzzrOC/lrNuFBsIMzSzIFiAWEw9vJHjSIHiWA4UKQgGQw1igykgqFEkYAoMFQoZRAlhgKlBOLAqKKkQZwYFZQUyAmMLEoY5CRGBiUE0oERRaFBOjEiKBTIDRgsCgWKx6cgGouxtUzRam//oc3mFuVeGrvxtb6FCgRGfs0FKiHRGdS5/wCkc/Yx1+7vhPrtA8AQAJQwsXpgn/tPUFR7qLbGkSAAAAAASUVORK5CYII=" mediaID="Square_cst_X"/><costume name="O" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAABF9JREFUaEPtmktME1EUhv+uFXClCwQCCtTHwhaNbhRFQ4zgK2oUfMQoBSUuJETjhlLKxiAVF8YHxcSoQPERH2BiiILoQhRpNRFESSSCzx0PXWPOmJu0dKZzZ+ZOQWSSpovee+Z85z9z7r1nasE0uywA1gJonw5cSUkp3RLQocOO9it1tf80U+fLLjgKHG9ngKaqjDMK8SrT+rgNfn8A/R8/oL3tCQYGPoVN3blrN+Lj47HMZkfWukwkJsznNa84TqhCg0Nf4PXWof7GdWQsXyF97HYbrOlpss7Szfs+fMSbgB8P7t+Txu/Jy8eO7Vt0gwkBCgYpPFKM/LzduqJ95+4D+BobMDI8jKKjxbrADANdvVYPt8sJAjla5EBcXKzu6LKJlK7VVVVISExEeblTU3B0A42MjKLcVYHenh64KyuxauUKwyDBBsj+xcte1F66gEu1XmRvyOKyrwuIblbgKERsbCzOeqqFqKLkLaXhidISnPHUcKWgZiAGY7VaUel2cUXN6KCe3vfYnJvLBaUZ6HBBIWJiYnCuxmPUT03zCWrpksV40fkqYnprAjp/4TI6nrajzltrapqppV8gEFC8PzcQi9C7nl4sWbxIU3RFDj5eUiqZU8oQbiBKNZs9A8eKi0T6p9kWPcM2mw0NjT7Z1OMCokH5eXsQSWrNnhmYQKkf8HdD7qjDBUQyL0xNm3R1WAyYSs0tLWHprwpE25qkxAQMD49MSiFQEvJ0lQe/f42FLR2qQLS1oc1jtMu0WkZSkSo5XoLW1kchQ1WBKN1Wr8nkWqXVnBD9e0rKAkxMO1UguUmiHdNrTy7YqkAWiwXj4+N672nqPKp2dAUvJRGB6EePx4NbN32mOqbXOB0zmny+kPKtCuT1emXrvV4nRM4j5yf6NwMkMsJGbWlWSKnWG3VE1Hw6/D1/1hGyRv5fVY4imZ290ZSegQiV6ASwKSc3ZNFXVajM6cKChak4eGCvCB+E2qBF/2lHR0hXSBWI9cqm2lrEWl2a93K0VZ8zJw6fB4c09ceESiFjjDJn1uwYnDr59wTLLlWFaKDSZLOdVrIfKchcQHQmWpuZOaVOrD9/fJdto3EBMZXoO1q9OCV12IFT6RHgBmIqKTUnopV+VKpT09LDnh1NzxAbzNqyk9UsoWN39+uuiH1BboUYFBWIvr6+qDcbWTDlGiOaq9zEdIo2FC8M+alZoYlKuVzlpnZS6VR6troqrHeg9MzqBiKDlNP0/sbpcgvfGlERqqhwY2hwEDXnariDZgiISewsK5PetjkcDsMvvmjRvF7fKKmi562gYSCCCnZiXdb6sB0wT0knRRoamyTFyYbe4AgBYg4T2N37zXjY0iyV1y1bt0kt5OUZdmnIImu61H2lg+PY2C98/fYd/f390lj67N23Hzk5OYZUFgoUrARFvOu1X3KY/qswOjqK27eapCHJySmSCvTijAGLekdrGhBPmpkxZgbIjKiKtDm9FZou/2icO3feyz8NoolAOmg4eQAAAABJRU5ErkJggg==" mediaID="Square_cst_O"/></media></snapdata>