<snapdata remixID="14106368"><project name="U3L3-TicTacToe-KEirich 2B" app="Snap! 10.3.6, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAADohJREFUeF7tnQtUF1Uex7/Dyz8vFUGSlJU1n4mp+TjtumkqvjKj1ERysTQ9m21keyo1O3qOlWVbbZZunjURRUEUBBQBNdTEfKApPlhfID7wkQ8egvI02PO77IzM8kcYd/gP8v/dczzm/O/cO/czn+7M3Pu7M1JlZWUlODEBgwhI1QUsKyvDtWvXUFpaatDhqKv18PBAq1atGsWx8EE0DAFFwOLiYpw8eRJubm7/V03NmjVDRXkJcm/dfOhycq5fg0+3nmL/3bt3Y8qUKQ9dFu/YuAkIAannO3LkiCLfjRs3cPXqVdDVWZIkTX+bTM0gnfpR7HfT8XGcLS2oc39vZ2+4tXRDaUEOhl4KgXtFHu787SBu374t6NHx9ejRo3GT5KN7KAJCwHPnzqGoqEgUcOXKFTz55JPiv2UB5ZIt9e/D4YvQa+IHuHPnjqg6KSkJs2bNeqgG8k6Nm4AQMD09HeXl5bh16xY6deokjjg5ORn+/v64e/eu2R6M8pw4cQJPPfVUg7QwPz9f1Evp8OHDmDZtWoPUw4UaS0AIePz4cdA94OnTpzFw4EBFwICAACxdulScfBcXF/Fn/vz5mDlzJpo3b47ExET4+vo2SAvOnz8PZ2dnUTbdHsyYMaNB6uFCjSUgBLx58ybOnDmDs2fPYtCgQcoRtW/fHrm5ufD09ARdpp944gkUFBSIS2ObNm1EPhKlIVJWVhYcHR1F0adOncL06dMbohou02ACylPwihUrxCVv8ODBBh9SVfVHjx4VQzA0LDRp0qRGcUx8EPoTUI0DRkZG4umnnxa1OJscIH3zJ9hJQLGNIzJde+teu2vxNfiUVfWgrr1GI/uZ95Q6vv/+ewwbNgyjR4/WvV4usPEQUAkYGxurPAGXFuahQ9QEhLpNwYuBU1VHbDKZ4OhoqncrbuffRoWZCZfLly/D1dUVHcJfACQJV6ZsV8qsqKhAt27d6l0HZ3w0CagEjImJUU56+d3bKImdi9bTQmq0bNGEIXjPq2qMrl5JkmC/+BeQVJSys7Ph7e0txvnWrl2L7m2cEZAbhuzXtirF0e2APBxUrzo40yNJQCXgxo0bxUmnk3+vqACx8QkIeq1qFoKGYzIzM9GzZ0+sfn0YFqScE9vPvmhmqkySaBDxPhBJgt03h5RhFRKQHjBsbGzEQw4N/XguH4xLk5OUgW/amQV8JJ3SdNAqAaOjo5Ue8LfiQiQm/4Tx48cr44A07kczEmumjlAELMs+g3u5v6L8RjbsPb1RsHM9HH3/KA7CsWs/XPjrH8Tl1ebrVCHxggULEBwcjIyMDKVcevDxCvHDxaBE5eBpJoUF1HQuH8nMKgGjoqIUAStK7iDhx10YN26c0jAfHx9cuHAB4dNG1SqgU89ByFn/ZZWAXfrh8vyxQkB8uR+2trZi+6VLl8Swj5yGDBmCx1cOw/lJW0QPSIn+7t69+yMJlQ+6/gRUAm7YsAFdu3at2rusCJu3JoseUE7yVFz2jo1ov+3retfi4N0NJcEhyMvLE/uUlJSIQW+5POoB260agaxX45UySVYWsN6IH9mMNQTs0qVLVQ9UXoxNST8ql2C5hdQzPebhjumjByn3dHW1PuCNN9Fj4HAUFhaKrPb29jhw4ICy23PPPYffhY3CucDNKgEbapalruPl3y1HoMY4oCyg7W+liE3YproEy4cV8ZcxeN1dw1MwJJR9tluZ2bh48aII/ZITCeizdjQyAuKUbSQpC2g5EYyqqYaAnTt3FsdiV1GGjfFJSg9IcYJxcXEgWaLe8seCXaeRMbZqOu5/02PB3+H6kneqbZZQuvAnODk5iW10H0nTa/IlmOafO0SMwdkJsSoBOQTLKC0sV69KwIiICMgCOuAeojYlKD3gvHnzQA8pdO8WEzxWEdDnn/tVT8G5UYvhOmgcitP3wfPNvyMz4Hd0QUfRxzvEoDPNJ+/YsQMUgSMnmn/uGOmP0+M3KtsosJUFtJwIRtVkVkDqmZpJv2FD3Bazl+DYd8bhz275NY653SexuDzvZWW7+6QPkRP+uRDw7oJkEUEj94DVBaQesNP6l3BqXLQyDkgCNlSol1Gwud6aBFQC0qyE3AOabCoQGbPZrIBtH/OEdOl+D1YXWOcOvjhz5YYS9GpnZ6d6CCEBu0SNxb9f3qAMw9B0HwtYF9lH//caAtKsBPWATnZARHScWQHDP52FgNI02NRzPV0Ln64onLYE9+7dE8RoQJpiEOX07LPPotvG8Uh/ab3SA9JMCc26cGraBFQCrlmzBh07dhQtdraXsHZDjCLgnj17sGvXLhGQmvB+oNlLcO2oJOR9lAha5UaJYggpvpDiCnv37i0CT7vHTsAJ/0ilCHpgYQGbtnzUOpWAYWFhioAuDjYIi4xWDUR/8cUXmD17NhI/eFX1EOLgXTV2WHRsN2gmpKL4DirLS3EnNem/T8MScucmoHXr1iIfBZvSA0n15BsXgOMvrlM2kZQsoJUJuHr1avGUSqm5yQ6rIjYoPSDNAy9fvhxLlizBtjlBtT4Fy3PB15fORMfIC8gMaC8eQm7O3qxEUZOA8pCMjLhn/Ks4+kK4QpzC/3v16tX0z4CVt1DVA65atUoRsIWjPULD15u9B9z96Vt4xeFyDXTVn4LVT8QSbszaBC8vL6UHnDp1KigecN26dWjXrh16bZmEtNFrlTKph2QBm76dKgFDQ0PRoUMH0Wo352ZYERYhLsEkCknyMOuEH7SuWI4LpHL7JE3G4VFhCnEasqH7Q05Nm4BKwJUrVyoCtnIx4YfV4aAhk7ffflvIRyJSWrRoEebMmWOWTE5ODtzd3ZXf9u3bJ6JfJk6cKFbeyQuN5AybNm0Syz/7bn0Nv4xcrezXokULFrBpuydapxIwJCRECEiyeTR3wr9C14g3JNAUHC0MHzFihNhp8eLFGDlyJLZv3y62Uy9HvRVFONNbDOj+jqSj6BcaeqH1xhReT70o3UvKKT4+HmPGjBH/7L99Cg4OD1WGYVq2bKmsT7GC82C1TVQJSCvjZAFbt3BGysqF2HHNDl999ZUARMMnJNu3336rrFojCSm2j6bT6JUe8lphWstL8YP0+7Fjx4SoNLBM438keEJCglhwRH/3/b07/K/+gNRhKxUBae5ZXiBltWfHChpeY02IPF3m2dJFLEraOWApUlJSxLjdgxaHU0wf3dNR2H5diV61MWrUKPHKDfrbdetH6OFwA/uHrlBmQtq2bcuLkuoC2QR+VwlIr8M4dOiQaFYrVxO6xFatx30/bwT6e9mZba78kFEbiwf9/mtBKV6xTYWXLcUJStjvt0IUQ8dBl2aajuPUtAmoBKSmLlu2THkQ6devL1q5Web9fBmZmWKAmuR7/vnnawxUN+3TYL2tqyGgjMKIF6fK60Gs93RYX8trFdD6UHCLjSDAAhpBnetUCLCALIOhBFhAQ/Fz5SwgO2AoARbQUPxcOQvIDhhKQMrKyqqkReKWegN+9XHG6uN+etZP61rkxVWG0uXK6yQgZWRk1HNpUZ1lNVgGqaQQybP8YGtb9eKi2pLJpQWe+WSb+Jle7UuLnTg1bgJSenp6pdaP0Vg6/7IPgrCox616kcwP3idepE496sGDB/krS/WiZlwmKS0tTfSAFL9HkSkODg4i3q9fv34iMOHdd9/Fzz//LHoTOqlpaWniaOkTDhRBPWDAALGN4gEpH71h6/r16yJgVd7m5+eH/fv3i7hAeu/z3r17RcwgvZWfyqFE2ygfBbDSfnQMtEqPQsRCPnoDn/ve//SX88cnUZF9DBV52SiNVn/AJuetPcpbuCj2MCgoyDi6XHOdBKQDBw4IASlamRYC0acZZAnoTfUUhEpCUYAovVSyT58+SE1NFTLu3LkTgYGBIjaQYvtIKPqkAyVackkyU29J5dKbsSgusH///uL1bBTxTKFbtE6EVsDRBxIpeJXKov8R6G2ttCaEpF3z8Qws8r3fA5KA945vgY2bN4p/CFQ18tfpO0FR2ZRoGWltkdt1kuEMFiEgpaSk1LgE02tz6RMJD7rU0ttLqz+86L1epHp5Uf/4EJ91vlQvILdmpIilA7Q//ZE/vFOvnTmTxQlIycnJjf4hhHrLvn361AknPz8Ph49U3SJQ77xw4cI69+EMxhIQ44BGhF41ZLM5rKsh6epbNg9E68uTS9NIgAXUCIyz60uABdSXJ5emkQALqBEYZ9eXAAuoL08uTSMBFlAjMM6uLwEWUF+eXJpGAiygRmCcXV8CLKC+PLk0jQRYQI3AOLu+BFhAfXlyaRoJsIAagXF2fQmwgPry5NI0EmABNQLj7PoSYAH15cmlaSTAAmoExtn1JcAC6suTS9NIgAXUCIyz60uABdSXJ5emkQALqBEYZ9eXAAuoL08uTSMBFlAjMM6uLwEWUF+eXJpGAiygRmCcXV8CLKC+PLk0jQRYQI3AOLu+BFhAfXlyaRoJsIAagXF2fQmwgPry5NI0EmABNQLj7PoSYAH15cmlaSTAAmoExtn1JcAC6suTS9NIgAXUCIyz60uABdSXJ5emkQALqBEYZ9eXAAuoL08uTSMBFlAjMM6uLwEWUF+eXJpGAiygRmCcXV8CLKC+PLk0jQRYQI3AOLu+BFhAfXlyaRoJWFRAp+GrUJGTjthPh4pPsnJiAhYVkHBLw2NU1NvkROPEtu/g4eHBZ8MKCVhcQPoyp82IWLOom9uXoG1+LE7ujbLCU2GdTba4gKY+76HUfYCKtkN2HLZ8Nxl+fkPFR7I5WQ8Biwo48uXJ2Hb3JZgqCzBv8DXMnfuh9ZDmlpolYDEB5Y9icw/HJlYnYDEBGTsTMEeABWQvDCXAAhqKnytnAdkBQwmwgIbi58pZQHbAUAIsoKH4uXIWkB0wlAALaCh+rpwFZAcMJcACGoqfK2cB2QFDCbCAhuLnyllAdsBQAiygofi5chaQHTCUAAtoKH6unAVkBwwlwAIaip8rZwHZAUMJsICG4ufK/wMZq6QCwfGDdAAAAABJRU5ErkJggg==</thumbnail><scenes select="1"><scene name="U3L3-TicTacToe-KEirich 2B"><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="show"></block><block s="doSwitchToCostume"><l>Empty</l></block><block s="doSetVar"><l>position number</l><l>1</l></block><block s="gotoXY"><l>-50</l><l>-50</l></block><block s="doRepeat"><l>3</l><script><block s="doRepeat"><l>3</l><script><block s="createClone"><l><option>myself</option></l></block><block s="doChangeVar"><l>position number</l><l>1</l></block><block s="forward"><l>50</l></block></script><comment w="90" collapsed="true">Columns loop</comment></block><block s="gotoXY"><block s="reportDifference"><block s="xPosition"></block><block s="reportVariadicProduct"><list><l>3</l><l>50</l></list></block></block><block s="reportVariadicSum"><list><block s="yPosition"></block><l>50</l></list></block></block></script><comment w="90" collapsed="true">Rows loop</comment></block><block s="hide"></block></script><scripts><comment x="180.5" y="10" w="123" collapsed="false">Start at (-50, -50)&#xD;repeat 3 times (rows)&#xD;   repeat 3 times (cols)&#xD;     create clone &#xD;     move 50&#xD;move to next row</comment><script x="285.5859375" y="123.63333333333338"><block s="doSayFor"><block var="position number"/><l>2</l></block></script><script x="345.9999999999999" y="168.63333333333338"><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script></script><list></list></block><list></list></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="status of triple %&apos;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 var="triple"/></block></block></script></block-definition><block-definition s="won? %&apos;letter&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 all winning triples"></custom-block><block s="reportNewList"><list><block var="letter"/><block var="letter"/><block var="letter"/></list></block></block></block></script></block-definition><block-definition s="status of all 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></blocks><primitives><block-definition s="if %&apos;condition&apos; %&apos;true case&apos; else %&apos;false case&apos;" type="command" category="control" selector="doIfElse" primitive="doIfElse"><header></header><code></code><translations></translations><inputs><input type="%b" readonly="true"></input><input type="%cs" readonly="true" irreplaceable="true"></input><input type="%cs" readonly="true" irreplaceable="true"></input></inputs><script><block s="doPrimitive"><l><bool>true</bool></l><l>doIfElse</l></block><block s="doRun"><block s="reportListItem"><block s="reportVariadicSum"><list><block var="condition"/><l>1</l></list></block><block s="reportNewList"><list><block var="false case"/><block var="true case"/></list></block></block><list></list></block></script></block-definition><block-definition s="replace item %&apos;#1&apos; of %&apos;#2&apos; with %&apos;#3&apos;" type="command" category="lists" selector="doReplaceInList" primitive="doReplaceInList"><header></header><code></code><translations></translations><inputs><input type="%n">1<options>1=1&#xD;last=$_last&#xD;random=$_random&#xD;&#126;&#xD;parent=$_parent</options></input><input type="%l" readonly="true"></input><input type="%s">thing</input></inputs><script><block s="doPrimitive"><l><bool>true</bool></l><l>doReplaceInList</l></block></script></block-definition></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="289"><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="290"></list></costumes><sounds><list struct="atomic" id="291"></list></sounds><variables></variables><blocks></blocks><scripts></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="296"><costumes><list id="297"><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="298"></list></sounds><blocks></blocks><variables><variable name="position number"><l>10</l></variable></variables><scripts><script x="26.600000000000023" y="10"><block s="doWearNextCostume"></block></script><comment x="155.59999999999985" y="25" w="233" collapsed="false">Snap uses the center of the square to mark it&apos;s position. Start @ (-50, -50). Next row (Xpos - 3 x 50, Ypos + 50)</comment><script x="10" y="109.33333333333334"><block s="receiveGo"></block><block s="doSwitchToCostume"><l>Empty</l></block><custom-block s="makeBoard"></custom-block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l><comment w="90" collapsed="true">X plays first.</comment></block></block><block s="doSetVar"><l>board</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><l>9</l><script><block s="doAddToList"><l>Empty</l><block var="board"/></block></script></block></script><script x="298.59999999999985" y="84.33333333333334"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="getCostumeIdx"></block><l>1</l></list></block><script><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></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="position number"/><block var="board"/><l>O</l></block></script></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportNot"><block var="X&apos;s turn?"/></block></block></script><list></list></block><block s="doIf"><custom-block s="won? %s"><l>X</l></custom-block><script><block s="doBroadcast"><l>X_won</l><list></list></block></script><list></list></block><block s="doIf"><custom-block s="won? %s"><l>O</l></custom-block><script><block s="doBroadcast"><l>O_won</l><list></list></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportNot"><custom-block s="won? %s"><l>X</l></custom-block></block><block s="reportNot"><custom-block s="won? %s"><l>O</l></custom-block></block></list></block><block s="reportNot"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportListContainsItem"><block s="reportNewList"><list><l></l></list></block><l>Empty</l></block></autolambda><list></list></block><block var="board"/></block></block></list></block><script><block s="doBroadcast"><l>Tie</l><list></list></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><custom-block s="won? %s"><l>X</l></custom-block><custom-block s="won? %s"><l>O</l></custom-block></list></block><block s="reportNot"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportListContainsItem"><block s="reportNewList"><list><l></l></list></block><l>Empty</l></block></autolambda><list></list></block><block var="board"/></block></block></list></block><script><block s="doSayFor"><l>Game Over</l><l>2</l></block><block s="doBroadcast"><l>Game over</l><list></list></block></script><list></list></block></script><script x="465.60000000000014" y="340.66666666666674"><custom-block s="possible winning triples"></custom-block></script><script x="19" y="320.33333333333337"><block s="receiveMessage"><l>Game over</l><list></list></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="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><l>9</l><script><block s="doAddToList"><l>Empty</l><block var="board"/></block></script></block></script></scripts></sprite><sprite name="Sprite" idx="2" x="-130" y="-107" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="0,69.36000000000006,173.4,1" pen="tip" id="503"><costumes><list struct="atomic" id="504"></list></costumes><sounds><list struct="atomic" id="505"></list></sounds><blocks></blocks><variables></variables><scripts><script x="193" y="248.73333333333335"><block s="receiveMessage"><l>X won</l><list></list></block><block s="doSayFor"><l>X won</l><l>2</l></block></script><script x="490" y="261.73333333333335"><block s="receiveMessage"><l>O won</l><list></list></block><block s="doSayFor"><l>O won</l><l>2</l></block></script><script x="759" y="267.73333333333335"><block s="receiveMessage"><l>Tie</l><list></list></block><block s="doSayFor"><l>Tie</l><l>2</l></block></script></scripts></sprite><watcher var="X&apos;s turn?" style="normal" x="5" y="4.999999999999986" color="243,118,29"/><watcher scope="Square" s="xPosition" style="normal" x="10.000000000000227" y="8.000000000000014" color="74,108,212" hidden="true"/><watcher scope="Square" s="yPosition" style="normal" x="7.000000000000227" y="37.00000200000002" color="74,108,212" hidden="true"/><watcher scope="Stage" s="reportMouseX" style="normal" x="7.000000000000227" y="59.00000399999996" color="4,148,220" hidden="true"/><watcher scope="Stage" s="reportMouseY" style="normal" x="17" y="105.00000599999998" color="4,148,220" hidden="true"/><watcher var="board" style="normal" x="10" y="10" color="243,118,29" extX="80" extY="70"/><watcher scope="Square" var="position number" style="normal" x="-5" y="127.000002" color="243,118,29"/></sprites></stage><variables><variable name="X&apos;s turn?"><bool>true</bool></variable><variable name="board"><list struct="atomic" id="538">Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty</list></variable></variables></scene></scenes></project><media name="U3L3-TicTacToe-KEirich 2B" app="Snap! 10.3.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>