<snapdata remixID="10260868"><project name="U5L6-TicTacToe Shortcut" app="Snap! 6, https://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><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" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOhUlEQVR4Xu3VwQkAAAjEMN1/abewn7jAQRC64wgQIECAAIF3gX1fNEiAAAECBAiMAHsCAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+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+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIHLFxAWmhEwHPAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Square" idx="1" x="50" y="-50" heading="90" scale="0.95" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="8"><costumes><list id="9"><item><costume name="Empty" center-x="29" center-y="28" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA5CAYAAACMGIOFAAABKElEQVRoQ+2bIQ6DQBBFPzfoDVqDbhMEhqQVa/YWvQEWBzgsp1mzogKDIKnH0BtwhGYbQtLSVs9uPieYN/+/jFkiABWAI4ATwvzu0QJ5BnAJkxG3T8hJa400TQ8+A/d9PxljHILjeIfUWk9t2yKOY68hx3Gc8jyHMWYLWVUVyrL0OcR19rqu4Xg2SRLSs3yZJJ30qLKsK+vKusraAJ2kk7Ia+Xca1pV1ZV1lbYBO0klZjeQJoZN0kk7K2gCdpJOyGsk7SSfpJJ2UtQE6SSdlNZJ3kk7SSTopawN0kk7KaiTvJJ2kkyE4qZSam6ZBkiQ7j3g2ow7DMBdFAWut49g8z56VUsiyzGvIrutma62D/wrpc4C/Zn8leV0epO9DJATwcJCh/iqxZvYEuRuoAhendhsAAAAASUVORK5CYII=" id="10"/></item><item><costume name="X" center-x="29" center-y="29" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA6CAYAAAAKjPErAAADw0lEQVRoQ93bvU/bQBgG8IdWQgyWYOiQDYZuDAl7IUFd6AT8BYSNIQOoS7bAxggDCwzAxgZjlwoGxqoCQbYOsGWoKpAYEFKl6nE5yznss30fdpyTWGIH+3fve++ZOzOC4WwTAB4EbQTAJoAqgNqQeN8BqAB4AfAHwE+BrANoDAlSZlzIyBfP89BqtUbHxsZKZX5+fsbR0RF6vV4i0j+hVqvh/PwcExNM7XK05eVlnJ2dBTc7PT39u9vtfgDwJpLBSWWCrq6u+lEU7fDwEPf399jcZLmRkEtLS329UQaoDOx0Oj5ua2srGsmDk5OT4BdFG2SoDFxZWQkiqkSyJxj6QYeqgAxQIpInRUGZ64xs0S0JmBoZBWW1ZdUtEpoGmAnpl6aLC7AgPT4++gEsEipnV3gMytmVKl3DX7q6ukKj0SgUmgWYOZICWyRUBtbrdT/DVC1zJIuEysBqteoDk57GtJHE5hlRXaB2uuY9Rk2AVpCuI2oKtIZ0BeVwmJ+fx8PD/z/s045B4ylEVcVsjlFbQKuRtFl1ZeD4+Lhf5KamprSeIo2qa9wVTSIaBeQ0YfL46AQZN0b5UM/HQlXnhMcgI2gKdJKuqumFxwhtNptvnC4iKC7iLJLiAnd3d370rq+vA5gM5TkzMzNBFbUVwdyQvBCnAD7UR0F5jCnKSLLZBjpP13BORkH39vZwcHDgFJgrMi6i4Y44PT1VFiat+SPt8ofuL4/6HiM6OzuL29vbvsNxBcnGtZ0XHvkmiZybm8PNzc1wIuUiI3eAq2jmGklOE6KKEsjCs7+/r5xeSpWuUcv3fChQTS82gLlV1zigQLiGOk/XtGujLqFOkWmBqohyT4bbFSbNGTIrUAXl2GXl1W1OkLrAMHR9fR3Hx8eBywRqHSn2A8XdqZbvkyJDmA2oVWTW5fskJI/bgFpDugCKTjCFWkHaWBtNiqoJ1BiZB9A0okbIPIEmUG1kEUBdqBaSy4RclxFNd/k+aRyqjmcZo5mRNpfvTZBZppdMSBnI93z4WdImqCnGNKKpkS4Xf007QU5drvPyWVd0firkIAPjilH47bFEZBmAArqzs4ONjY0gMQR0d3c3/t26xcXFvk1QF6vbpqkqfz/q7bGFhQVsb2/z1P5XQdvtNk5OTsB9CrYyAAVYhlYqFfGCbz/S87y/T09P78sGjIO+fn4pXs/+DOBTOA3W1tbA3ihbYz0Jv8HMvSeB/ArAKxso5f3+IJK7o9wK/gJgFMAlgF8pf8Egn/bx9ea+Eyn+VYIf8ufbIN+5zr39A7wlN3D1pfCoAAAAAElFTkSuQmCC" id="11"/></item><item><costume name="O" center-x="28" center-y="28" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA5CAYAAACMGIOFAAAEX0lEQVRoQ+2aizUsQRCGeyJABGwEiAARsBEgAkSwuxEgAjYCRGA3AkSACBDB3PPNubWnts2juuexa6lznPsw091//VV/V1dP4pwbOuf23OraNPkPcrC6GN3oV4IcpWn641lNkmTknBMc80ymaboyUZskBGlm3YF8e3tz7+/v2aybm5tua2urVYe2DnI6nbr7+3s3mUzc8/NzKZidnR23v7/vjo6O3N5ecyLfCkiYGo1GGbjPz88oltbX1zOwg8GgNtONggTQ9fW1Gw7ZbotNh6gO3aI3GO/s7MwBPMYaA3l7e+suLi6+MQcgGJEwLFukhDV/Ss7K8wC8vLx0JycnwTgbAQm4q6urucnJKRgAXIyRw7xPTms7Pz/PwIZYLZCE5+npaZZ7YjAHYNhrwhgbYJpZxr65uTGHbzRIAB4cHMwp5vHxcQYwNneKnMJcAB2Px7NHUOLHx0fTXNEgYZA8FEMFqwSnLrOMj2qLkZ8wWmVRIP3JmChGEKoWl/d7HIuDQ5wbDJIc6ff7s0mQdl90YhYf8g6hy1Yldnd3V6oBwSB7vZ5jb8MODw/nRCdkoXWfRXweHh6yYSgLX19fC4cMAgljbBfY2tpaBrZpkbGCR4wA9/X1lb3CtgLDeWYGyaCwKGVa2aDWhdZ9TjsdZ8NmntPNIPWA7IUSsnUXWvd92JQ9tMjxZpC7u7uzPbFLNa1yglZbqiwqJd9MIAnRjY2N2bsfHx8Ly0UfgGVtJpAWb1V5vM3fU/28vLxkU+RFmQkkG72UVMsgOL7DtF5QWupKjGdNIDlJyGmAejH2ZNEWm+QhdTSWl5d/IMXziI7sj8skOrI+LT7sk6xRm4lJ9ZBb1lZl2Rr/QArlWqKfnp4c/14mo9VJsYJtb29/a32amFwhdR3OXfjo3NMgq85ui2BYn3GjtxDdCcjbbBcBTM+pi5W8NowK12ImdcxXHVAXAVhvcXmaYcpJFs7+IwfUZRIfTUDREdAMUofEMoWsZV1mkLo+hFlO4W1fuVWFPgd3uhViRXW1GSQDaZXl7wy6SKMol0Ny0YHZfAoRIL7nFrmd+P3XssgKYhKwOgcQI9jsugJCbGBRDg1VGhEMkoEJVTmJk5eobVetSb9rSBlHyJbNHwwSNvEkQGVLCbl8qZPDpAvde7mWp/cLwKpIigLJQn21bTt0/RBlDdYuRTRIJvGTH6By9V2HMf9d7j387nhIW7QWyLzQ5f8IHxpedXtBRAvXEvqrEWuIBncGqlghV7iAETGS5wGJGrOHWQsHxqJpRpT4jWJEhhOHdSxZR20mZSBUj9YgPyJI2jmwK1fsLFIWCii5cgBA3rc+sEe48hOj4o2B1GD9q++qSCj7fRNX9I2D1NWRfLIi94hWsNx7yicxoaGZN0drIPVkhLL+7EyHqA5d+ewsJiTLHNgJSCuDbT1n6gy0NXlX4/42Jr99nj1J0zTum7GuKDLMkyQJt7KC43d+g27w0497JGtJ/vjwrHL7P5XNSaMYdLI4AAAAAElFTkSuQmCC" id="12"/></item></list></costumes><sounds><list struct="atomic" id="13"></list></sounds><blocks></blocks><variables><variable name="position number"><l>10</l></variable></variables><scripts><script x="13.130080300813006" y="6.666666666666667"><block s="receiveGo"></block><block s="clear"></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="reportNumbers"><l>1</l><l>9</l></block></block><block s="doSetVar"><l>playing</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script x="11.796746967479654" y="361.33333333333303"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportAnd"><block var="playing"/><block s="reportEquals"><block s="getCostumeIdx"></block><l>1</l></block></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="doIf"><custom-block s="won? %s"><l>X</l></custom-block><script><block s="bubble"><l>X won!</l></block><block s="goToLayer"><l><option>front</option></l></block><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><custom-block s="draw win line"></custom-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></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="doIf"><custom-block s="won? %s"><l>O</l></custom-block><script><block s="bubble"><l>O won!</l></block><block s="goToLayer"><l><option>front</option></l></block><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><custom-block s="draw win line"></custom-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></block></script></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportNot"><block var="X&apos;s turn?"/></block></block><block s="doIf"><block s="reportAnd"><block var="playing"/><custom-block s="tied?"></custom-block></block><script><block s="bubble"><l>It&apos;s a tie.</l></block><block s="goToLayer"><l><option>front</option></l></block></script></block><block s="doDeclareVariables"><list><l>available squares</l></list></block><block s="doSetVar"><l>available squares</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="board"/></block></block><block s="doIf"><block s="reportAnd"><block var="playing"/><block s="reportEquals"><block s="reportListAttribute"><l><option>length</option></l><block var="available squares"/></block><l>1</l></block></block><script><block s="doReplaceInList"><block s="reportListItem"><l>1</l><block var="available squares"/></block><block var="board"/><l>X</l></block><block s="doIf"><block s="reportNot"><custom-block s="won? %s"><l>X</l></custom-block></block><script><block s="bubble"><l>It&apos;s a tie.</l></block><block s="goToLayer"><l><option>front</option></l></block><block s="doSetVar"><l>playing</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block></script></block></script><script x="8.46341363414634" y="1644.9999999999973"><block s="doSetVar"><l>win lines</l><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportNewList"><list><l>-100</l><l>50</l></list></block><block s="reportNewList"><list><l>100</l><l>50</l></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>-100</l><l>0</l></list></block><block s="reportNewList"><list><l>100</l><l>0</l></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>-100</l><l>-50</l></list></block><block s="reportNewList"><list><l>100</l><l>-50</l></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>-50</l><l>100</l></list></block><block s="reportNewList"><list><l>-50</l><l>-100</l></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>100</l></list></block><block s="reportNewList"><list><l>0</l><l>-100</l></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>50</l><l>100</l></list></block><block s="reportNewList"><list><l>50</l><l>-100</l></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>-100</l><l>100</l></list></block><block s="reportNewList"><list><l>100</l><l>-100</l></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>-100</l><l>-100</l></list></block><block s="reportNewList"><list><l>100</l><l>100</l></list></block></list></block></list></block></block></script><script x="14.463414634146337" y="1942.3333333333287"><custom-block s="draw win line"></custom-block></script><script x="13.79674796747967" y="2053.333333333329"><custom-block s="makeBoard"></custom-block></script><script x="13.46341363414634" y="308.9999999999997"><custom-block s="won? %s"><l></l></custom-block></script><script x="13.46341363414634" y="277.6666666666667"><custom-block s="status of all winning triples"></custom-block></script><script x="14.130080300813006" y="161"><custom-block s="possible winning triples"></custom-block></script><script x="17.130081300813004" y="239.33333333333348"><block s="reportEquals"><custom-block s="status of triple %l"><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></custom-block><block s="reportNewList"><list><l>X</l><l>X</l><l>X</l></list></block></block></script><script x="16.796746967479674" y="214.66666666666643"><custom-block s="status of triple %l"><l/></custom-block></script><script x="19.463413634146338" y="334.99999999999955"><custom-block s="tied?"></custom-block></script><script x="15.130081300813004" y="184"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="board"/></block></autolambda><list></list></block><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></block></script></scripts></sprite><sprite name="Sprite" idx="2" x="100" y="100" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="255,32,0,1" pen="tip" id="368"><costumes><list struct="atomic" id="369"></list></costumes><sounds><list struct="atomic" id="370"></list></sounds><blocks></blocks><variables></variables><scripts><script x="27" y="23.666666666666668"><block s="receiveGo"></block><block s="hide"></block><block s="setSize"><l>5</l></block><block s="setColor"><color>255,32,0,1</color></block></script></scripts></sprite><watcher scope="Square" var="position number" style="normal" x="10" y="298.500002" color="243,118,29" hidden="true"/><watcher var="playing" style="normal" x="10" y="325.499996" color="243,118,29" hidden="true"/><watcher var="win lines" style="normal" x="10" y="177.999998" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="0" y="27" color="243,118,29" extX="120" extY="105"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><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="reportGreaterThan"><block var="start"/><block var="end"/></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportLessThan"><block var="i"/><block var="end"/></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="reportGreaterThan"><block var="i"/><block var="end"/></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="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="errorObsolete"></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="words"/></block><block s="reportCDR"><block s="reportCDR"><block var="words"/></block></block></block></custom-block></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="words"/></block><l> </l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></list></block></block></script></block></script><scripts><script x="229.00000300000002" y="196.77778077777774"><block s="reportJoinWords"><list><l></l><l></l></list></block></script></scripts></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="makeBoard" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSwitchToCostume"><l>Empty</l></block><block s="show"></block><block s="setEffect"><l><option>ghost</option></l><l>30</l></block><block s="setScale"><l>95</l></block><block s="doSetVar"><l>position number</l><l>1</l></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><l>3</l><script><custom-block s="for %upvar = %n to %n %cs"><l>j</l><l>1</l><l>3</l><script><block s="gotoXY"><block s="reportSum"><l>-100</l><block s="reportProduct"><l>50</l><block var="j"/></block></block><block s="reportDifference"><l>100</l><block s="reportProduct"><l>50</l><block var="i"/></block></block></block><block s="createClone"><l><option>myself</option></l></block><block s="doChangeVar"><l>position number</l><l>1</l></block></script></custom-block></script></custom-block><block s="hide"></block></script></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"></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 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><block-definition s="won? %&apos;who&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></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="who"/><block var="who"/><block var="who"/></list></block></block></block></script></block-definition><block-definition s="tied?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportEquals"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="board"/></block><l></l></block></block></script></block-definition><block-definition s="draw win line" type="command" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doFor"><l>i</l><l>1</l><l>8</l><script><block s="doDeclareVariables"><list><l>line</l></list></block><block s="doIf"><block s="reportOr"><block s="reportEquals"><block s="reportListItem"><block var="i"/><custom-block s="status of all winning triples"></custom-block></block><block s="reportNewList"><list><l>X</l><l>X</l><l>X</l></list></block></block><block s="reportEquals"><block s="reportListItem"><block var="i"/><custom-block s="status of all winning triples"></custom-block></block><block s="reportNewList"><list><l>O</l><l>O</l><l>O</l></list></block></block></block><script><block s="doSetVar"><l>line</l><block s="reportListItem"><block var="i"/><block var="win lines"/></block></block><block s="up"></block><block s="doGotoObject"><block s="reportListItem"><l>1</l><block var="line"/><comment w="137.33333333333334" collapsed="false">This is why each line in WIN LINES is a list of points, each of which is a list of x,y coordinates:  It allows us to use the endpoints, as points, in the GO TO block.</comment></block></block><block s="down"></block><block s="doGotoObject"><block s="reportListItem"><l>2</l><block var="line"/></block></block><block s="up"></block></script></block></script></block></script><scripts><comment x="174" y="6.666666666666668" w="244" collapsed="false">I&apos;m kind of bummed that I didn&apos;t find a beautiful one-line solution using FIND FIRST, but it just gives the value it finds, not the position in the list, which is what we need to find the line endpoints in WIN LINES. So it&apos;s a plain old fashioned FOR loop.</comment></scripts></block-definition></blocks><variables><variable name="X&apos;s turn?"><bool>true</bool></variable><variable name="board"><list struct="atomic" id="762">X,X,O,O,O,X,X,O,X</list></variable><variable name="playing"><bool>false</bool></variable><variable name="win lines"><list id="763"><item><list id="764"><item><list struct="atomic" id="765">-100,50</list></item><item><list struct="atomic" id="766">100,50</list></item></list></item><item><list id="767"><item><list struct="atomic" id="768">-100,0</list></item><item><list struct="atomic" id="769">100,0</list></item></list></item><item><list id="770"><item><list struct="atomic" id="771">-100,-50</list></item><item><list struct="atomic" id="772">100,-50</list></item></list></item><item><list id="773"><item><list struct="atomic" id="774">-50,100</list></item><item><list struct="atomic" id="775">-50,-100</list></item></list></item><item><list id="776"><item><list struct="atomic" id="777">0,100</list></item><item><list struct="atomic" id="778">0,-100</list></item></list></item><item><list id="779"><item><list struct="atomic" id="780">50,100</list></item><item><list struct="atomic" id="781">50,-100</list></item></list></item><item><list id="782"><item><list struct="atomic" id="783">-100,100</list></item><item><list struct="atomic" id="784">100,-100</list></item></list></item><item><list id="785"><item><list struct="atomic" id="786">-100,-100</list></item><item><list struct="atomic" id="787">100,100</list></item></list></item></list></variable></variables></project><media name="U5L6-TicTacToe Shortcut" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>