<snapdata remixID="13298342"><project name="U5L6-TicTacToe" app="Snap! 9.0, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="U5L6-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="doChangeVar"><l>position number</l><l>1</l></block><block s="show"></block><block s="gotoXY"><l>-100</l><l>50</l></block><block s="createClone"><l><option>myself</option></l></block><block s="doChangeVar"><l>position number</l><l>1</l></block><block s="doRepeat"><l>2</l><script><block s="changeXPosition"><l>50</l></block><block s="createClone"><l><option>myself</option></l></block><block s="doChangeVar"><l>position number</l><l>1</l></block></script></block><block s="doRepeat"><l>2</l><script><block s="changeXPosition"><l>-100</l></block><block s="changeYPosition"><l>-50</l></block><block s="createClone"><l><option>myself</option></l></block><block s="doChangeVar"><l>position number</l><l>1</l></block><block s="doRepeat"><l>2</l><script><block s="changeXPosition"><l>50</l></block><block s="createClone"><l><option>myself</option></l></block><block s="doChangeVar"><l>position number</l><l>1</l></block></script></block></script></block><block s="doChangeVar"><l>position number</l><l>1</l></block><block s="hide"></block></script></block-definition><block-definition s="possible winning combinations" 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 triple %&apos;triple&apos;" type="reporter" category="variables"><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="triple"/></block></block></script><scripts><script x="118.00781249999989" y="120.83333333333331"><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></script></scripts></block-definition><block-definition s="status of 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><custom-block s="status of triple %l"><l/></custom-block></autolambda><list></list></block><custom-block s="possible winning combinations"></custom-block></block></block></script></block-definition><block-definition s="won? %&apos;x or o&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListContainsItem"><custom-block s="status of winning triples"></custom-block><block s="reportNewList"><list><block var="x or o"/><block var="x or o"/><block var="x or o"/></list></block></block></block></script></block-definition><block-definition s="move in this square" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="X&apos;s turn?"/><block s="reportBoolean"><l><bool>true</bool></l><comment w="90" collapsed="true">X plays first.</comment></block></list></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><block s="doReplaceInList"><block var="position number"/><block var="board"/><l>X</l></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><comment w="90" collapsed="true">X plays first.</comment></block></block><block s="doReplaceInList"><block var="position number"/><block var="board"/><l>O</l></block></script></block><block s="doIf"><custom-block s="won? %s"><l>O</l></custom-block><script><block s="bubble"><l>Player O won</l></block></script><list></list></block><block s="doIf"><custom-block s="won? %s"><l>X</l></custom-block><script><block s="bubble"><l>Player X won</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="board"/></block></block><script><block s="bubble"><l>It&apos;s a tie</l></block></script><list></list></block></script></block-definition><block-definition s="best empty square" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportListContainsItem"><block var="board"/><l></l></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>4</l><l>6</l><l>8</l></list></block></block></block></script></block-definition><block-definition s="how many %&apos;X&apos; in %&apos;list&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>length</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l></l><block var="X"/></list></block></autolambda><list></list></block><block var="list"/></block></block></block></script><scripts><script x="45.330078125000455" y="134.83333333333337"><block s="reportListContainsItem"><l/><l>thing</l></block></script><script x="153.33007812500045" y="126.83333333333337"><block s="reportListContainsItem"><l/><l>thing</l></block></script></scripts></block-definition><block-definition s="winning triple for player %&apos;X&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><l>2</l><custom-block s="how many %s in %l"><block var="X"/><l/></custom-block></list></block><block s="reportVariadicEquals"><list><l>0</l><custom-block s="how many %s in %l"><custom-block s="opponent %s"><block var="X"/></custom-block><l/></custom-block></list></block></list></block></autolambda><list></list></block><custom-block s="status of winning triples"></custom-block></block></block></script><scripts><script x="191.9951171875" y="194.83333333333314"><custom-block s="won? %s"><l></l></custom-block></script><script x="197.8564453125" y="270.4999999999992"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="possible winning combinations"></custom-block></autolambda><list></list></block><block var="board"/></block></script><script x="119.7314453125" y="210.66666666666669"><block var="X"/></script><script x="277.3828125" y="225.66666666666663"><custom-block s="possible winning combinations"></custom-block></script></scripts></block-definition><block-definition s="opponent %&apos;who&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="who"/><l>X</l></list></block><l>O</l><l>X</l></block></block></script><scripts><script x="52" y="104.83333333333331"><block s="doIfElse"><l/><script></script><script></script></block></script></scripts></block-definition><block-definition s="winning square for player %&apos;player&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>triple</l></list></block><block s="doSetVar"><l>triple</l><custom-block s="winning triple for player %s"><block var="player"/></custom-block></block><block s="doIf"><block s="reportIsA"><block var="triple"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="triple"/></block></block></script><list></list></block><block s="doReport"><l></l></block></script></block-definition><block-definition s="can player %&apos;who&apos; win now?" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportIsA"><custom-block s="winning square for player %s"><block var="who"/></custom-block><l><option>number</option></l></block></block></script></block-definition><block-definition s="next move for computer" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><custom-block s="can player %s win now?"><l>O</l></custom-block><script><block s="doReport"><custom-block s="winning square for player %s"><l>O</l></custom-block></block></script><script><block s="doIfElse"><custom-block s="can player %s win now?"><l>X</l></custom-block><script><block s="doReport"><custom-block s="winning square for player %s"><l>X</l></custom-block></block></script><script><block s="doReport"><custom-block s="best empty square"></custom-block></block></script></block></script></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="535"><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="536"></list></costumes><sounds><list struct="atomic" id="537"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Square" idx="1" x="0" y="-50" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="542"><costumes><list id="543"><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="544"></list></sounds><blocks></blocks><variables><variable name="position number"><l>11</l></variable></variables><scripts><script x="44.39999999999998" y="10"><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="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><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></script><script x="654.8857421874999" y="345.4999999999992"><block var="board"/></script><script x="402" y="121.66666666666669"><custom-block s="can player %s win now?"><l>X</l></custom-block></script><script x="16" y="151.00000000000136"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="getCostumeIdx"></block><l>1</l></list></block><script><custom-block s="move in this square"></custom-block><block s="doBroadcast"><custom-block s="next move for computer"></custom-block><list></list></block></script><list></list></block></script><script x="251.9999999999999" y="164.83333333333405"><block s="receiveMessage"><l><option>any message</option></l><list><l>data</l></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="data"/><block var="position number"/></list></block><script><custom-block s="move in this square"></custom-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 scope="Square" var="position number" style="normal" x="118" y="17.000001999999995" color="243,118,29" hidden="true"/><watcher scope="Square" s="getCostumeIdx" style="normal" x="10" y="10" color="143,86,227" hidden="true"/><watcher var="board" style="normal" x="4" y="-2" 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="616">O,X,O,X,O,X,O,8,X</list></variable></variables></scene></scenes></project><media name="U5L6-TicTacToe" app="Snap! 9.0, 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>