<snapdata remixID="11906076"><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="28" y="340.8333333333335"><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><comment w="90" collapsed="false">determines if x or o plays first, using boolean</comment></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>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>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><comment w="90" collapsed="false">Detects if 9th turn and ends in tie.</comment></block><script><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><block s="doSayFor"><l>Tie game!</l><l>2</l></block></script><list></list></block><list></list></block></script></block></script><script x="32" y="10"><block s="receiveGo"></block><block s="removeClone"><comment w="90" collapsed="false">resets game</comment></block></script><script x="28.399999999999977" y="93.3333333333334"><block s="receiveGo"></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></block><comment w="90" collapsed="false">X plays first&#xD;</comment></block></script><script x="972" y="39.66666666666663"><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="596"><costumes><list struct="atomic" id="597"></list></costumes><sounds><list struct="atomic" id="598"></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.8000000000000007" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="3.599999999999909" y="3.6000000000000014" color="243,118,29" extX="80" extY="70"/><watcher scope="Square" var="position number" style="normal" x="4.645161290322449" y="4.645161290322591" color="243,118,29" hidden="true"/><watcher var="turns" style="normal" x="3.7999999999999545" y="101.6" color="243,118,29"/></sprites></stage><variables><variable name="X&apos;s turn?"><bool>true</bool></variable><variable name="board"><list struct="atomic" id="610">1,2,3,4,5,6,7,8,9</list></variable><variable name="turns"><l>0</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>