<snapdata remixID="14247162"><project name="U5L6-TicTacToe" app="Snap! 10.4.6, 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="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="gotoXY"><block s="reportVariadicSum"><list><l>-100</l><block s="reportVariadicProduct"><list><l>50</l><block var="row"/></list></block></list></block><block s="reportDifference"><l>100</l><block s="reportVariadicProduct"><list><l>50</l><block var="column"/></list></block></block></block><block s="doChangeVar"><l>position number</l><l>1</l></block><block s="createClone"><l><option>myself</option></l></block></script></block></script></block><block s="hide"></block></script><scripts><script x="150.9999999999999" y="264.2999999999999"><block s="changeXPosition"><l>-150</l></block><block s="changeYPosition"><l>-50</l></block></script><script x="36.999999999999886" y="257.2999999999999"><block s="changeXPosition"><l>50</l></block></script><script x="217.9912109374999" y="97.29999999999995"><block s="reportDifference"><l>-100</l><l></l></block></script></scripts></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>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="won? %&apos;who&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input></inputs><script><block s="doReport"><block s="reportListContainsItem"><custom-block s="status of winning triples"></custom-block><block s="reportNewList"><list><block var="who"/><block var="who"/><block var="who"/></list></block></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" initial="1"></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="tied?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><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></block></script></block-definition><block-definition s="status of winning triples" type="reporter" category="lists"><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 triples"></custom-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 var="X&apos;s turn?"/><script><block s="doSwitchToCostume"><l>X</l></block><block s="doReplaceInList"><block var="position number"/><block var="board"/><l>X</l></block><block s="doIfElse"><custom-block s="won? %s"><l>X</l></custom-block><script><block s="bubble"><l>X won!</l></block><block s="goToLayer"><l><option>front</option></l></block><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><custom-block s="draw win line"></custom-block></script><list></list></block><list></list></block><block s="doSetVar"><l>playing</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doIfElse"><l><bool>true</bool></l><script><block s="doBroadcast"><custom-block s="best empty square"></custom-block><list></list></block></script><script><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></block></script></block></script><script><block s="doSwitchToCostume"><l>O</l></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="bubble"><l>O won!</l></block><block s="goToLayer"><l><option>front</option></l></block><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><custom-block s="draw win line"></custom-block></script><list></list></block><list></list></block><block s="doSetVar"><l>playing</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportNot"><block var="X&apos;s turn?"/></block></block><block s="doIf"><block s="reportVariadicAnd"><list><block var="playing"/><custom-block s="tied?"></custom-block></list></block><script><block s="bubble"><l>It&apos;s a tie</l></block><block s="goToLayer"><l><option>front</option></l></block></script><list></list></block><block s="doDeclareVariables"><list><l>available squares</l></list></block><block s="doSetVar"><l>available squares</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 s="doIf"><block s="reportVariadicAnd"><list><block var="playing"/><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="available squares"/></block><l>1</l></list></block></list></block><script><block s="doReplaceInList"><block s="reportListItem"><l>1</l><block var="available squares"/></block><block var="board"/><l>X</l></block><block s="doIf"><block s="reportNot"><custom-block s="won? %s"><l>X</l></custom-block></block><script><block s="bubble"><l>It&apos;s a tie</l></block><block s="goToLayer"><l><option>front</option></l></block><block s="doSetVar"><l>playing</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script><list></list></block></script></block-definition><block-definition s="draw win line" type="command" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doFor"><l>i</l><l>1</l><l>8</l><script><block s="doDeclareVariables"><list><l>line</l></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="i"/><custom-block s="status of winning triples"></custom-block></block><block s="reportNewList"><list><l>X</l><l>X</l><l>X</l></list></block></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="i"/><custom-block s="status of winning triples"></custom-block></block><block s="reportNewList"><list><l>O</l><l>O</l><l>O</l></list></block></list></block></list></block><script><block s="doSetVar"><l>line</l><block s="reportListItem"><block var="i"/><block var="win lines"/></block></block><block s="up"></block><block s="doGotoObject"><block s="reportListItem"><l>1</l><block var="line"/></block></block><block s="down"></block><block s="doGotoObject"><block s="reportListItem"><l>2</l><block var="line"/></block></block><block s="up"></block></script><list></list></block></script></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="Can %&apos;player&apos; win now?" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input></inputs><script><block s="doReport"><block s="reportVariadicGreaterThan"><list><custom-block s="Winning square for %s"><block var="player"/></custom-block><l>0</l></list></block></block></script></block-definition><block-definition s="Winning square for %&apos;player&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input></inputs><script><block s="doDeclareVariables"><list><l>taco</l></list></block><block s="doSetVar"><l>taco</l><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><custom-block s="number of %s in %l"><block var="player"/><l/></custom-block><l>2</l></list></block><block s="reportVariadicEquals"><list><custom-block s="number of %s in %l"><custom-block s="opponent %s"><block var="player"/></custom-block><l/></custom-block><l>0</l></list></block></list></block></autolambda><list></list></block><custom-block s="status of all winning triple"></custom-block></block></block><block s="doIfElse"><custom-block s="empty? %l"><l/></custom-block><script><block s="doReport"><l>0</l></block></script><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="taco"/></block></block></script></block></script></block-definition><block-definition s="status of all winning triple" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><custom-block s="status of single triple %l"><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></custom-block><custom-block s="status of single triple %l"><block s="reportNewList"><list><l>2</l><l>5</l><l>8</l></list></block></custom-block><custom-block s="status of single triple %l"><block s="reportNewList"><list><l>4</l><l>5</l><l>6</l></list></block></custom-block><custom-block s="status of single triple %l"><block s="reportNewList"><list><l>7</l><l>8</l><l>9</l></list></block></custom-block><custom-block s="status of single triple %l"><block s="reportNewList"><list><l>1</l><l>5</l><l>9</l></list></block></custom-block><custom-block s="status of single triple %l"><block s="reportNewList"><list><l>1</l><l>4</l><l>7</l></list></block></custom-block><custom-block s="status of single triple %l"><block s="reportNewList"><list><l>3</l><l>6</l><l>9</l></list></block></custom-block><custom-block s="status of single triple %l"><block s="reportNewList"><list><l>3</l><l>5</l><l>7</l></list></block></custom-block></list></block></block></script></block-definition><block-definition s="status of single triple %&apos;winning triple&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></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 s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="winning triple"/></block><block s="reportListItem"><l>2</l><block var="winning triple"/></block><block s="reportListItem"><l>3</l><block var="winning triple"/></block></list></block></block></block></script></block-definition><block-definition s="number of %&apos;value&apos; in %&apos;triple&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input><input type="%l" initial="1"></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="value"/></list></block></autolambda><list></list></block><block var="triple"/></block></block></block></script></block-definition><block-definition s="opponent %&apos;player&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="player"/><l>X</l></list></block><script><block s="doReport"><l>O</l></block></script><list></list></block><block s="doReport"><l>X</l></block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><block var="data"/><block s="reportNewList"><list><l></l></list></block></list></block></block></script></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" initial="1"></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><custom-block s="winning triple for player %s"><block var="player"/></custom-block></block></block></script><list></list></block><block s="doReport"><l></l></block></script></block-definition><block-definition s="winning triple for player %&apos;player&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input></inputs><script><block s="doReport"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><custom-block s="how many %s in %l"><block var="player"/><l/></custom-block><l>2</l></list></block><block s="reportVariadicEquals"><list><custom-block s="how many %s in %l"><custom-block s="opponent %s"><block var="player"/></custom-block><l/></custom-block><l>0</l></list></block></list></block></autolambda><list></list></block><custom-block s="status of winning triples"></custom-block></block></block></script></block-definition><block-definition s="how many %&apos;player&apos; in %&apos;spaces&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input><input type="%l" initial="1"></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="player"/></list></block></autolambda><list></list></block><block var="spaces"/></block></block></block></script></block-definition><block-definition s="keep items so that %&apos;number&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input><input type="%l" initial="1"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doIfElse"><block s="evaluate"><block var="number"/><list><block s="reportCDR"><block var="data"/></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="keep items so that %s from %l"><block var="number"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script><script><block s="doReport"><custom-block s="keep items so that %s from %l"><block var="number"/><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block-definition></blocks><primitives></primitives><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="942"><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="943"></list></costumes><sounds><list struct="atomic" id="944"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><watcher var="X&apos;s turn?" style="normal" x="4.999999999999773" y="4.999999999999972" color="243,118,29" hidden="true"/><watcher var="playing" style="normal" x="10.000000000000455" y="103.00000200000005" color="243,118,29" hidden="true"/><watcher scope="Square" var="position number" style="normal" x="10.000000000000455" y="124.00000400000019" color="243,118,29" hidden="true"/><watcher var="win lines" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher var="Board" style="normal" x="10" y="31.000001999999995" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="5.048780487805288" y="7.975609756097583" color="243,118,29" extX="80" extY="70"/><sprite name="Sprite(2)" idx="2" x="7" y="40" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="252,32,0,1" pen="tip" id="955"><costumes><list struct="atomic" id="956"></list></costumes><sounds><list struct="atomic" id="957"></list></sounds><blocks></blocks><variables></variables><scripts><script x="20" y="20"><block s="receiveGo"></block><block s="hide"></block><block s="setSize"><l>5</l></block><block s="setColor"><color>252,32,0,1</color></block></script><script x="53" y="173.66666666666657"><block s="show"></block></script></scripts></sprite><sprite name="Square" idx="1" x="50" 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="968"><costumes><list id="969"><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="970"></list></sounds><blocks></blocks><variables><variable name="position number"><l>9</l></variable></variables><scripts><script x="15.000000000000341" y="174.99999999999926"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="board"/></block></autolambda><list></list></block><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></block></script><script x="12.000000000000341" y="222.66666666666646"><block s="reportVariadicEquals"><list><custom-block s="status of triple %l"><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></custom-block><block s="reportNewList"><list><l>X</l><l>X</l><l>X</l></list></block></list></block></script><script x="18.369010416666356" y="277.3333333333336"><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><script x="273.00000000000034" y="275.99999999999994"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportVariadicAnd"><list><block var="playing"/><block s="reportVariadicEquals"><list><block s="getCostumeIdx"></block><l>1</l></list></block></list></block><script><custom-block s="move in this square"></custom-block></script><list></list></block></script><script x="433.00000000000034" y="15.666666666666515"><custom-block s="possible winning triples"></custom-block></script><script x="434.00000000000034" y="46.49999999999949"><custom-block s="status of triple %l"><l/></custom-block></script><script x="438.00000000000034" y="84.49999999999915"><custom-block s="status of winning triples"></custom-block></script><script x="439.00000000000034" y="130.16666666666663"><custom-block s="winning triple for player %s"><l></l></custom-block></script><script x="244.00000000000034" y="43"><custom-block s="Winning square for player %s"><l></l></custom-block></script><script x="238.00000000000034" y="11.499999999999886"><custom-block s="won? %s"><l>O</l></custom-block></script><script x="246.00000000000034" y="74.33333333333309"><custom-block s="Can %s win now?"><l>X</l></custom-block></script><script x="10" y="13"><block s="receiveGo"></block><block s="clear"></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><block s="doSetVar"><l>board</l><block s="reportNumbers"><l>1</l><l>9</l></block></block><block s="doSetVar"><l>playing</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></scripts></sprite></sprites></stage><variables><variable name="X&apos;s turn?"><bool>false</bool></variable><variable name="board"><list struct="atomic" id="1079">O,O,X,4,O,6,X,X,X</list></variable><variable name="playing"><bool>false</bool></variable><variable name="win lines"><l>0</l></variable><variable name="Board"><l>0</l></variable></variables></scene></scenes></project><media name="U5L6-TicTacToe" app="Snap! 10.4.6, 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>