<snapdata remixID="12843331"><project name="U3L1p5-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="U3L1p5-TicTacToe"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>step</l><l>tester</l></list></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="start"/><block var="end"/></list></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportVariadicLessThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>step</l><l>1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doUntil"><block s="evaluate"><block var="tester"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></block></script></block-definition><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><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="makeBoard" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSwitchToCostume"><l>Empty</l></block><block s="show"></block><block s="gotoXY"><l>-50</l><l>50</l></block><block s="doSetVar"><l>position</l><l>1</l></block><custom-block s="for %upvar = %n to %n %cs"><l>row</l><l>1</l><l>3</l><script><custom-block s="for %upvar = %n to %n %cs"><l>column</l><l>1</l><l>3</l><script><block s="createClone"><l><option>myself</option></l></block><block s="doChangeVar"><l>position</l><l>1</l></block><block s="changeXPosition"><l>50</l></block></script></custom-block><block s="setXPosition"><l>-50</l></block><block s="changeYPosition"><l>-50</l></block></script></custom-block><block s="hide"></block></script><scripts><script x="321" y="30.80000000000001"><block s="doSwitchToCostume"><l>Empty</l></block><block s="show"></block><custom-block s="for %upvar = %n to %n %cs"><l>row</l><l>1</l><l>3</l><script><custom-block s="for %upvar = %n to %n %cs"><l>column</l><l>1</l><l>3</l><script><block s="gotoXY"><block s="reportVariadicSum"><list><l>-100</l><block s="reportVariadicProduct"><list><l>50</l><block var="column"/></list></block></list></block><block s="reportDifference"><l>100</l><block s="reportVariadicProduct"><list><l>50</l><block var="row"/></list></block></block></block><block s="createClone"><l><option>myself</option></l></block></script></custom-block></script><comment w="128" collapsed="false">The nested FOR loops are the important part of this solution.  Details like the starting position of the sprite might be different in student solutions.</comment></custom-block><block s="hide"></block></script><script x="208" y="308.1333333333335"><block s="doInsertInList"><l>thing</l><l>1</l><l/></block></script><script x="179" y="389.13333333333355"><block s="doAddToList"><block var="position"/><block var="board"/></block></script><script x="260" y="350.6333333333334"><block s="doInsertInList"><block var="position"/><l>1</l><block var="board"/></block></script><script x="217" y="242.63333333333338"><block s="doSetVar"><l>position</l><l>1</l></block></script></scripts></block-definition><block-definition s="all possible 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>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="state of Triple %&apos;triple&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></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></block-definition><block-definition s="status of winning tripples" 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="state of Triple %s"><l></l></custom-block></autolambda><list></list></block><custom-block s="all possible wins"></custom-block></block></block></script></block-definition><block-definition s="Is it a win %&apos;won&apos;" type="reporter" category="variables"><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 tripples"></custom-block><block s="reportNewList"><list><block var="won"/><block var="won"/><block var="won"/></list></block></block></block></script></block-definition><block-definition s="how many: %&apos;X/O&apos; In list: %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><l>0</l></block><block s="doForEach"><l>item</l><block var="list"/><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="item"/><block var="X/O"/></list></block><script><block s="doChangeVar"><l>a</l><l>1</l></block></script><list></list></block></script></block><block s="doReport"><block var="a"/></block></script><scripts><script x="187.3134765625" y="209.66666666666669"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportVariadicEquals"><list><l></l><l>X</l></list></block></autolambda><list></list></block><block var="list"/></block></script><script x="195" y="143.50000000000006"><block s="doSayFor"><l>Hello!</l><l>2</l></block></script></scripts></block-definition><block-definition s="winning tripple for player: %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doDeclareVariables"><list><l>b</l></list></block><block s="doDeclareVariables"><list><l>c</l></list></block><block s="doSetVar"><l>a</l><l>0</l></block><block s="doSetVar"><l>b</l><l>0</l></block><block s="doSetVar"><l>c</l><l>0</l></block><block s="doForEach"><l>item</l><l/><script><block s="doIf"><block s="reportVariadicAnd"><list><l/><l/></list></block><script></script><list></list></block></script></block></script><scripts><script x="338" y="445.8333333333336"><block s="doChangeVar"><l>a</l><l>1</l></block></script><script x="341.5" y="67.9333333333334"><block s="doIf"><l/><script></script><list></list></block></script><script x="344.125" y="209.16666666666674"><block var="list"/></script><script x="336" y="529.3333333333331"><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block var="a"/><l>2</l></list></block><block s="reportVariadicEquals"><list><block var="b"/><l>1</l></list></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script><script x="422.625" y="209.10000000000008"><block var="a"/></script><script x="324.6416015625" y="315.5833333333334"><block s="reportVariadicEquals"><list><block s="reportIsA"><block var="item"/><l><option>number</option></l></block><l></l></list></block></script><script x="457.6123046875" y="273.5833333333334"><block s="reportBoolean"><l><bool>true</bool></l></block></script><script x="146" y="390.33333333333337"><block s="doForEach"><l>item</l><block var="list"/><script><block s="doSetVar"><l>a</l><block var="item"/></block><block s="doForEach"><l>item</l><block var="a"/><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="item"/><l>O</l></list></block><script><block s="doChangeVar"><l>b</l><l>1</l></block></script><list></list></block><block s="doIf"><l/><script><block s="doChangeVar"><l>c</l><l>1</l></block></script><list></list></block></script></block></script></block></script><script x="10" y="344.8333333333332"><block s="reportVariadicAnd"><list><block s="reportListContainsItem"><block var="item"/><l>thing</l></block><block s="reportNot"><block s="reportListContainsItem"><block var="item"/><l>thing</l></block></block></list></block></script><script x="187.8017578125" y="293.0000000000001"><block var="item"/></script><script x="175.5" y="227.0000000000001"><custom-block s="how many: %s In list: %l"><l>X</l><block s="reportListItem"><l>6</l><block var="all possible wins"/></block></custom-block></script></scripts></block-definition><block-definition s="make a move" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block var="X&apos;s turn?"/><script><block s="doSwitchToCostume"><l>X</l></block><block s="doReplaceInList"><block var="position"/><block var="board"/><l>X</l></block><block s="doIf"><custom-block s="Is it a win %s"><l>x</l></custom-block><script><block s="doSayFor"><l>X won</l><l>2</l></block></script><list></list></block><block s="doBroadcast"><block s="reportListItem"><l><option>random</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="board"/></block></block><list></list></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="position"/><block var="board"/><l>O</l></block><block s="doIf"><custom-block s="Is it a win %s"><l>O</l></custom-block><script><block s="doSayFor"><l>O won</l><l>2</l></block></script><list></list></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><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><l></l></list></block><script><block s="doSayFor"><l>Its a tie</l><l>2</l></block></script><list></list></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportNot"><block var="X&apos;s turn?"/></block></block></script></block-definition><block-definition s="winning position for computer" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs></inputs><scripts><script x="150.9951171875" y="329.9666666666664"><block var="a"/></script><script x="272.57845052083326" y="328.13333333333316"><block var="i"/></script><script x="244.77519531250005" y="356.3333333333332"><block s="reportVariadicOr"><list><l/><l/></list></block></script></scripts></block-definition><block-definition s="winning move for player" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs></inputs><scripts><script x="237" y="20.133333333333326"><block s="doSetVar"><l>a</l><l></l></block></script><script x="370.38313802083326" y="267.1333333333334"><block s="reportListItem"><l>1</l><l/></block></script><script x="157.57845052083337" y="306.13333333333316"><block var="i"/></script><script x="68.9951171875" y="305.6333333333334"><block var="item"/></script></scripts></block-definition><block-definition s="strategic move" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block var="X&apos;s turn?"/><script><block s="doSwitchToCostume"><l>X</l></block><block s="doReplaceInList"><block var="position"/><block var="board"/><l>X</l></block><block s="doBroadcast"><block s="reportListItem"><l><option>random</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="board"/></block></block><list></list></block><block s="doIf"><custom-block s="Is it a win %s"><l>x</l></custom-block><script><block s="doSayFor"><l>X won</l><l>2</l></block></script><list></list></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="position"/><block var="board"/><l>O</l></block><block s="doIf"><custom-block s="Is it a win %s"><l>O</l></custom-block><script><block s="doSayFor"><l>O won</l><l>2</l></block></script><list></list></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><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><l></l></list></block><script><block s="doSayFor"><l>Its a tie</l><l>2</l></block></script><list></list></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportNot"><block var="X&apos;s turn?"/></block></block></script><scripts><script x="541.5517578125" y="98.2166666666667"><block var="position"/></script><script x="481.5517578125" y="31.216666666666697"><custom-block s="winning move for player"></custom-block></script><script x="516.5517578125" y="130.2166666666667"><custom-block s="winning position for computer"></custom-block></script></scripts></block-definition><block-definition s="strategic move for computer" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block var="X&apos;s turn?"/><script><block s="doSwitchToCostume"><l>X</l></block><block s="doSetVar"><l>position</l><l></l></block><block s="doReplaceInList"><block var="position"/><block var="board"/><l>X</l></block><block s="doIf"><custom-block s="Is it a win %s"><l>x</l></custom-block><script><block s="doSayFor"><l>X won</l><l>2</l></block></script><list></list></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="position"/><block var="board"/><l>O</l></block><block s="doIf"><custom-block s="Is it a win %s"><l>O</l></custom-block><script><block s="doSayFor"><l>O won</l><l>2</l></block></script><list></list></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><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><l></l></list></block><script><block s="doSayFor"><l>Its a tie</l><l>2</l></block></script><list></list></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportNot"><block var="X&apos;s turn?"/></block></block></script><scripts><script x="204.5517578125" y="167.21666666666664"><custom-block s="winning position for computer"></custom-block></script><script x="424" y="184.21666666666664"><block s="doBroadcast"><l></l><list></list></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="817"><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="818"></list></costumes><sounds><list struct="atomic" id="819"></list></sounds><variables></variables><blocks></blocks><scripts><script x="55" y="108.5"><block s="doSetVar"><l>all possible wins</l><l>0</l></block></script><script x="230" y="297.33333333333337"><block s="reportNewList"><list><l></l></list></block></script></scripts><sprites select="1"><sprite name="Square" idx="1" x="-50" y="-100" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="831"><costumes><list id="832"><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="833"></list></sounds><blocks></blocks><variables><variable name="position"><l>10</l></variable></variables><scripts><script x="318" y="19.666666666666742"><block s="receiveGo"></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="doSetVar"><l>all possible wins</l><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>7</l><l>5</l><l>3</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><script x="577" y="10"><block s="receiveGo"></block><custom-block s="makeBoard"></custom-block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script x="62" y="41.833333333333485"><block s="doIf"><block s="reportVariadicEquals"><list><block var="data"/><block var="position"/></list></block><script></script><list></list></block></script><script x="529.5755859374999" y="976.7499999999991"><block s="reportBoolean"><l><bool>true</bool></l></block></script><script x="354.52558593749995" y="151.63333333333276"><block s="doReport"><block s="reportListItem"><l><option>random</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="board"/></block></block></block></script><script x="10" y="253.41666666666686"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="X&apos;s turn?"/><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><script><block s="doSwitchToCostume"><l>X</l></block><block s="doReplaceInList"><block var="position"/><block var="board"/><l>X</l></block><block s="doBroadcast"><block s="reportListItem"><l><option>random</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="board"/></block></block><list></list></block><block s="doIf"><custom-block s="Is it a win %s"><l>x</l></custom-block><script><block s="doSayFor"><l>X won</l><l>2</l></block></script><list></list></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="position"/><block var="board"/><l>O</l></block><block s="doIf"><custom-block s="Is it a win %s"><l>O</l></custom-block><script><block s="doSayFor"><l>O won</l><l>2</l></block></script><list></list></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><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><l></l></list></block><script><block s="doSayFor"><l>Its a tie</l><l>2</l></block></script><list></list></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportNot"><block var="X&apos;s turn?"/></block></block></script><script x="511" y="486.9999999999999"><block s="receiveGo"></block><block s="doSetVar"><l>winning player</l><l>0</l></block><block s="doForever"><script><block s="doFor"><l>i</l><l>1</l><l>8</l><script><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="how many: %s In list: %l"><l>X</l><block s="reportListItem"><block var="i"/><custom-block s="status of winning tripples"></custom-block></block></custom-block><l>2</l></list></block><script><block s="doForEach"><l>item</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block s="reportListItem"><block var="i"/><custom-block s="status of winning tripples"></custom-block></block></block><script><block s="doSetVar"><l>winning player</l><block var="item"/></block><block s="doReport"><block var="winning player"/></block></script></block></script><list></list></block></script></block></script></block></script><script x="23" y="104.16666666666674"><custom-block s="strategic move"></custom-block></script><script x="565" y="1055.1666666666665"><custom-block s="winning move for player"></custom-block></script><script x="545.3119140624999" y="1022.3333333333335"><custom-block s="winning position for computer"></custom-block></script><script x="458" y="204.41666666666686"><block s="receiveGo"></block><block s="doSetVar"><l>winning computer</l><l>0</l></block><block s="doForever"><script><block s="doFor"><l>i</l><l>1</l><l>8</l><script><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="how many: %s In list: %l"><l>O</l><block s="reportListItem"><block var="i"/><custom-block s="status of winning tripples"></custom-block></block></custom-block><l>2</l></list></block><script><block s="doForEach"><l>item</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block s="reportListItem"><block var="i"/><custom-block s="status of winning tripples"></custom-block></block></block><script><block s="doSetVar"><l>winning computer</l><block var="item"/></block><block s="doReport"><block var="winning computer"/></block></script></block></script><list></list></block></script></block></script></block></script><script x="357" y="910.4166666666675"><block s="reportListItem"><l><option>random</option></l><block s="reportKeep"><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><script x="297.7001953125" y="505.7500000000001"><block s="reportNot"><block var="X&apos;s turn?"/></block></script><script x="182" y="779.583333333334"><block s="receiveMessage"><l>message for strategic</l><list></list></block></script><script x="41.6416015625" y="203.41666666666686"><block s="reportBoolean"><l><bool>true</bool></l></block></script><script x="137" y="853.9166666666674"><custom-block s="make a move"></custom-block></script></scripts></sprite><watcher var="board" style="normal" x="10" y="10" color="243,118,29" extX="80" extY="70"/><watcher scope="Square" var="position" style="normal" x="7" y="246.000002" color="243,118,29"/><watcher var="X&apos;s turn?" style="normal" x="10" y="145.00000599999998" color="243,118,29"/><watcher var="all possible wins" style="normal" x="304" y="195.00000200000005" color="243,118,29" extX="185.5615234375" extY="150"/><watcher var="winning player" style="normal" x="10" y="169.000008" color="243,118,29"/><watcher var="winning computer" style="normal" x="10" y="190.00000999999997" color="243,118,29"/></sprites></stage><variables><variable name="X&apos;s turn?"><bool>false</bool></variable><variable name="board"><list struct="atomic" id="1192">1,X,3,4,O,6,X,8,9</list></variable><variable name="all possible wins"><list id="1193"><item><list struct="atomic" id="1194">1,2,3</list></item><item><list struct="atomic" id="1195">4,5,6</list></item><item><list struct="atomic" id="1196">7,8,9</list></item><item><list struct="atomic" id="1197">1,5,9</list></item><item><list struct="atomic" id="1198">7,5,3</list></item><item><list struct="atomic" id="1199">1,4,7</list></item><item><list struct="atomic" id="1200">2,5,8</list></item><item><list struct="atomic" id="1201">3,6,9</list></item></list></variable><variable name="winning player"><l>0</l></variable><variable name="winning computer"><l>0</l></variable></variables></scene></scenes></project><media name="U3L1p5-TicTacToe" app="Snap! 9.0, https://snap.berkeley.edu" version="2"><costume name="Empty" center-x="29" center-y="28" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA5CAYAAACMGIOFAAAAAXNSR0IArs4c6QAAAStJREFUaEPtmyEOg0AQRX9v0Bu0Bt0mCAxJK9bsLXoDLA5wWE6zZkUFBkFSj6E34AhlG9Kkpa2e3XwUct78/zIGNgBKAAcAx/k9xOe2WSBPAM4hEs5c10/IUWuNJEn2PgN3XTcaYxyC43iH1FqPTdMgiiKvIYdhGLMsgzFmDVmWJYqi8DnE1+xVVcHxrJIkpGf5Mkk66VFlWVfWlXWVtQE6SSdlNfLvNKwr68q6ytoAnaSTshrJE0In6SSdlLUBOkknZTWSd5JO0kk6KWsDdJJOymok7ySdpJN0UtYG6CSdlNVI3kk6SSdDcFIpNdV1jTiOtx7xrEbt+37K8xzWWsex+jx7UkohTVOvIdu2nay1Dv4rpM8B/pr9meRl+SB9FyIhgLuDDPVXiVdmD7kbqAKqUfW9AAAAAElFTkSuQmCC" mediaID="Square_cst_Empty"/><costume name="X" center-x="29" center-y="29" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA6CAYAAAAKjPErAAAAAXNSR0IArs4c6QAAA8dJREFUaEPd271P20AYBvCHVkIMlsjQIRsM3RgS9kKCutAJ+AuAjYEhqEu2wMYIAwsMwMYGY5cKBsaqAgW2DrAxVBVIDAipUnlcznIO+2zfhx3nJCQUO9i/e997z71zhzCYrQLgXtCGXn5ZB1ADUB8Q7zsAVQDPAP4A+CmQDQDNAUHKjDMZ+ex5HlZXV4dHRkZKZX56esLBwQHu7u4Skf4J9Xodp6enqFSY2uVoCwsLODk5CW52YmLi9/X19YeXDH0TyeCkMkGXl5f9KIq2v7+P29tbrK+z3EjI+fn5nt4oA1QGdjodH7exsRGN5MGxsTHwi6L1M1QGLi4uBhFVItkTDH2/Q1VABigRyZOioMx1RrbolgRMjYyCstqy6hYJTQPMhPRL09kZWJAeHh78ABYJlbMrPAbl7EqVruEvXVxcoNlsFgrNAswcSYEtEioDG42Gn2GqljmSRUJlYK1W84FJT2PaSGLzjKguUDtd8x6jJkArSNcRNQVaQ7qCcjjMzMzg/v7/P+zTjkHjKURVxWyOUVtAq5G0WXVl4OjoqF/kxsfHtZ4ijapr3BVNIhoF5DRh8vjoBBk3RvlQz8dCVeeExyAjaAp0kq6q6YXHCF1aWnrjdBFBcRFnkRQXuLm58aN3eXkZwGQoz5mcnAyqqK0I5obkhTgF8KE+CspjTFFGks020Hm6hnMyCrqzs4O9vT2nwFyRcRENd8Tx8bGyMGnNH2mXP3T/eNT3GNGpqSlcXV31HI4rSDau7bzwyDdJ5PT0NLrd7mAi5SIjd4CraOYaSU4ToooSyMKzu7urnF5Kla5Ry/d8KFBNLzaAuVXXOKBAuIY6T9e0a6MuoU6RaYGqiHJPhtsVJs0ZMitQBeXYZeXVbU6QusAwtNVq4fDwMHCZQK0jxX6guDvV8n1SZAizAbWKzLp8n4TkcRtQa0gXQNEJplArSBtro0lRNYEaI/MAmkbUCJkn0ASqjSwCqAvVQnKZkOsyouku3yeNQ9XxLGM0M9Lm8r0JMsv0kgkpA/meDz9L2gQ1xZhGNDXS5eKvaSfIqct1Xj7ris5PhexnYFwxCr89logsA1BAt7a2sLa2FiSGgG5vb8e/Wzc3N9ezCepidds0VeXvR709Njs7i83NTZ7a+ypou93G0dERuE/BVgagAMvQarUqXvDtRXqe9/fx8fF92YBx0NfPz8Xr2Z8BfAqnwcrKCtgbZWusJ+E3mLn3JJBfAXhlA6W83x9EcneUW8FfAAwDOAfwK+Uf6OfTPr7e3HcixX+V4If8+dbPd65zb/8AvCU3cMSBHxoAAAAASUVORK5CYII=" mediaID="Square_cst_X"/><costume name="O" center-x="28" center-y="28" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA5CAYAAACMGIOFAAAAAXNSR0IArs4c6QAABGBJREFUaEPtmos1c0EQx/dWgApIBagAFaACVIAKklSAClABKkhSASpABajg+n73fJMzWfcxu/eRCHNOjkf27u5//vPa2Zs45wbOuZ1/P5dVJsl/kP1lReicG/5KkMM0TX88q0mSDJ1zgmOWyTRNl8ZqkwQjzaQ7kK+vr+7t7S1bdX193W1sbLSq0NZBTiYTd39/78bjsXt6eioFs7W15XZ3d93BwYHb2WkuyLcCEqaGw2EG7uPjI4ql1dXVDGy/36/NdKMgAXR1deUGA9JtsWgT1aZb9ATznZ6eOoDHSGMgb25u3Pn5+TfmAAQjYoZlmxSz5qf4rIwH4MXFhTs+Pg7G2QhIwF1eXs4sjk/BAOBiBB/meXxay9nZWQY2RGqBxDxPTk4y3xOBOQDDXhPC3ADTzDL39fW12XyjQQJwb29vJmIeHR1lAGN9p0gprAXQ29vb6RAi8Wg0Mq0VDRIG8UMRomBVwKnLLPMTtUXwTxitkiiQ/mIsFBMQqjaX9z2KRcEhyg0GiY8cHh5OFyG0+0EnZvMhz2C6pCqRu7u70hgQDLLX6zlyG7K/vz8TdEI2Wncswefh4SGbhrLw5eWlcMogkDBGukBWVlYysE0HGSt4ghHgPj8/s0dIKzCcJ2aQTAqLUqaVTWrdaN1xWukoGzbzlG4GqSckF4rJ1t1o3edhU3JokeLNILe3t6c5sctoWqUEHW2psqiUfDGBxETX1tamz76/v8/NF30Alr2ZQFq0VaXxNr+n+nl+fs6WyLMyE0gSvZRUixBwfIXpeEFpqSsxxppAcpKQ0wD1YuzJoi028UPqaCTPL/9AiuYJOpIfFynoyP508CFPskctJibVILeorcqyPf6BFMp1iH58fHT8vUhCq5NiBdnc3PzW+jQxuUTRdTBz4aN9T4OsOrvNg2F9xo1OIboTkJds5wFMr6mLlbw2jDLXYia1zVcdUOcBWKe4vJhh8kk2Tv6RA+oiBR9NQNER0AxSm8QimaxlX2aQuj6EWU7hbV+5VZk+B3e6FSJFdbUZJBPpKMvvTDpPoSiXQ3LRgdl8ChEgvubmmU78/muZZQUxCVjtAwQj2Oy6AiLYwKIcGqpiRDBIJsZU5SSOXxJtu2pN+l1DyjhMtmz9YJCwiSYBKikl5PKljg/jLnTv5Vqe3i8AqywpCiQb9aNt26brmyh7sHYpokGyiO/8AJWr7zqM+c9y7+F3x0PaorVA5pku/8N8aHjV7QVhLVxL6LdGrCYa3BmoYgVf4QJGgpGMByTRmBxmLRyYi6YZVuI3igkynDisc8k+ajMpExH1aA3ykYCklQO7csXOJmWjgJIrBwDkvesDe5grn5go3hhIDda/+q6yhLLvm7iibxykro7klRW5R7SC5d5TXokJNc28NVoDqRfDlPVrZ9pEtenKa2cxJlmmwE5AWhlsa5ypM9DW4l3N+9uY/PZ69jhN07h3xrqiyLBOkiTcygqO3/kOukFPP25I1pL88eZZpfYvlc1Jo4IBAH0AAAAASUVORK5CYII=" mediaID="Square_cst_O"/></media></snapdata>