<snapdata remixID="14018248"><project name="U3L3 TicTacToe" app="Snap! 10.1-dev, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAAD4ZJREFUeF7tnXlQVdcdx78XHjsiOyggIIL7SlQUcd81sU1cE4210cS2U9MkzX/NpNPMaEfTpjptdIwxUYNLauKa2MSNAAougAKyCo9d9n17bLfzO+S9B2oUBZMD55wZhsd99573Wz6cc3+/87vnKaqqqpBNWuAXsoBCANbW1iIlJQUtLS3dFqO7PFtZWWHcuHHdlkN20DssoERERKg2Njbo379/tyTW1dfgzndHADz9gOofNB/9BviiqKgI3t7eGDhwYLdkkhfzbwElOTlZVRSl25JWXv4UIzKPQjUxxT9sxuKOu+aRfdrW2mLl0JVIiL+FICUdE8ovwiRwJfLGbmLXlZSUYPz48aB/Dtn6rgWUhIQENmSlpaUhOzsbQ4YMQUBAAJqbm5nWN27cwLRp06DT6R6wQnJyMmj6njhxIloj98E36xQ+6OeHD8deRJBPEKLron/ScqG6UEz2mGx4P+vrHZjkpiB7wh8Mx8rKyjBjxoy+a32pGZSYmBjDnEkgEVR79+5FbGwsdu/ejc2bNzMo+/XrBxMTE4wYMQInT57E6NGjMWrUKDg7O8PJyQmm1w/iYHkc/hkSjqXWS7Hcfjm8nL2QUZ6BpvomVFVUocahBn+v/Tto9EvwS0Bra6vBBTFXf8BC9QbujmofAalVVlZi9uzZ0k192AJKdHQ0A/DYsWNwc3NjoBFkx48fx9tvv41t27bB2toacXFxmDNnDlavXo3Tp0+zKZIAnDRpEqqqqmAZdwT15cewOKQYDoo33h/wPu6a38VQDIWHqQe0qhYnqk/gbPVZdpsYpguDp6enwbSJJ3djpnMtUoZtMByrqanB3Llz+7D5pWpKeHj400cNHexnd+cr+Gm/RkL/ZgZhpXnbI60b2BiI7a3bYWdnh7TYqxgZvxM+z81FvN9adl1TUxN8fX0xePBg6aU+bAElNDRUdXd377aKbo258Dcr71Y/NU7DcbvSnPVRWFiIl19+uVv9yYv5twDLA164cAGDBg2CqanpLy4xBT+UhpHBxy/uip9FAAYgfRIlou3t7WFpadnjH0zRrLm5Oby8vHq8b9lh77YAAzA8PBwDBgxAV/OBrc06pH3xHloq7j1ae0XBc6/+BTqnAJSXl8PFxYXd18kmLaC3gFJdXa0mJCSw0Y8avaYUy6NaTPh5PJ/xITQmxgS2+dy30BxzHGpFbqdL1ZDfI3fwC+xYUlISli9fLq0vLWCwAIuCbW1t2YGsrCycOHECrq6uMDMzQ3R0NEvJUG6QoKQRcv369bh15RJ+nf0vI4Dm1jCf9hpgokHThY86mbdt2u+Q4bmQHaOkdUhIiDS/tIARwKioqE5Lcdu3b2frwjRVUqK4uLgYVCAwc+ZM3Lx5E8uWLUNsxHksz/t3pxHQ6vWjaI79Ci03/9vJvK3Bm5HiNocdo2l40aJF0vzSAkYA6R7w6NGj8PDw6LJZUuOisSJ3F0w7TME/dXHDpNeQ4tq+mkEJ66VLl3b5c+SJfd8CLAhJT09HVFRUlyGkSNmpMBooyzJYiGLpjjUN7G8LG9SNXsGW1AoKCtgoKiPhvg/Vk2hoSMPQRRQN0yjV1dYxaqZsDv3d8be+H5rOadlONmmB+y3AAMzNzUV+fv4TwdeTpnRwcMCYMWOeSQ6yJ+WUffW8BZR79+6peXl5LEdHUW9QUNAjP6Ur5zyNmCRDcHDw01wqr+nFFlCSkpJU/erHzp070dDQwKperl27hlWrVmHHjh3w8/NjRQE0StJS2aZNxpKpntTdwsJCVkH3pEF7QV9KeXm5WlFRwUTdtWsXg2zx4sUsIa3ValnyeM2aNezYgQMHWIpm48aNz0Q1KkCYOnXqM+lbdsqnBZSysjKV8nP65ujoiOrqapaIppIoqg9sa2tjrynIoIIFSig/i0ZFCHIafhaW5bdPBiAVC1Az02hw/eSnQMuD5ffPQgX/6ctg6+hm6JoApPJ/2cSxgFJaWmoAMO7s55hXcAjVFm6o9J2DUs8QtOLHh4soyadP9t2f9HsCe3k0amEacxieuixYzP0TsryNiWladZEAPoEx+8CpSklJiVpaWspUuXVqH2ZXfoPsFw+yqJhaY1kR6uMuwqyLT84pdk6wnTgf+j4psKBpnBoBRst7lpYWsDz1DvyCn0em12KDGanMX64V9wGqnkAFpbi42ADg7dP74G9SBIeX/sYeUtdoNCj5PhQO33YuMHhc/w6fpoJyixSwUFRNz5TQ9EolXwQZPVMyffIEzLDQIsPTuDZM702fPv1x3cv3+5AFGIDkeGoE4Exfa5SNXA3Ky/n7+6PmwmF42bWXyTflpcHcM4C9rk+8AutRwVCbm6Bx8UTVuf1Qm3Voyr+L+wGkYgaKqCnKpRHuk08+weTJk7HAMh13PdorZajRqCkB7EN0dUEVpaioSKWpkVr8mf2YNdgatRPWs1URGsHqLh01AEjnqG2tUHX1sBo+BdWXjsBl0zaUhW6F4+p3kfXGc6wf+30pyMzMZD+0wkHTMAFIBQ8UQcfExLDXi6wzkDZgvkFM+RxwFzzWx05RCgsLDQAmnN3PRsCa8a+yabO+vh4NYV/CKfs6rEdPQ0tFERsF1ZZm2M1aDZ02ATURJ2C/dBM0Dm4o3vMuM4/d3iRWfEAAUx9Ujk8A0ghHtYc0EtKDUIttMpHqPq8TgFSwIJs4FmAAEhDUEr/5jAFYPW6dwQJqZRFctdFdLtdvsh+ASp+JrAKGGuUTaXsNKnYlCPWNAFzaLwvJru21gtQoIS4BFAc+0pStBRsB/JwBWDX2FYMVajISkbr9DaDNuIvBo0zkPS4IHm99zCJeWuKj5DVNwQQg/egbPQT/Qv8cJLkYdz4gAGfNmiWWBwTXVikoKHgAwEstw1gV9PDhw9Fy9SScf5yCK899htbK9vtFfTNzG4Q2XWOn4za7E1jUS1Mw3fPRlh6070xHAKns/1cOebjjbASOAJRbcYhFJAOQ7teoJZ07gBk+FIS8ijNnzmDt2rUoObu/UxBiOWQcqzxtLslnW7Fp7F1h5u6DqouhaEy+gcb0WFh/HM+iaNpfhpbWaBQk+AhCfaM844tOBUhwNG4+RNM2FULIJo4FlPz8/A4AHsQMHyt8nAiWB1y3bh1w7YwBQHOPIdDlphqi4JbKYpja9kdt9DdwXv9XaDeOZZaz+s9tlu/z8fFBTk4OO/YwAJe7FCLewZj3IwDlXjDiwMfuAfPy8lSqgKFRKulcO4Dlo1YbrNB46TCcw/c/YBWr0dPQkBBpOK7/WzHVQNlxlQUhtO9LXV0dq5Km0e/+EXCFaxFu24cYqqgp9SMBFBBAmi6ppXx3CNO9rVA2cpXBCq4uLshOTYJO19gly7i4D0Sz8uAWHwSffjSkjmhbt1XuJYizMxahUhXOvHnGtEyXPlCe1KstoOTm5rKK6HYAv8AMH0uUDF9pUKruxv/g+O1H0HRxE1VTjQbqtnA28tEISEEITeeUD6QENDXKMdLPmoFliO1nrP8jAOfPNyame7VlpfBdsoCSk5PDngmhlvp9KAMwrG0k4uPjsWHDBrRFn8IgOwv2/sOiYMthE6E2NkCXlWj8wA+jGXgUBdO0SrWE1Og1/VAOMCMjA694VuCmjfERALpGAtglv/WZkxiA+qkx7XwopntbonjYChw6dAhvvvkm6sOOGQAkrTWuXjAxs2CRcFNBJmwnL0b97TBoHN1RtPvPaKuthLojiiWVqao6MDDwodv7UqX1ukFVuGFt3KaXAFywYEGfMa5U5PEWULKzs1V9cJB+4TAD8LwuAPSkGm3L0Rp1Es45N1nhwQNLcVmJaKuvRv3tCLj/cSfyP1jDPrFt+1U25dIISMFIY2P7/eP+/e3BDI2AFCGv96nBNcuJxum+rg4LFxqLEx4vvjyjt1tAycrK6gDgEUz3tkBhwEsGvcwK0+F07D2oTQ2ddLUaFYyGxCvsmNWIIFYVQzlAm8B5yF/0Dpt2aQWEHmLS7wVN2/zSlr/08BOB+RvfWkRbtBcwUCNoJYC9Haknk1/RarUPAHjLLpgFEQTEs3ignEbAy5cv47d+9YgyD+wEoNw75skc2NvPZgDqiwQyLh1FyCBL3LKbyopRaUcDulfT7xtDhQXXr19nO2XR7ylTpuDKlSssyUz3fBMmTDA8VBQZGcmW8+gesGOjotSIiAg2Mm70b8QVzXjD21S8Sk/fySaOBZTMzMwOAB5DkLuKijFrsXXrVmzZsoXl7qgwlRp9HQOlUoYOHcp2uqL3CbQ9e/YYdjVYuXIlK7uip+eoyEG/9RtdT998RPBRUerFixfx+tAmRJoav5aL7hUlgOLAR5oqGRkZnQAcWJ+OwpGvsGiUvryGRjb95pU0eoWFhbERkQIMgohWOegbjSjXRyMYQUqPdlJqh8qwKN93P3wEoXOdFs+PdkWESfvyHTUCcMmSJWJ5QHBtlcjISJXu9ahpw77EmpbvcNxqCQrMPFm0+rjdrAhGul/U1/89zJ6UkKZpmiJf+m1uqiDg2lYELFiPH2DcjVW/A4PgPhFKfXYPSPdxVJ3SUJiBOXe2MQPENA1EaWv76NXTbYHVXdalZvYWhCtj2Gsqx6cdGGQTywJsd6zU1FT2nXBUwULfUkkByM/RqAyMpm36TJry5RcT/hxW5+szOu0PyJdoUhoRLCABFMHLHOsoAeTYOSKIJgEUwcsc6ygB5Ng5IogmARTByxzrKAHk2DkiiCYBFMHLHOsoAeTYOSKIJgEUwcsc6ygB5Ng5IogmARTByxzrKAHk2DkiiCYBFMHLHOsoAeTYOSKIJgEUwcsc6ygB5Ng5IogmARTByxzrKAHk2DkiiCYBFMHLHOsoAeTYOSKIJgEUwcsc6ygB5Ng5IogmARTByxzrKAHk2DkiiCYBFMHLHOsoAeTYOSKIJgEUwcsc6ygB5Ng5IogmARTByxzrKAHk2DkiiCYBFMHLHOsoAeTYOSKIJgEUwcsc6ygB5Ng5IogmARTByxzrKAHk2DkiiCYBFMHLHOsoAeTYOSKIJgEUwcsc6ygB5Ng5IogmARTByxzrKAHk2DkiiCYBFMHLHOsoAeTYOSKIJgEUwcsc6ygB5Ng5IogmARTByxzrKAHk2DkiiCYBFMHLHOsoAeTYOSKIJgEUwcsc6ygB5Ng5IogmARTByxzrKAHk2DkiiCYBFMHLHOsoAeTYOSKIJgEUwcsc6ygB5Ng5IogmARTByxzrKAHk2DkiiCYBFMHLHOsoAeTYOSKIJgEUwcsc6ygB5Ng5IogmARTByxzrKAHk2DkiiCYBFMHLHOsoAeTYOSKIJgEUwcsc6ygB5Ng5Ioj2fw5URwJfxQV9AAAAAElFTkSuQmCC</thumbnail><scenes select="1"><scene name="U3L3 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="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="gotoXY"><l>0</l><l>0</l></block><block s="setHeading"><l>90</l></block><block s="doSetVar"><l>position number</l><l>0</l></block><block s="show"></block><custom-block s="for %upvar = %n to %n %cs"><l>row</l><l>1</l><l>3</l><script><custom-block s="for %upvar = %n to %n %cs"><l>column</l><l>1</l><l>3</l><script><block s="doChangeVar"><l>position number</l><l>1</l></block><block s="createClone"><l><option>myself</option></l></block><block s="changeXPosition"><l>50</l></block></script></custom-block><block s="changeXPosition"><l>-150</l></block><block s="changeYPosition"><l>-50</l></block></script></custom-block><block s="hide"></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>step</l><l>tester</l></list></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="start"/><block var="end"/></list></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportVariadicLessThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>step</l><l>1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doUntil"><block s="evaluate"><block var="tester"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></block></script></block-definition><block-definition s="wins %&apos;x or o&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><custom-block s="for each %upvar of %l %cs"><l>item</l><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><custom-block s="status of triple %l"><l/></custom-block></autolambda><list></list></block><list><custom-block s="posible of winning triples"></custom-block></list></custom-block><script><block s="doIfElse"><block s="reportListContainsItem"><block var="item"/><l>Empty</l></block><script></script><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportListContainsItem"><block var="item"/><l>x</l></block><block s="reportListContainsItem"><block var="item"/><l>o</l></block></list></block><script></script><script><block s="doIf"><block s="reportListContainsItem"><block var="item"/><block var="x or o"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script></block></script></block></script></custom-block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition><block-definition s="status of triple %&apos;the later list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="board"/></block></autolambda><list></list></block><list><block var="the later list"/></list></custom-block></block></script></block-definition><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><list></list></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><list></list></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="reportVariadicEquals"><list><block var="data"/><block s="reportNewList"><list></list></block></list></block></block></script></block-definition><block-definition s="posible of 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="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></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="524"><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="525"></list></costumes><sounds><list struct="atomic" id="526"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Square" idx="1" x="0" y="-150" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="531"><costumes><list id="532"><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="533"></list></sounds><blocks></blocks><variables><variable name="position number"><l>9</l></variable></variables><scripts><script x="21.00000000000017" y="23.666666666666572"><block s="doWearNextCostume"></block></script><script x="10" y="90.66666666666686"><block s="createClone"><l><option>myself</option></l></block></script><script x="10.400000000000034" y="284"><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><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="doSetVar"><l>turns</l><l>0</l></block></script><script x="37.00000000000006" y="138.2500000000004"><block s="receiveGo"></block><block s="removeClone"></block></script><script x="433.3333333333337" y="10"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIfElse"><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><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doChangeVar"><l>turns</l><l>1</l></block><block s="doIf"><custom-block s="wins %s"><l>x</l></custom-block><script><block s="doSayFor"><l>X WON</l><l>2</l></block><block s="doStopThis"><l><option>this script</option></l></block></script><list></list></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="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doChangeVar"><l>turns</l><l>1</l></block><block s="doIf"><custom-block s="wins %s"><l>o</l></custom-block><script><block s="doSayFor"><l>O WON</l><l>2</l></block><block s="doStopThis"><l><option>this script</option></l></block></script><list></list></block></script></block></script><script><block s="doIfElse"><block var="X&apos;s turn?"/><script><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doSayFor"><l>Click a blank spot</l><l>2</l></block></script></block><block s="doForever"><script><block s="doIfElse"><block s="reportVariadicOr"><list><custom-block s="wins %s"><l>x</l></custom-block><custom-block s="wins %s"><l>o</l></custom-block></list></block><script><block s="doIfElse"><block s="reportKeyPressed"><l><option>left arrow</option></l></block><script><block s="doSwitchToCostume"><l>Empty</l></block><block s="doSayFor"><l>Winner has already won</l><l>2</l></block></script><script><block s="doSwitchToCostume"><l>Empty</l></block><block s="doSayFor"><l>Winner has already won</l><l>2</l></block></script></block><block s="doWait"><l>2</l></block><block s="doStopThis"><l><option>all</option></l></block></script><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="turns"/><l>9</l></list></block><script><block s="doSayFor"><l>Its a tie try again</l><l>2</l></block><block s="doStopThis"><l><option>this script</option></l></block></script><list></list></block></script></block></script></block></script></scripts></sprite><watcher scope="Square" var="position number" style="normal" x="10" y="52.00000399999999" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="1" y="54" color="243,118,29" extX="80" extY="70"/><watcher var="turns" style="normal" x="2" y="31.000001999999995" color="243,118,29"/><watcher var="X&apos;s turn?" style="normal" x="-2" y="5" color="243,118,29"/></sprites></stage><variables><variable name="X&apos;s turn?"><bool>true</bool></variable><variable name="board"><list struct="atomic" id="723">Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty</list></variable><variable name="turns"><l>0</l></variable></variables></scene></scenes></project><media name="U3L3 TicTacToe" app="Snap! 10.1-dev, 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>