<snapdata remixID="13157328"><project name="U3L1-TicTacToe" app="Snap! 9.0, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAADdRJREFUeF7tnXlQVdcdx7+AbLK4gAouLIq7RtyiFZBo1IS6axtj07hkUp2amTbpNM0/mYmZaccm40Stnc5Yo0k0qUmtUVOsW4wrLmg0grKJioqsLoAIiiyd7zH3wuMSH755enz4+804D9+79/zu/b7P+53td851q6urq4OYKKBJATcBUJPy4lYpIAAKCFoVEAC1yi/OWwSAV65cQWFhIYqKiuDm5gY2ax/1a0BAAFq1amWXoLLSUtTU1qJjx47o1KkTunXrZvecp+kAlwfw0qVLyM3NRYcOHR7r95a24S/oW/gt3N0e7NYvbACqZq1CVVUViouLERUVpUAUu6+AywOYnJyM1q1bq5s5fvw4zp49iwEDBmDo0KEqCja2mpoa8J+Xl5f6iH97eHigurrajGiXL1/GjRs30KNHD/Wej4+PKuvevXvw9PRU52WtfA0T2hb8qKI7PCKfVX+7B0fiXvIGG7fXFx3ErVu31Hvl5eUYOXKk8PejAk0CyCqNv1b+02GMZv3794e3t7dd96dPn1bw0L7//nukpKSgtLRUVXlpaWlISEhATk4O1qxZg169emHmzJlYtWqVeu3SpQuys7Nx6NAhTJ06FdevX8fGjRsxfvx4Bd2IESOwadMm9ZqYmIi4uDjlZ86cObj0z9+aALr5B8PzZ6/Co1s0aq78gKrdy2yuu3DBXpSUlKj3eE/8gYj9RAQ02lOE4OjRo3Z/rc05xhGxCwoK1Bdvz/bv329Gs5MnT6q/2R5kO5CRrGfPnirC8YsvKytT4G3btg19+vRR0ZJ+Bg4cqH5sPKZt27YKSsIaHByM8+fPo7KyUn02btw4nDp1CpGRkcj/9HeY0LbQvDyv8W/BzdMXdTXVqNr5oc1l587fhZs3b6r3+GMxQLZ3b0/D55YIyC+xffv26t6XL1+Oa9euKcF2796NsWPHqmjBL8fd3V39qvnFLFy48JFo5e/vryB4kF29ehVHjhxpsg2Ynp6Ovn37/uTpBLRz587N6kw0LsQ36R/oV3rE/n0HRSI17q9mG5AaGvraP7nlH2EBkL9+RgzaihUrwEY+G823b99W7RdGgHnz5uGZZ55RMBLABQsWPBKl2HDv3bu33bLPnTsHtgVZhT4uYxUdGhpq1x0jK3Xr2rWrirSMyGL1ClgA5JfJ6GZYu3btFHxs6PPVz89PNdwJhzEMwfcfhbG6ag6Aj8K3lPl4FLAAmJWVZQLYysMDyZs/Rl1N1WO5ml4jJyAgNNL0RQDZVhNruQpYAMzMzDSHL35I/Azj8tbhrlcb3IiaiKLQGFS52++ZPoxc4Xey4X7iC3SuyoXXuDeREz7JPL22tlYAfBgxXfBYC4AZGRkmgKe2rkZ8yQ5cnfGp2RmoKMpDZco+eNsbgQXgMyAW9wKCVdVNY3VutC/5//z8fNVbZbXuselN9IqbjIthE20AfFAnwgX1lktupIAFQPYcaRx4JYA9PK6hw8zF5kBtwY71CNq+vFlCBs1+Bxei6nt9FRUVYM+WxsY5x+o4ZMJhkdHPRmO0dw7Od00w/RNOAbBZUrvsQRYAOXhr2A/ffIyx3f2R3mGMGuqYNWsWyvZ8Ab/EegCDXv4TaYWblw+uffa+jRAE8HyPMQgKClLvG50Y/n3x4kU1hcZhidWrV6sxvwneWcju8qJNGf369XNZceXC7StgAZCDs4ad/u8ajIn0Q/mQOdi8eTOmT5+O8r0bbAGc/Q5ubvk7Oi78EAXL37AAmN39OQXvlClT1HSUMW1GADkTwSEKjj3y7xd9s3Gu8wtmGYzCAqD9L9GVj7AAeObMGdUuo6UkrlUA3hr8qgKHVWjFvq/gt822CmakK9n2MWrKbMfh+D4BNAaTORNhAMjpMVbDzCrhbATHGn/udwGZIeNNPdleFABdGS/7124BMDU11QJgWfSvzfSm2pJihOQ0YwYAQEnUKJS18sedO3fUlRA2oxPCAW5GQcMI4KSAHGR0GmcDIOeExVquAk0CyOEPWuq2T/BcRGsQQMOK004i52+/B6ofPDbIPJS499eiKDDMTCpglWpkkzAC8p9h7JBMaXMZ6R2ftwFQJu5bLny8MwuAzC4xADzzv08VgHtr+oIzJOyEVCV9Df8GVbDvwBjU3amEm09rVKYesrQBM8PjzPw3pjj5+vqqYwgfo6BhTH6Y1i4XZ4PHmO8RVgHwKQTQSG86u/0zBeB31X1w7NgxLF68GHlbV9l0QihPz/9cxYXXo1FTYpu+xTZgRlgsDh48iEmTJqk2JOdQaYSvYQQkgDOC8pDaPt5UnJktnD8Va7kKWCIgkw0410tL27EO8eG+WJJ0P79uxowZqEv+xgZA3wExaD/tDdw6tAVl+/5tiYDp3WJU+hKrX2afNASwYQRkR+UXHQqQ0m60WQYTHQTAlgtfk1UwAWTmL4ExALwx4GVThfLd6xCStK5ZqgTMfEv1go0UdGarGEmmhI9AGkYAf9mxEKfbxplrOngss27EWq4CTeYDEkBa+s71eC7cF9f6z7IBJTc7E3crK+yqEt6nP0pKy5o8jvA1joCzQopxKjDGPJ7tRQHQrswufYAFQKa1GwBm7Pwc8RE+KO77knmTZck7ELx9GTztLMbhCcGz3kZGWIyZN8dxP6MXfPfuXbWGg8a5YFbNsztfx8mAUaYvjhkKgC7Nl92LtwB44sQJletHy9z9BeLDffBlXhAuXLiARYsWwe1Eom0bcGAs2jz/K5R99yUqUg5Y2oCpoSPMpYhMPmi4lJED08yqZhXN8l/pehMn/OoX7BDMQYMG2b0JOcB1FbAAyKjUGMDLEZOxcuVKLF26FKXffm6Ziru+4QOE/nE18pf+pkkAmWPI9RSc+zUiYGPJOAf9algpjreuXwfCxAUB0HXhas6VWwBkajurR1rWt/9SEXBHRQ+VpDp69GjcO/x1owgYg8D4l1C2f2OT44ApIc8iLCxMlUcAG0bAtWvXqvdDQkIQERGBuRG3cMxnuHndnDmJjo5uzn3IMS6qgAVAjvcZAJ7bswGjw3xQ0GuGeXue+Vlo//nbzbpd3z98guy6QDUFR2M2TMN0f/a4lyxZotaesCqeF1mOo97DzLIDAwMFwGYp7boHWQDkMsvGAKa0jVUdEy4tfBRzs4yAe/fuxWs9KnDEa6gNgIMHD3ZddeXK7SpgAZCpU40BPOY9VK2X5SowDp8Y+X2MbIyYXDjEaMbdCNiWY4eCQywxMTGqeuV5W7duRXx8vCqnofHzw4cPq4SF13vewWHPIebHbdq0gQBo9zt06QMsABowcCA6+7svMTLEDXlR0/Hee+/h3XffVVtWcIkhjW27jz76SFWTHLObP3++ynBZtmwZCA+n3ubOnauqXi54Z6+2YSeEYCYlJSlQ9+zZgwW9q5DUarA5EM0yhgypB9KllZaLb1IBC4AEwkifOr/3K3S7nYlLvWerqEdgWA0bCQWcYmOiKkHkVN369etVhGNnJS8vT4HEc4wtMNimM6biuCCcsI8aNUq9tinJxNRBoTjoXj/swjUkAmDLJtcC4Pbt280oRQBfqd6Jjb6TkOfZRe0iQJgeZIxyTCIwtqJo6lhW3YyI3KqMr/6tahF1+M+IeOE1HHCrn3pj9WtU9y37a3h6784CIIE4cOCA2uqiMv8cnk/7QKlzvKoLbtTeT6Vytr3gk62K9Br3FvbV3U9AZfo+93ERa9kKNLk7FgeO2Rtm8kB4ePhPDh47Wxp2XNjbZhtz4sSJZvq+s/1IeU+OAi6/P+CTI6VciSMKCICOqCbnOE0BAdBpUkpBjiggADqimpzjNAUEQKdJKQU5ooAA6Ihqco7TFBAAnSalFOSIAgKgI6rJOU5TQAB0mpRSkCMKCICOqCbnOE0BAdBpUkpBjiggADqimpzjNAUEQKdJKQU5ooAA6Ihqco7TFBAAnSalFOSIAgKgI6rJOU5TQAB0mpRSkCMKCICOqCbnOE0BrQAaTyt/0N0Y2wU33FHBaXcvBWlXQBuAfDpSUVGRWuLJjYu4NzWfGcItOviM4mnTpplPP+fSTG7TxqeXc6HSli1b1Odc+sln240ZU7+vtHZF5QIeSgFtAPIB2Nz/j9vBcSESIeOSTy7n5OJ34ynlXFvMpZlcP8wlowkJCdi1axcmTJignjNCAGNjYx/qpuXgJ0cBbQAyAvI5cd27dzf3juZ6YkZArj9m1UsI+R6r6smTJ4ObZw4bNkxtbDl8+HAVKblyT54p/OQA9bBXog1AXih342+4XVtTF9+cYx72puX4J0cBrQA+OTLIlehSQADUpbz4VQoIgAKCVgUEQK3yi3MBUBjQqoAAqFV+cS4ACgNaFRAAtcovzgVAYUCrAgKgVvnFuQAoDGhVQADUKr84FwCFAa0KCIBa5RfnAqAwoFUBAVCr/OJcABQGtCogAGqVX5wLgMKAVgUEQK3yi3MBUBjQqoAAqFV+cS4ACgNaFRAAtcovzgVAYUCrAgKgVvnFuQAoDGhVQADUKr84FwCFAa0KCIBa5RfnAqAwoFUBAVCr/OJcABQGtCogAGqVX5wLgMKAVgUEQK3yi3MBUBjQqoAAqFV+cS4ACgNaFRAAtcovzgVAYUCrAgKgVvnFuQAoDGhVQADUKr84FwCFAa0KCIBa5RfnAqAwoFUBAVCr/OJcABQGtCogAGqVX5wLgMKAVgUEQK3yi3MBUBjQqoAAqFV+cS4ACgNaFRAAtcovzgVAYUCrAgKgVvnFuQAoDGhV4P+KgtnzxdVJzwAAAABJRU5ErkJggg==</thumbnail><scenes select="1"><scene name="U3L1-TicTacToe"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportListIsEmpty"><block s="reportCDR"><block var="words"/></block></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></list></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></list></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="words"/></block><block s="reportCDR"><block s="reportCDR"><block var="words"/></block></block></block></custom-block></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="words"/></block><l> </l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></list></block></block></script></block></script><scripts><script x="229.00000300000002" y="196.77778077777774"><block s="reportJoinWords"><list><l></l><l></l></list></block></script></scripts></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="makeBoard" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="clear"></block><block s="up"></block><block s="setHeading"><l>90</l></block><block s="gotoXY"><l>-50</l><l>50</l></block><block s="doSwitchToCostume"><l>Empty</l></block><block s="bubble"><l></l></block><block s="show"></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</l><l>1</l></block><block s="changeXPosition"><l>50</l></block></script></block><block s="changeXPosition"><l>-150</l></block><block s="changeYPosition"><l>-50</l></block></script></block><block s="hide"></block></script></block-definition><block-definition s="Possible wins" 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>1</l><l>4</l><l>7</l></list></block><block s="reportNewList"><list><l>1</l><l>5</l><l>9</l></list></block><block s="reportNewList"><list><l>4</l><l>5</l><l>6</l></list></block><block s="reportNewList"><list><l>2</l><l>5</l><l>8</l></list></block><block s="reportNewList"><list><l>7</l><l>8</l><l>9</l></list></block><block s="reportNewList"><list><l>3</l><l>6</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"></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="status of winning triples" type="reporter" category="variables"><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 wins"></custom-block></block></block></script></block-definition><block-definition s="win or tie %&apos;player&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>won</l></list></block><block s="doSetVar"><l>won</l><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l></l><block s="reportNewList"><list><block var="player"/><block var="player"/><block var="player"/></list></block></list></block></autolambda><list></list></block><custom-block s="status of winning triples"></custom-block></block></block><l>0</l></list></block></block><block s="doIf"><block var="won"/><script><block s="doTellTo"><l>Square</l><block s="reifyScript"><script><block s="gotoXY"><l>-150</l><l>0</l></block><block s="show"></block><block s="write"><block s="reportJoinWords"><list><block var="player"/><l>WINS!!!</l></list></block><l>12</l></block><block s="hide"></block></script><list></list></block><list></list></block><block s="doSetVar"><l>playing?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list><block s="reportNot"><block s="reportListContainsItem"><block var="board"/><l>e</l></block></block><script><block s="doTellTo"><l>Square</l><block s="reifyScript"><script><block s="gotoXY"><l>-150</l><l>0</l></block><block s="show"></block><block s="write"><block s="reportJoinWords"><list><l>tie game </l></list></block><l>12</l></block><block s="hide"></block></script><list></list></block><list></list></block><block s="doSetVar"><l>playing?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></list></block></script></block-definition><block-definition s="best empty square" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportListItem"><l></l><block var="board"/></block><l>e</l></list></block></autolambda><list></list></block><block s="reportNewList"><list><l>5</l><l>1</l><l>3</l><l>7</l><l>9</l><l>2</l><l>4</l><l>6</l><l>8</l></list></block></block></block></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="365"><pentrails>data:image/png;base64,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QIBASECAQ0weESBAgACBXAEBzvU0jQABAgQIhAQEOMTkEQECBAgQyBUQ4FxP0wgQIECAQEhAgENMHhEgQIAAgVwBAc71NI0AAQIECIQEBDjE5BEBAgQIEMgVEOBcT9MIECBAgEBIQIBDTB4RIECAAIFcAQHO9TSNAAECBAiEBAQ4xOQRAQIECBDIFRDgXE/TCBAgQIBASECAQ0weESBAgACBXAEBzvU0jQABAgQIhAQEOMTkEQECBAgQyBUQ4FxP0wgQIECAQEhAgENMHhEgQIAAgVwBAc71NI0AAQIECIQEBDjE5BEBAgQIEMgVEOBcT9MIECBAgEBIQIBDTB4RIECAAIFcAQHO9TSNAAECBAiEBAQ4xOQRAQIECBDIFRDgXE/TCBAgQIBASECAQ0weESBAgACBXAEBzvU0jQABAgQIhAQEOMTkEQECBAgQyBUQ4FxP0wgQIECAQEhAgENMHhEgQIAAgVwBAc71NI0AAQIECIQEBDjE5BEBAgQIEMgVEOBcT9MIECBAgEBIQIBDTB4RIECAAIFcAQHO9TSNAAECBAiEBAQ4xOQRAQIECBDIFRDgXE/TCBAgQIBASECAQ0weESBAgACBXAEBzvU0jQABAgQIhAQEOMTkEQECBAgQyBUQ4FxP0wgQIECAQEhAgENMHhEgQIAAgVwBAc71NI0AAQIECIQEBDjE5BEBAgQIEMgVEOBcT9MIECBAgEBIQIBDTB4RIECAAIFcAQHO9TSNAAECBAiEBAQ4xOQRAQIECBDIFRDgXE/TCBAgQIBASECAQ0weESBAgACBXAEBzvU0jQABAgQIhAQEOMTkEQECBAgQyBUQ4FxP0wgQIECAQEhAgENMHhEgQIAAgVwBAc71NI0AAQIECIQEBDjE5BEBAgQIEMgVEOBcT9MIECBAgEBIQIBDTB4RIECAAIFcAQHO9TSNAAECBAiEBAQ4xOQRAQIECBDIFRDgXE/TCBAgQIBASECAQ0weESBAgACBXAEBzvU0jQABAgQIhAQEOMTkEQECBAgQyBUQ4FxP0wgQIECAQEhAgENMHhEgQIAAgVwBAc71NI0AAQIECIQEBDjE5BEBAgQIEMgVEOBcT9MIECBAgEBIQIBDTB4RIECAAIFcAQHO9TSNAAECBAiEBAQ4xOQRAQIECBDIFRDgXE/TCBAgQIBASECAQ0weESBAgACBXAEBzvU0jQABAgQIhAQEOMTkEQECBAgQyBUQ4FxP0wgQIECAQEhAgENMHhEgQIAAgVwBAc71NI0AAQIECIQEBDjE5BEBAgQIEMgVEOBcT9MIECBAgEBIQIBDTB4RIECAAIFcAQHO9TSNAAECBAiEBAQ4xOQRAQIECBDIFRDgXE/TCBAgQIBASECAQ0weESBAgACBXAEBzvU0jQABAgQIhAQEOMTkEQECBAgQyBUQ4FxP0wgQIECAQEhAgENMHhEgQIAAgVwBAc71NI0AAQIECIQEBDjE5BEBAgQIEMgVEOBcT9MIECBAgEBIQIBDTB4RIECAAIFcAQHO9TSNAAECBAiEBAQ4xOQRAQIECBDIFRDgXE/TCBAgQIBASECAQ0weESBAgACBXAEBzvU0jQABAgQIhAQEOMTkEQECBAgQyBUQ4FxP0wgQIECAQEhAgENMHhEgQIAAgVwBAc71NI0AAQIECIQEBDjE5BEBAgQIEMgVEOBcT9MIECBAgEBIQIBDTB4RIECAAIFcAQHO9TSNAAECBAiEBAQ4xOQRAQIECBDIFRDgXE/TCBAgQIBASECAQ0weESBAgACBXAEBzvU0jQABAgQIhAQEOMTkEQECBAgQyBUQ4FxP0wgQIECAQEhAgENMHhEgQIAAgVwBAc71NI0AAQIECIQEBDjE5BEBAgQIEMgVEOBcT9MIECBAgEBIQIBDTB4RIECAAIFcAQHO9TSNAAECBAiEBAQ4xOQRAQIECBDIFRDgXE/TCBAgQIBASECAQ0weESBAgACBXAEBzvU0jQABAgQIhAQEOMTkEQECBAgQyBUQ4FxP0wgQIECAQEhAgENMHhEgQIAAgVwBAc71NI0AAQIECIQEBDjE5BEBAgQIEMgVEOBcT9MIECBAgEBIQIBDTB4RIECAAIFcAQHO9TSNAAECBAiEBAQ4xOQRAQIECBDIFRDgXE/TCBAgQIBASECAQ0weESBAgACBXAEBzvU0jQABAgQIhAQEOMTkEQECBAgQyBUQ4FxP0wgQIECAQEhAgENMHhEgQIAAgVwBAc71NI0AAQIECIQEBDjE5BEBAgQIEMgVEOBcT9MIECBAgEBIQIBDTB4RIECAAIFcAQHO9TSNAAECBAiEBAQ4xOQRAQIECBDIFRDgXE/TCBAgQIBASECAQ0weESBAgACBXAEBzvU0jQABAgQIhAQEOMTkEQECBAgQyBUQ4FxP0wgQIECAQEhAgENMHhEgQIAAgVwBAc71NI0AAQIECIQEBDjE5BEBAgQIEMgVEOBcT9MIECBAgEBIQIBDTB4RIECAAIFcAQHO9TSNAAECBAiEBAQ4xOQRAQIECBDIFRDgXE/TCBAgQIBASECAQ0weESBAgACBXAEBzvU0jQABAgQIhAQEOMTkEQECBAgQyBUQ4FxP0wgQIECAQEhAgENMHhEgQIAAgVyB/wXInJaH53SbtwAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="366"></list></costumes><sounds><list struct="atomic" id="367"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Square" idx="1" x="-92.203125" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="372"><costumes><list id="373"><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="374"></list></sounds><blocks></blocks><variables><variable name="position"><l>10</l></variable></variables><scripts><script x="20" y="346.91666666666674"><block s="receiveOnClone"></block><block s="doSayFor"><block var="position"/><l>2</l></block></script><script x="20" y="416.58333333333337"><block s="receiveGo"></block><block s="doSetVar"><l>position</l><l>1</l></block><block s="doWait"><l>.1</l></block><block s="doSetVar"><l>board</l><block s="reportNewList"><list><l>e</l><l>e</l><l>e</l><l>e</l><l>e</l><l>e</l><l>e</l><l>e</l><l>e</l></list></block></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>playing?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script x="422" y="64.73333333333335"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="getCostumeIdx"></block><l>1</l></list></block><block var="playing?"/></list></block><script><block s="doIf"><block var="X&apos;s turn?"/><script><block s="doSwitchToCostume"><l>X</l></block><block s="doReplaceInList"><block var="position"/><block var="board"/><l>X</l></block><custom-block s="win or tie %s"><l>X</l></custom-block><block s="doWait"><l>1</l></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doBroadcast"><custom-block s="best empty square"></custom-block><list></list></block></script><list></list><comment w="90" collapsed="false">2 player code</comment></block></script><script x="427" y="347.73333333333335"><block s="receiveMessage"><l><option>any message</option></l><list><l>comp move</l></list></block><block s="doIf"><block var="playing?"/><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="comp move"/><block var="position"/></list></block><script><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="position"/><block var="board"/><l>O</l></block><custom-block s="win or tie %s"><l>O</l></custom-block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script><list></list></block></script><script x="20" y="45"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="getCostumeIdx"></block><l>1</l></list></block><block var="playing?"/></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"/><block var="board"/><l>X</l></block><custom-block s="win or tie %s"><l>X</l></custom-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="position"/><block var="board"/><l>O</l></block><custom-block s="win or tie %s"><l>O</l></custom-block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><list></list></block></script><script x="877" y="520.8333333333334"><block s="doIfElse"><block var="X&apos;s turn?"/><script></script><script></script></block></script></scripts></sprite><watcher var="X&apos;s turn?" style="normal" x="4.999999999999545" y="5.000000000000021" color="243,118,29" hidden="true"/><watcher scope="Square" var="position" style="normal" x="145.00000000000068" y="12.000001999999988" color="243,118,29"/><watcher var="board" style="normal" x="12.999999999999773" y="21.00000000000003" color="243,118,29" extX="80" extY="69.99999999999997"/><watcher var="player" style="normal" x="10.000000000000455" y="9.999999999999986" color="243,118,29" hidden="true"/><watcher var="playing?" style="normal" x="10.000000000000455" y="31.000001999999995" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="X&apos;s turn?"><bool>true</bool></variable><variable name="board"><list struct="atomic" id="555">O,X,O,X,O,e,O,X,X</list></variable><variable name="player"><l>0</l></variable><variable name="playing?"><bool>false</bool></variable></variables></scene></scenes></project><media name="U3L1-TicTacToe" app="Snap! 9.0, 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>