<snapdata remixID="9698525"><project name="U3L3-Tic-Tac-Toe" 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="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="8"><costumes><list id="9"><item><costume name="Empty" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAx0lEQVRoQ+2awQ2CUBAFlybwjJVYi+RblNFauEIMBzsyMbGAd5ngz3CfPHaGI0N19gxVdamqpYe7pum8fw+6zm15Pu5/fdO6verW2tuDjprRQkct83svC1kINuAnBwuP5ywUK4MBC8HC4zkLxcpgwEKw8HjOQrEyGLAQLDyes1CsDAYsBAuP5ywUK4MBC8HC4zkLxcpgwEKw8HjOQrEyGLAQLDyes1CsDAYsBAuP5ywUK4MBC8HC4zkLxcpgoO9CvfzROI6n7QMbcJ2IL5z4zQAAAABJRU5ErkJggg==" id="10"/></item><item><costume name="X" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAACBUlEQVRoQ+3aO0/CUBQH8MMGIRFnooaRL0BgdCIGqQnxASgQjMjqc3A04maM38KwOTqqm8YEFx+rr0QdcSMupiQ1olTOvfec3hZha9LH/d1/e8M/rQ8AIoaR2QoG/X7w+K/V+rj2AcB4LBY/LpUXPQ16e32Bq0bjoQ3KZvNH9frhsJcDOr+4hN1abQBybYj/M6HHp2cYGx1xVSp2Y0IltFSpQjgchtrOtitQN7d3YKTTsLd/ANOZqY4xoUDN5jtUlqsQjUa1oyzMQqHYdSwokDkFbkD1wpjjRIN0ozAYYZAuFBYjBXIaJYKRBjmFEsUogbhRMhhlEBdKFkMCokapYMhAVChVDClIFUWBIQfJoqgwLCBRFCWGDYRFUWNYQb1QHBh2kB2KC+MI6Ccql8u2y5ldn+loaxIbQvVB4vxfh5h9qlAswdnpCaysrrEVRcdA5m02mUpBIBCAmdk5b4O+PzObG+usdZ49oW4LAGedZwX9tZpxodhAmKWZA8UCwmCs5Y8aRQ4SwXCgSEEyGGoUGUgFQ4kiAVFgqFDKIEoMBUoJxIFRRUmDODEqKCmQExhZlDDISYwMSgikAyOKQoN0YkRQKJAbMFgUCpRMTkA8kWBrmaLV3vpDm8vPy700duNrfRMVCg39mgtUQqIzqHP/AUjn7GOu3d8J9dsHgBEAKGNi9cA+958uiHxCYDA7+gAAAABJRU5ErkJggg==" id="11"/></item><item><costume name="O" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAEYElEQVRoQ+2aS0wTURSG/64VcKULBAMK1MfCFo1uFEFDjOArahR8xKgFJS4gRuOGUsrGIBUXxgfFxKhA8REfYGKIiuhCEGk1EURJJIKK7njoGnPG3KSlM507M3cKIpM0XfTeM+c7/5lz7z1TC6bZZQGwDkDrdOBKSkrukoAOHXa0Xq2t+aeZ2js6UeBwvJsBmqoyzijEq0zLk2fw+wPo+/QRrc+eor//c9jUnbt2Iz4+HsttdmRlZiAxYT6vecVxQhUaGPwKr7cWdTdvIH3FSuljt9tgTUuVdZZu3vvxE94G/Hj44L40fk9ePnZs36IbTAhQMEjB0SLk5+3WFe279x7C11CPkeFhFB4r0gVmGOja9Tq4XU4QyLFCB+LiYnVHl02kdK2qrERCYiLKypyagqMbaGRkFGWucvR0d8NdUYHVq1YaBgk2QPYvXfGi5vJFXK7xIntDFpd9XUB0syOOAsTGxuKcp0qIKkreUhqePFGCs55qrhTUDMRgrFYrKtwurqgZHdTd8wGbc3O5oDQDHT5SgJiYGJyv9hj1U9N8glq2dAletb+OmN6agC5cvIK2562o9daYmmZq6RcIBBTvzw3EIvS+uwdLlyzWFF2Rg4tLTkjmlDKEG4hSzWZPx/GiQpH+abZFz7DNZkN9g0829biAaFB+3h5EklqzZwYmUOoH/F2QO+pwAZHMi1JSJ10dFgOmUlNzc1j6qwLRtmZBYgKGh0cmpRAoCXmm0oPfv8bClg5VINra0OYx2mVaLSOpSJUUl6Cl5XHIUFUgSrc1azO4Vmk1J0T/npy8EBPTThVIbpJox/Takwu2KpDFYsH4+Ljee5o6j6odXcFLSUQg+tHj8eD2LZ+pjuk1TseMRp8vpHyrAnm9Xtl6r9cJkfPI+Yn+zQCJjLBRW5oVUqr1Rh0RNZ8Ofy9ftIWskf9XlaNIZmdvNKVnIEIlOgFsyskNWfRVFSp1urBwUQoOHtgrwgehNmjRf97WFtIVUgVivbKpthaxVpfmvRxt1efMicOXgUFN/TGhUsgYo8yZNTsGp0/9PcGyS1UhGqg02WynlexHCjIXEJ2J1mVkTKkT688fQ7JtNC4gphJ9R6sXp6QOO3AqPQLcQEwlpeZEtNKPSnVKalrYs6PpGWKDWVt2spoldOzuetMZsS/IrRCDogLR29sb9WYjC6ZcY0RzlZuYTtGG4oUhPzUrNFEpl6vM1E4qnUrPVVWG9Q6UnlndQGSQcpre3zhdbuFbIypC5eVuDA4MoPp8NXfQDAExiZ2lpdLbNofDYfjFFy2aN+oaJFX0vBU0DERQwU5kZq0P2wHzlHRSpL6hUVKcbOgNjhAg5jCB3XvQhEfNTVJ53bJ1m9RCXpFul4YstqZJ3Vc6OI6N/cK370Po6+uTxtJn7779yMnJMaSyUKBgJSjinW/8ksP0X4XR0VHcud0oDUlKSpZUoBdnDFjUO1rTgHjSzIwxM0BmRFWkzemt0HT5R+PcufM6/gCC+YmmYOBoKAAAAABJRU5ErkJggg==" id="12"/></item></list></costumes><sounds><list struct="atomic" id="13"></list></sounds><blocks></blocks><variables><variable name="position number"><l>9</l></variable></variables><scripts><script x="27.666666666666657" y="221.33333333333283"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportEquals"><block s="reportAttributeOf"><l><option>costume name</option></l><block s="reportGet"><l><option>self</option></l></block></block><l>Empty</l></block><script><block s="doIfElse"><block var="X&apos;s turn?"/><script><block s="doShowVar"><l>X&apos;s turn?</l></block><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="reportNot"><block var="X&apos;s turn?"/></block></block><block s="doIf"><custom-block s="Won? %s"><l>X</l></custom-block><script><block s="doSayFor"><l>Player X has won the Game!</l><l>2</l></block></script></block></script><script><block s="doShowVar"><l></l></block><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="doIf"><custom-block s="Won? %s"><l>O</l></custom-block><script><block s="doSayFor"><l>Player O has won the Game!</l><l>2</l></block></script></block></script></block><custom-block s="Tie?"></custom-block></script></block></script><script x="36.066666666666606" y="73.49999999999883"><block s="receiveGo"></block><block s="doWait"><l>1</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></block></block><block s="doSetVar"><l>board</l><block s="reportNumbers"><l>1</l><l>9</l></block></block></script><script x="37.66666666666666" y="10"><block s="receiveGo"></block><block s="removeClone"></block></script><script x="418" y="214.00000000000048"><custom-block s="Status of triple %l"><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></custom-block></script><script x="431.6666666666662" y="269.6666666666665"><block s="doIfElse"><block s="reportEquals"><custom-block s="Status of triple %l"><l/></custom-block><block s="reportNewList"><list><l>X</l><l>X</l><l>X</l></list></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script><script x="456.6666666666663" y="174.8333333333331"><custom-block s="Possibile winning triples"><comment w="90" collapsed="false">8 winning triples and they make up this if you edit a see it.</comment></custom-block></script><script x="473" y="387.00000000000045"><custom-block s="Status of all winning triples"></custom-block></script><script x="540" y="418.66666666666686"><custom-block s="Won? %s"><l>O</l></custom-block></script><script x="543" y="445.5000000000008"><custom-block s="Tie?"></custom-block></script></scripts></sprite><watcher var="X&apos;s turn?" style="normal" x="5.0000000000009095" y="5" color="243,118,29"/><watcher scope="Square" var="position number" style="normal" x="273.00000000000045" y="32.00000199999995" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="23.000000000000227" y="88" color="243,118,29" extX="80" extY="168"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="label %&apos;text&apos; of size %&apos;size&apos;" type="command" category="pen"><comment x="0" y="0" w="90" collapsed="false">LABEL will stamp text on the stage at the given font size. The direction of the text is the direction the sprite is facing, and color will match the pen color.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">Hello!</input><input type="%n">12</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>text</l><l>size</l></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    context = stage.penTrails().getContext(&apos;2d&apos;),&#xD;    rotation = radians(this.direction() - 90),&#xD;    trans = new Point(&#xD;      this.center().x - stage.left(),&#xD;      this.center().y - stage.top()&#xD;    ),&#xD;    isWarped = this.Warped,&#xD;    len,&#xD;    pos;&#xD;&#xD;if (isWarped) {endWarp(); }&#xD;context.save();&#xD;context.font = size + &apos;px monospace&apos;;&#xD;context.textAlign = &apos;left&apos;;&#xD;context.textBaseline = &apos;alphabetic&apos;;&#xD;context.fillStyle = this.color.toString();&#xD;len = context.measureText(text).width;&#xD;trans = trans.multiplyBy(1 / stage.scale);&#xD;context.translate(trans.x, trans.y);&#xD;context.rotate(rotation);&#xD;context.fillText(text, 0, 0);&#xD;context.translate(-trans.x, -trans.y);&#xD;context.restore();&#xD;pos = new Point(&#xD;  len * Math.sin(radians(this.direction())),&#xD;  len * Math.cos(radians(this.direction())));&#xD;pos = pos.add(new Point(this.xPosition(), this.yPosition()));&#xD;this.gotoXY(pos.x, pos.y, false);&#xD;this.changed();&#xD;if (isWarped) {this.startWarp(); }&#xD;stage.changed();</l></block><list><block var="text"/><block var="size"/></list></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></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="evaluate"><block var="mapone"/><list><block s="reportCDR"><block var="data"/></block></list></block></block></block></script><list><l>data</l></list></block></block><block s="doSetVar"><l>mapmany</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportListItem"><l>1</l><block var="data lists"/></block></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></block><block s="evaluate"><block var="mapmany"/><list><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportCDR"><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></list></block></block></block></script><list><l>data lists</l></list></block></block><block s="doIfElse"><custom-block s="empty? %l"><block s="reportCDR"><block var="lists"/></block></custom-block><script><block s="doReport"><block s="evaluate"><block var="mapone"/><list><block s="reportListItem"><l>1</l><block var="lists"/></block></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="mapmany"/><list><block var="lists"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportEquals"><block var="data"/><block s="reportNewList"><list></list></block></block></block></script></block-definition><block-definition s="keep items such that %&apos;pred&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIfElse"><block s="evaluate"><block var="pred"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script><script><block s="doReport"><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block></script></block-definition><block-definition s="combine with %&apos;function&apos; items of %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="data"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="data"/></block></block></script></block><block s="doReport"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="combine with %repRing items of %l"><block var="function"/><block s="reportCDR"><block var="data"/></block></custom-block></list></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; then %&apos;true&apos; else %&apos;false&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%b"></input><input type="%anyUE"></input><input type="%anyUE"></input></inputs><script><block s="doIfElse"><block var="test"/><script><block s="doReport"><block s="evaluate"><block var="true"/><list></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="false"/><list></list></block></block></script></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="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"><custom-block s="empty? %l"><block s="reportCDR"><block var="words"/></block></custom-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="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></script></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doRun"><block var="action"/><list></list></block></script><list><l>cont</l></list></block></block><custom-block s="ignore %s"><l>3</l></custom-block></script></block-definition><block-definition s="throw %&apos;cont&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">catchtag</input></inputs><script><block s="doRun"><block var="cont"/><list></list></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;value&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doReport"><block s="evaluate"><block var="value"/><list></list></block></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;tag&apos; %&apos;value&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">catchtag</input><input type="%s"></input></inputs><script><block s="doRun"><block var="tag"/><list><block var="value"/></list></block></script></block-definition><block-definition s="for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%l"></input><input type="%cs"></input></inputs><script><block s="doUntil"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doRun"><block var="action"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>breakpoint</l></list></block><block s="doIf"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doSetVar"><l>breakpoint</l><block var="test"/></block><block s="doShowVar"><l>breakpoint</l></block><block s="doRun"><block var="action"/><list></list></block><block s="doPauseAll"></block><block s="doHideVar"><l></l></block></script></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block></script></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="tell %&apos;sprite&apos; to %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%cs"></input></inputs><script><block s="doRun"><block s="reportAttributeOf"><block var="action"/><block var="sprite"/></block><list></list></block></script></block-definition><block-definition s="ask %&apos;sprite&apos; for %&apos;expression&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportAttributeOf"><block var="expression"/><block var="sprite"/></block><list></list></block></block></script></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block></script></block-definition><block-definition s="makeBoard" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="gotoXY"><l>0</l><l>0</l></block><block s="doSwitchToCostume"><l>Empty</l></block><block s="show"></block><block s="doSetVar"><l>position number</l><l>0</l></block><block s="doFor"><l>Row</l><l>1</l><l>3</l><script><block s="doFor"><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></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="Possibile 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>3</l><l>5</l><l>7</l></list></block><block s="reportNewList"><list><l>1</l><l>5</l><l>9</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"><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="triple"/></list></custom-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="Possibile winning triples"></custom-block></block></block></script></block-definition><block-definition s="Won? %&apos;input&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportEquals"><block var="input"/><l>O</l></block><script><block s="doIf"><block s="reportListContainsItem"><custom-block s="Status of all winning triples"></custom-block><block s="reportNewList"><list><l>O</l><l>O</l><l>O</l></list></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><script><block s="doIf"><block s="reportListContainsItem"><custom-block s="Status of all winning triples"></custom-block><block s="reportNewList"><list><l>X</l><l>X</l><l>X</l></list></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition><block-definition s="Tie?" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><block s="reportEquals"><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><l/></block></autolambda><list></list></block><list><custom-block s="Status of all winning triples"></custom-block></list></custom-block><block s="reportNewList"><list><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l></list></block></block><script><block s="doIfElse"><custom-block s="Won? %s"><l>X</l></custom-block><script></script><script><block s="doIfElse"><custom-block s="Won? %s"><l>O</l></custom-block><script></script><script><block s="doSayFor"><l>There has been a Tie!</l><l>2</l></block></script></block></script></block></script></block></script></block-definition></blocks><variables><variable name="X&apos;s turn?"><bool>false</bool></variable><variable name="board"><list struct="atomic" id="957">X,O,X,X,O,X,O,X,O</list></variable></variables></project><media name="U3L3-Tic-Tac-Toe" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>