<snapdata remixID="12138239"><project name="U3L2-TicTacToe WinorLose" 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="U3L2-TicTacToe WinorLose"><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></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>square number</l><l>0</l></block><block s="show"></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="doChangeVar"><l>square 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><block s="hide"></block></script></block-definition><block-definition s="costume changes" type="command" category="looks"><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><comment w="90" collapsed="true">X plays first.</comment></block></block><script><block s="doSwitchToCostume"><l>X</l></block></script><script><block s="doSwitchToCostume"><l>O</l></block></script></block></script></block-definition><block-definition s="TicTacToe wins" 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>3</l><l>5</l><l>7</l></list></block><block s="reportNewList"><list><l>1</l><l>5</l><l>9</l></list></block></list></block></block></script></block-definition><block-definition s="status of triple %&apos;list&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="list"/></block></block></script></block-definition><block-definition s="won? %&apos;winning player&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doForEach"><l>item</l><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="status of triple %l"><l/></custom-block></autolambda><list></list></block><custom-block s="TicTacToe wins"></custom-block></block><script><block s="doIfElse"><block s="reportListContainsItem"><block var="item"/><l>Empty</l></block><script></script><script><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="doIf"><block s="reportListContainsItem"><block var="item"/><block var="winning player"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block></script></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><scripts><script x="479" y="122.83333333333337"><block s="doIfElse"><l/><script><block s="doSayFor"><l>No winner is possible for this item</l><l>1</l></block></script><script><block s="doIfElse"><block s="reportListContainsItem"><block var="item"/><l>Empty</l></block><script><block s="doSayFor"><l>No winner yet</l><l>2</l></block></script><script><block s="doIfElse"><block s="reportListContainsItem"><block var="item"/><l>X</l></block><script><block s="doSayFor"><l>X is the winner!</l><l>1</l></block></script><script><block s="doSayFor"><l>O is the winner!</l><l>1</l></block></script></block></script></block></script></block></script><script x="558" y="54.33333333333354"><block s="doSayFor"><l>No winner yet</l><l>2</l></block></script><script x="678" y="199.16666666666686"><block s="doIfElse"><block s="reportListContainsItem"><block var="item"/><l>X</l></block><script><block s="doSayFor"><l>X is the winner!</l><l>1</l></block></script><script><block s="doSayFor"><l>O is the winner!</l><l>1</l></block></script></block></script></scripts></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="321"><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="322"></list></costumes><sounds><list struct="atomic" id="323"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="2"><sprite name="Square" idx="1" x="0" y="-150" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="328"><costumes><list id="329"><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="330"></list></sounds><blocks></blocks><variables><variable name="square number"><l>9</l></variable></variables><scripts><script x="20" y="10"><block s="doWearNextCostume"></block></script><script x="20" y="45.83333333333326"><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></script><script x="20" y="106.83333333333337"><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="doWait"><l>0.1</l></block><block s="doSwitchToCostume"><l>Empty</l></block><block s="gotoXY"><l>0</l><l>0</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><block s="doSetVar"><l>board</l><block s="reportNewList"><list><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l></list></block></block><block s="doSetVar"><l>counter</l><l>0</l></block></script><script x="20" y="329.66666666666777"><block s="bubble"><l></l></block></script><script x="20" y="368.66666666666765"><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="square number"/><block var="board"/><l>X</l></block><block s="doIfElse"><custom-block s="won? %s"><l>X</l></custom-block><script><block s="doBroadcast"><l>X is the winner</l><list></list></block></script><script><block s="doChangeVar"><l>counter</l><l>1</l></block><block s="doIfElse"><block s="reportEquals"><block var="counter"/><l>9</l></block><script><block s="doBroadcast"><l>the game</l><list></list></block></script><script><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="square number"/><block var="board"/><l>O</l></block><block s="doIfElse"><custom-block s="won? %s"><l>O</l></custom-block><script><block s="doBroadcast"><l>O is the winner</l><list></list></block></script><script><block s="doChangeVar"><l>counter</l><l>1</l></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block></script></block></script><script x="20" y="922.4999999999974"><block s="doIf"><l/><script></script></block></script><script x="20" y="978.4999999999975"><block s="doForEach"><l>item</l><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="status of triple %l"><l/></custom-block></autolambda><list></list></block><custom-block s="TicTacToe wins"></custom-block></block><script><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><block s="doSayFor"><l>No winner is possible for this item</l><l>1</l></block></script><script><block s="doIfElse"><block s="reportListContainsItem"><block var="item"/><l>Empty</l></block><script><block s="doSayFor"><l>No winner yet</l><l>2</l></block></script><script><block s="doIfElse"><block s="reportListContainsItem"><block var="item"/><l>X</l></block><script><block s="doSayFor"><l>X is the winner!</l><l>1</l></block></script><script><block s="doSayFor"><l>O is the winner!</l><l>1</l></block></script></block></script></block></script></block></script></block></script><script x="20" y="1280.4999999999961"><block s="receiveMessage"><l>X is the winner</l><list></list></block><block s="hide"></block></script><script x="20" y="1350.33333333333"><block s="receiveMessage"><l>O is the winner</l><list></list></block><block s="hide"></block></script><script x="273" y="1300.1666666666638"><block s="receiveMessage"><l>the game</l><list></list></block><block s="hide"></block></script></scripts></sprite><watcher var="X&apos;s turn?" style="normal" x="5" y="5.000000000000007" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="10.999999999999886" y="47.00000199999997" color="243,118,29" extX="80" extY="70"/><watcher scope="Square" var="square number" style="normal" x="10" y="9.999999999999986" color="243,118,29" hidden="true"/><sprite name="Sprite" idx="2" x="-118" y="-48" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="0,141.37199999999999,160.65,1" pen="tip" id="551"><costumes><list struct="atomic" id="552"></list></costumes><sounds><list struct="atomic" id="553"></list></sounds><blocks></blocks><variables></variables><scripts><script x="124" y="85.33333333333334"><block s="receiveGo"></block><block s="hide"></block><block s="setHeading"><l>90</l></block><block s="gotoXY"><l>0</l><l>0</l></block></script><script x="32" y="262.33333333333337"><block s="receiveMessage"><l>X is the winner</l><list></list></block><block s="show"></block><block s="doSayFor"><l>Game over, X won!</l><l>10</l></block></script><script x="298" y="261"><block s="receiveMessage"><l>O is the winner</l><list></list></block><block s="show"></block><block s="doSayFor"><l>Game over, O won!</l><l>10</l></block></script><script x="36" y="381"><block s="receiveMessage"><l>the game</l><list></list></block><block s="show"></block><block s="doSayFor"><l>The game</l><l>10</l></block></script></scripts></sprite><watcher var="counter" style="normal" x="9" y="158.000002" color="243,118,29"/></sprites></stage><variables><variable name="X&apos;s turn?"><bool>true</bool></variable><variable name="board"><list struct="atomic" id="590">Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty</list></variable><variable name="counter"><l>0</l></variable></variables></scene></scenes></project><media name="U3L2-TicTacToe WinorLose" app="Snap! 7, 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>