<snapdata remixID="12150228"><project name="tictactoe" app="Snap! 7, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="tictactoe"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="map %&apos;function&apos; over %&apos;lists&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%mult%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>mapone</l><l>mapmany</l></list></block><block s="doSetVar"><l>mapone</l><block s="reifyScript"><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></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="evaluate"><block var="mapone"/><list><block s="reportCDR"><block var="data"/></block></list></block></block></block></script><list><l>data</l></list></block></block><block s="doSetVar"><l>mapmany</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportListItem"><l>1</l><block var="data lists"/></block></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></block><block s="evaluate"><block var="mapmany"/><list><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportCDR"><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></list></block></block></block></script><list><l>data lists</l></list></block></block><block s="doIfElse"><custom-block s="empty? %l"><block s="reportCDR"><block var="lists"/></block></custom-block><script><block s="doReport"><block s="evaluate"><block var="mapone"/><list><block s="reportListItem"><l>1</l><block var="lists"/></block></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="mapmany"/><list><block var="lists"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportEquals"><block var="data"/><block s="reportNewList"><list></list></block></block></block></script></block-definition><block-definition s="keep items such that %&apos;pred&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><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></block><block s="doIfElse"><block s="evaluate"><block var="pred"/><list><block s="reportListItem"><l>1</l><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 such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script><script><block s="doReport"><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block></script></block-definition><block-definition s="combine with %&apos;function&apos; items of %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="data"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="data"/></block></block></script></block><block s="doReport"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="combine with %repRing items of %l"><block var="function"/><block s="reportCDR"><block var="data"/></block></custom-block></list></block></block></script></block></script></block-definition><block-definition s="for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%l"></input><input type="%cs"></input></inputs><script><block s="doUntil"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doRun"><block var="action"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block></script></block-definition><block-definition s="winning triple %&apos;triple&apos;" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>triple results</l></list></block><block s="doSetVar"><l>triple results</l><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="fillboard"/></block></autolambda><list></list></block><list><block var="triple"/></list></custom-block></block><block s="doIf"><block s="reportAnd"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="triple results"/></block><l>X</l></block><block s="reportEquals"><block s="reportListItem"><l>2</l><block var="triple results"/></block><l>X</l></block></block><block s="reportEquals"><block s="reportListItem"><l>3</l><block var="triple results"/></block><l>X</l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doIf"><block s="reportAnd"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="triple results"/></block><l>O</l></block><block s="reportEquals"><block s="reportListItem"><l>2</l><block var="triple results"/></block><l>O</l></block></block><block s="reportEquals"><block s="reportListItem"><l>3</l><block var="triple results"/></block><l>O</l></block></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><block-definition s="any winning triples exist" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>winner</l></list></block><block s="doSetVar"><l>winner</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><custom-block s="for each %upvar of %l %cs"><l>triple</l><block var="possible triples"/><script><block s="doIf"><custom-block s="winning triple v2 %l"><block var="triple"/></custom-block><script><block s="doSetVar"><l>winner</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></custom-block><block s="doIfElse"><block var="winner"/><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><scripts><script x="283.6416045625" y="128.00000200000005"><custom-block s="winning triple %l"><block var="triple"/></custom-block></script></scripts></block-definition><block-definition s="winner exists" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>winner</l><l>is there a winner</l></list></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><scripts><script x="303" y="88.00000000000001"><block s="doReport"><l></l></block></script><script x="269" y="187.99999999999991"><block s="doIfElse"><block var="winner"/><script></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script><script x="286.5498066875" y="119.00000200000007"><block s="reportBoolean"><l><bool>false</bool></l></block></script><script x="73" y="89.00000000000001"><block s="doSetVar"><l>winner</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><custom-block s="for each %upvar of %l %cs"><l>triple</l><block var="possible triples"/><script><block s="gotoXY"><l>-200</l><l>0</l></block><block s="show"></block><block s="bubble"><l>Hello!</l></block><block s="bubble"><block var="triple"/></block><block s="doPauseAll"></block><block s="doSetVar"><l>is there a winner</l><custom-block s="winning triple %l"><block var="triple"/></custom-block></block><block s="doIf"><block var="is there a winner"/><script><block s="bubble"><l>The first triple is true</l></block><block s="doSetVar"><l>winner</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></custom-block></script></scripts></block-definition><block-definition s="winning triple v2 %&apos;triple&apos;" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportAnd"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>1</l><block var="triple"/></block><block var="fillboard"/></block><l>X</l></block><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>2</l><block var="triple"/></block><block var="fillboard"/></block><l>X</l></block></block><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>3</l><block var="triple"/></block><block var="fillboard"/></block><l>X</l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doIf"><block s="reportAnd"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>1</l><block var="triple"/></block><block var="fillboard"/></block><l>O</l></block><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>2</l><block var="triple"/></block><block var="fillboard"/></block><l>O</l></block></block><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>3</l><block var="triple"/></block><block var="fillboard"/></block><l>O</l></block></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><block-definition s="is winning triple %&apos;possible winning triple&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>winner</l></list></block><block s="doSetVar"><l>winner</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doIf"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>1</l><block var="possible winning triple"/></block><block var="fillboard"/></block><l>X</l></block><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>2</l><block var="possible winning triple"/></block><block var="fillboard"/></block><l>X</l></block><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>3</l><block var="possible winning triple"/></block><block var="fillboard"/></block><l>X</l></block></block></block><script><block s="doSetVar"><l>winner</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doIf"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>1</l><block var="possible winning triple"/></block><block var="fillboard"/></block><l>O</l></block><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>2</l><block var="possible winning triple"/></block><block var="fillboard"/></block><l>O</l></block><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>3</l><block var="possible winning triple"/></block><block var="fillboard"/></block><l>O</l></block></block></block><script><block s="doSetVar"><l>winner</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doReport"><block var="winner"/></block></script></block-definition><block-definition s="tie exists" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block s="reportListContainsItem"><block var="fillboard"/><l>Empty</l></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block-definition><block-definition s="makeBoardactual" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSwitchToCostume"><l>Empty</l></block><block s="doSetVar"><l>position number</l><l>1</l></block><block s="gotoXY"><l>-75</l><l>75</l></block><block s="doFor"><l>rows</l><l>1</l><l>3</l><script><block s="doFor"><l>columns</l><l>1</l><l>3</l><script><block s="createClone"><l><option>myself</option></l></block><block s="gotoXY"><block s="reportVariadicSum"><list><block s="xPosition"></block><l>50</l></list></block><block s="yPosition"></block></block><block s="doChangeVar"><l>position number</l><l>1</l></block></script></block><block s="gotoXY"><l>-75</l><block s="reportVariadicSum"><list><block s="yPosition"></block><l>-50</l></list></block></block></script></block></script></block-definition><block-definition s="won? %&apos;input&apos;" type="predicate" category="variables"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><l></l></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="711"><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="712"></list></costumes><sounds><list struct="atomic" id="713"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><watcher scope="tictactoe" var="id" style="normal" x="9.113753873597943" y="9.113753873597418" color="243,118,29" hidden="true"/><watcher var="temp" style="normal" x="7.64583333333394" y="7.645833333333343" color="243,118,29" hidden="true"/><watcher var="is it X turn" style="normal" x="10" y="10" color="243,118,29"/><watcher scope="tictactoe" var="position number" style="normal" x="10" y="34.000001999999995" color="243,118,29"/><watcher var="makeBoardactual" style="normal" x="10" y="55.00000399999999" color="243,118,29" hidden="true"/><sprite name="tictactoe" idx="1" x="999999999" y="999999999" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" costume="1" color="27,8,0,1" pen="tip" id="723"><costumes><list id="724"><item><ref mediaID="tictactoe_cst_Empty"></ref></item><item><ref mediaID="tictactoe_cst_O"></ref></item><item><ref mediaID="tictactoe_cst_X"></ref></item></list></costumes><sounds><list struct="atomic" id="725"></list></sounds><blocks></blocks><variables><variable name="id"><l>1</l></variable><variable name="position number"><l>10</l></variable></variables><scripts><script x="20" y="10"><block s="receiveGo"></block><block s="doSetVar"><l>win triple</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>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><block s="doSetVar"><l>counter</l><l>1</l></block><block s="doSetVar"><l>fillboard</l><block s="reportNewList"><list><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l></list></block></block><block s="doWait"><l>.25</l></block><custom-block s="makeBoardactual"></custom-block><block s="show"></block><block s="gotoXY"><l>999999999</l><l>999999999</l></block><block s="doSetVar"><l>is it X turn</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script x="20" y="290.66666666666663"><block s="receiveGo"></block><block s="removeClone"></block></script><script x="20" y="361.49999999999994"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doDeclareVariables"><list><l>check winner</l></list></block><block s="doIfElse"><block s="reportEquals"><block var="is it X turn"/><block s="reportBoolean"><l><bool>true</bool></l></block></block><script><block s="doSwitchToCostume"><l>X</l></block><block s="doSetVar"><l>is it X turn</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doReplaceInList"><block var="position number"/><block var="fillboard"/><l>X</l></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doSetVar"><l>is it X turn</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doReplaceInList"><block var="position number"/><block var="fillboard"/><l>O</l></block></script></block><block s="doSetVar"><l>check winner</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><custom-block s="for each %upvar of %l %cs"><l>triple</l><block var="win triple"/><script><block s="doIf"><custom-block s="is winning triple %l"><block var="triple"/></custom-block><script><block s="doSetVar"><l>check winner</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></custom-block><block s="doIfElse"><block var="check winner"/><script><block s="doSayFor"><l>you are winner1</l><l>5</l></block></script><script><block s="doIf"><custom-block s="tie exists"></custom-block><script><block s="doSayFor"><l>you tied!</l><l>5</l></block></script></block></script></block></script><script x="20" y="877.0000000000002"><block s="receiveOnClone"></block><block s="doSetVar"><l>position number</l><block var="counter"/></block><block s="doChangeVar"><l>counter</l><l>1</l></block></script><script x="570" y="226.50000000000057"><custom-block s="won? %s"><l>O</l></custom-block></script><script x="576" y="272.50000000000057"><custom-block s="won? %s"><l>X</l></custom-block></script></scripts></sprite></sprites></stage><variables><variable name="counter"><l>10</l></variable><variable name="game over"><bool>false</bool></variable><variable name="temp"><bool>false</bool></variable><variable name="win triple"><list id="913"><item><list struct="atomic" id="914">1,2,3</list></item><item><list struct="atomic" id="915">4,5,6</list></item><item><list struct="atomic" id="916">7,8,9</list></item><item><list struct="atomic" id="917">1,4,7</list></item><item><list struct="atomic" id="918">2,5,8</list></item><item><list struct="atomic" id="919">3,6,9</list></item><item><list struct="atomic" id="920">1,5,9</list></item><item><list struct="atomic" id="921">3,5,7</list></item></list></variable><variable name="fillboard"><list struct="atomic" id="922">X,Empty,O,X,O,Empty,X,Empty,Empty</list></variable><variable name="is it X turn"><bool>false</bool></variable><variable name="makeBoardactual"><l>0</l></variable></variables></scene></scenes></project><media name="tictactoe" app="Snap! 7, https://snap.berkeley.edu" version="2"><costume name="Empty" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAMdJREFUaEPtmrENgmAUBh9TYEfBIs6i4lAEZ6GVGAs3MjFxgK+5wJ+jv3y8O0q6auzpqupcVWsLdw3D+P4ddLlO62OZD33Tc3vVdLt/PGivGS201zL/97KQhWADfnKw8HjOQrEyGLAQLDyes1CsDAYsBAuP5ywUK4MBC8HC4zkLxcpgwEKw8HjOQrEyGLAQLDyes1CsDAYsBAuP5ywUK4MBC8HC4zkLxcpgwEKw8HjOQrEyGLAQLDyes1CsDAbaLtTKH419f9q+t56dV83eYNkAAAAASUVORK5CYII=" mediaID="tictactoe_cst_Empty"/><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="tictactoe_cst_O"/><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="tictactoe_cst_X"/></media></snapdata>