<snapdata remixID="12352783"><project name="U5 Lab 6" app="Snap! 8.2, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="U5 Lab 6"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportListIsEmpty"><block s="reportCDR"><block var="words"/></block></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script></block><block s="doIf"><block s="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></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></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="doFor"><l>Row</l><l>1</l><l>3</l><script><block s="doFor"><l>column</l><l>1</l><l>3</l><script><block s="doChangeVar"><l>Square position number</l><l>1</l></block><block s="createClone"><l><option>myself</option></l></block><block s="changeYPosition"><l>-50</l></block></script></block><block s="changeYPosition"><l>150</l></block><block s="changeXPosition"><l>50</l></block></script></block></script></block-definition><block-definition s="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="Status of triples" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></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><l>1</l><l>2</l><l>3</l></list></block></block></block></script></block-definition><block-definition s="Won? %&apos;a&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doForEach"><l>item</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="Board"/></block></autolambda><list></list></block><custom-block s="Winning triples?"></custom-block></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="item"/><block s="reportNewList"><list><block var="a"/><block var="a"/><block var="a"/></list></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition><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></block></list></block><script><block s="doSwitchToCostume"><l>X</l></block><block s="doReplaceInList"><block var="Square position number"/><block var="Board"/><l>X</l></block><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="Won? %txt"><l>x</l></custom-block><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><script><block s="goToLayer"><l><option>front</option></l></block><block s="bubble"><l>CONGRATS X WON THE GAME!</l></block></script></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="Square position number"/><block var="Board"/><l>O</l></block><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="Won? %txt"><l>O</l></custom-block><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><script><block s="goToLayer"><l><option>front</option></l></block><block s="bubble"><l>CONGRATS O WON THE GAME!</l></block></script></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></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="goToLayer"><l><option>front</option></l></block><block s="bubble"><l>We tied! Tough Game!</l></block></script></block></script></block-definition><block-definition s="Vacant squares" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>Vacant?</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="Board"/><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="item"/><l>X</l></list></block><block s="reportVariadicEquals"><list><block var="item"/><l>O</l></list></block></list></block></block><script><block s="doAddToList"><block s="reportBoolean"><l><bool>true</bool></l></block><block var="Vacant?"/></block></script><script><block s="doAddToList"><block s="reportBoolean"><l><bool>false</bool></l></block><block var="Vacant?"/></block></script></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="doDeclareVariables"><list><l>a</l></list></block><block s="doForEach"><l>Vacant</l><block var="Board"/><script><block s="doForEach"><l>Best moves</l><block s="reportNewList"><list><l>1</l><l>3</l><l>5</l><l>7</l><l>9</l></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="Vacant"/><block var="Best moves"/></list></block><script><block s="doSetVar"><l>a</l><block var="Vacant"/></block></script></block></script></block></script></block><block s="doReport"><block var="a"/></block></script></block-definition><block-definition s="How many %&apos;blank&apos; in %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doForEach"><l>item</l><block var="list"/><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="item"/><block var="blank"/></list></block><script><block s="doChangeVar"><l>a</l><l>1</l></block></script></block></script></block><block s="doReport"><block var="a"/></block></script></block-definition><block-definition s="Winning triple for %&apos;player&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></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 s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="Board"/></block></autolambda><list></list></block><custom-block s="Winning triples?"></custom-block></block><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><custom-block s="How many %s in %s"><block var="player"/><block var="item"/></custom-block><l>2</l></list></block><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportListContainsItem"><block var="item"/><l>O</l></block><block s="reportListContainsItem"><block var="item"/><l>X</l></block></list></block></block></list></block><script><block s="doSetVar"><l>a</l><block var="item"/></block></script></block></script></block><block s="doReport"><block var="a"/></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"></input></inputs><script><block s="doIfElse"><block s="reportVariadicEquals"><list><custom-block s="Winning triple for %s"><block var="player"/></custom-block><l>0</l></list></block><script><block s="doReport"><custom-block s="best empty square"></custom-block></block></script><script><block s="doForEach"><l>item</l><custom-block s="Winning triple for %s"><block var="player"/></custom-block><script><block s="doIf"><block s="reportIsA"><block var="item"/><l><option>number</option></l></block><script><block s="doReport"><block var="item"/></block></script></block></script></block></script></block></script></block-definition><block-definition s="next move for computer" type="reporter" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><custom-block s="can player %s win now?"><block var="Computer"/></custom-block><script><block s="doReport"><custom-block s="Winning square for player %s"><block var="Computer"/></custom-block></block></script></block><block s="doIf"><custom-block s="can player %s win now?"><block var="Human"/></custom-block><script><block s="doReport"><custom-block s="Winning square for player %s"><block var="Human"/></custom-block></block></script></block><block s="doReport"><custom-block s="best empty square"></custom-block></block></script></block-definition><block-definition s="can player %&apos;player&apos; win now?" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportVariadicEquals"><list><custom-block s="Winning triple for %s"><block var="player"/></custom-block><l>0</l></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doForEach"><l>item</l><custom-block s="Winning triple for %s"><block var="player"/></custom-block><script><block s="doIf"><block s="reportIsA"><block var="item"/><l><option>number</option></l></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="Play as X or O?" type="command" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>Computer start?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doAsk"><l>Would you like to play as X or O?</l></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="getLastAnswer"></block><l>X</l></list></block><script><block s="doSetVar"><l>Human</l><l>X</l></block><block s="doSetVar"><l>Computer</l><l>O</l></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="getLastAnswer"></block><l>O</l></list></block><script><block s="doSetVar"><l>Human</l><l>O</l></block><block s="doSetVar"><l>Computer</l><l>X</l></block><block s="doSetVar"><l>Computer start?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doSayFor"><l>No Answer Given</l><l>2</l></block><block s="doStopThis"><l><option>all</option></l></block></script></block></script></block></script></block-definition><block-definition s="Play against human or computer?" type="command" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doAsk"><l>Play against human or computer?</l></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="getLastAnswer"></block><l>human</l></list></block><script><block s="doSetVar"><l>Human?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="getLastAnswer"></block><l>computer</l></list></block><script><block s="doSetVar"><l>Human?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doSayFor"><l>No Answer Given</l><l>2</l></block><block s="doStopThis"><l><option>all</option></l></block></script></block></script></block></script></block-definition><block-definition s="Human" type="command" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="Move in this square"></custom-block></script></block-definition><block-definition s="Computer" type="command" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="getCostumeIdx"></block><l>1</l></list></block><block s="reportVariadicEquals"><list><block s="getCostumeIdx"></block><l>2</l></list></block></list></block><script><custom-block s="Move in this square"></custom-block></script></block><custom-block s="Vacant squares"></custom-block><block s="doBroadcast"><custom-block s="next move for computer"></custom-block><list></list></block></script></block-definition><block-definition s="Game won?" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><custom-block s="Won? %txt"><l>X</l></custom-block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doIf"><custom-block s="Won? %txt"><l>O</l></custom-block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition></blocks><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="true" hyperops="true" codify="false" inheritance="false" sublistIDs="false" id="769"><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="770"></list></costumes><sounds><list struct="atomic" id="771"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><watcher var="X&apos;s turn?" style="normal" x="5" y="5" color="243,118,29" hidden="true"/><watcher scope="Square" var="Square position number" style="normal" x="14" y="24.000003999999983" color="243,118,29" hidden="true"/><watcher var="Board" style="normal" x="17" y="71" color="243,118,29" hidden="true"/><watcher var="Vacant?" style="normal" x="16" y="11" color="243,118,29" hidden="true"/><watcher var="Human?" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher var="Human" style="normal" x="10" y="34.000002" color="243,118,29" hidden="true"/><watcher var="Computer" style="normal" x="10" y="55.000004000000004" color="243,118,29" hidden="true"/><watcher var="Computer start?" style="normal" x="10" y="76.000006" color="243,118,29" hidden="true"/><sprite name="Square" idx="1" x="75" y="75" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" costume="2" color="80,80,80,1" pen="tip" id="784"><costumes><list id="785"><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="786"></list></sounds><blocks></blocks><variables><variable name="Square position number"><l>9</l></variable></variables><scripts><script x="20" y="10"><block s="doWearNextCostume"></block></script><script x="20" y="45.83333333333354"><block s="receiveGo"></block><custom-block s="Play as X or O?"></custom-block><block s="doSwitchToCostume"><l>Empty</l></block><block s="setEffect"><l><option>ghost</option></l><l>0</l></block><block s="gotoXY"><l>-75</l><l>75</l></block><block s="doSetVar"><l>Square position number</l><l>0</l></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><custom-block s="makeBoard"></custom-block><block s="doIf"><block s="reportVariadicEquals"><list><block var="Computer start?"/><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><script><block s="doBroadcast"><custom-block s="next move for computer"></custom-block><list></list></block></script></block><block s="setEffect"><l><option>ghost</option></l><l>100</l></block><block s="doSetVar"><l>Board</l><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l><l>4</l><l>5</l><l>6</l><l>7</l><l>8</l><l>9</l></list></block></block></script><script x="332" y="174.83333333333326"><block s="receiveInteraction"><l>clicked</l></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="Human?"/><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><script><custom-block s="Human"></custom-block></script><script><custom-block s="Computer"></custom-block></script></block></script><script x="267" y="14.333333333333371"><block s="receiveMessage"><l><option>any message</option></l><list><l>data</l></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block var="data"/><block var="Square position number"/></list></block><block s="reportVariadicEquals"><list><custom-block s="Game won?"></custom-block><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></list></block><script><custom-block s="Move in this square"></custom-block></script></block></script></scripts></sprite></sprites></stage><variables><variable name="X&apos;s turn?"><bool>false</bool></variable><variable name="Board"><list struct="atomic" id="890">O,X,X,X,O,O,X,O,X</list></variable><variable name="Vacant?"><list id="891"><item><bool>false</bool></item><item><bool>false</bool></item><item><bool>true</bool></item><item><bool>false</bool></item><item><bool>false</bool></item><item><bool>false</bool></item><item><bool>false</bool></item><item><bool>false</bool></item><item><bool>false</bool></item></list></variable><variable name="Human?"><bool>false</bool></variable><variable name="Human"><l>O</l></variable><variable name="Computer"><l>X</l></variable><variable name="Computer start?"><bool>true</bool></variable></variables></scene></scenes></project><media name="U5 Lab 6" app="Snap! 8.2, 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>