<snapdata remixID="9186267"><project name="U3L2-Tic-Tac-Toe " app="Snap! 5.4, http://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" 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="100" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="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+2awQ2CUBAFlybwSqzEWiTfoozWwhViONiRiYkFvMsEf4b75LEzHBmqs2eoqktVLT3cNU3n/XvQdW7L83H/65vW7VW31t4edNSMFjpqmd97WchCsAE/OVh4PGehWBkMWAgWHs9ZKFYGAxaChcdzFoqVwYCFYOHxnIViZTBgIVh4PGehWBkMWAgWHs9ZKFYGAxaChcdzFoqVwYCFYOHxnIViZTBgIVh4PGehWBkMWAgWHs9ZKFYGA30X6uWPxnE8bR/Jtp2GcsP1ZgAAAABJRU5ErkJggg==" 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/66Vx0oXCCIK1MfCFoxuFERDjOArahR8xKgFJS4kRuOGUsrGIBUXxgfFxKhA8REfYGKIiujCB9BqIoiSaAQV3fHQNeaMuUlLZzp3Zu4URCZpuui9Z853/jPn3numFkyxywIgG0DbVOBKTk7pkoD2H3C0Xa6r/aeZXr7qQJHD8XYaaLLKOK0QrzKtj57A7w+g7+MHtD15jM+fP4VN3bZ9BxISErDUZkfO6iwkJc7hNa84TqhC/QNf4fXWof76NWRkLpM+drsN1vQ0WWfp5r0fPuJNwI/79+5K43cWFGLrlo26wYQABYMUHSpBYcEOXdG+fec+fI0NGB4aQvHhEl1ghoGuXK2H2+UEgRwudiAuLlZ3dNlEStfqqiokJiWhvNypKTi6gYaHR1DuqkBPdzfclZVYsXyZYZBgA2T/wiUvai+ex8VaL3LX5nDZ1wVENzvoKEJsbCzOeKqFqKLkLaXh8WOlOO2p4UpBzUAMxmq1otLt4oqa0UHdPe+xIT+fC0oz0IGDRYiJicHZGo9RPzXNJ6glixfhxcvXEdNbE9C585fQ/rQNdd5aU9NMLf0CgYDi/bmBWITedfdg8aKFmqIrcvDR0mOSOaUM4QaiVLPZM3CkpFikf5pt0TNss9nQ0OiTTT0uIBpUWLATkaTW7JmBCZT6AX8X5I46XEAk84LUtAlXh8WAqdTc0hKW/qpAtK2Zm5SIoaHhCSkESkKeqvLg96/RsKVDFYi2NrR5jHaZVstIKlKlR0vR2vowZKgqEKXbylVZXKu0mhOif09JmY/xaacKJDdJtGN67ckFWxXIYrFgbGxM7z1NnUfVjq7gpSQiEP3o8Xhw84bPVMf0GqdjRpPPF1K+VYG8Xq9svdfrhMh55Px4/6aBREbYqC3NCinVeqOOiJpPh7/nz9pD1sj/q8pRJHNz15nSMxChEp0A1uflhyz6qgqVOV2YvyAV+/buEuGDUBu06D9tbw/pCqkCsV7ZZFuLWKtL816Oturx8XH40j+gqT8mVAoZY5Q5M2bG4OSJvydYdqkqRAOVJpvttJL9SEHmAqIzUXZW1qQ6sf78MSjbRuMCYirRd7R6cUrqsAOn0iPADcRUUmpORCv9qFSnpqWHPTuaniE2mLVlJ6pZQsfurs6OiH1BboUYFBWI3t7eqDcbWTDlGiOaq9z4dIo2FC8M+alZofFKuVzlpnZS6VR6proqrHeg9MzqBiKDlNP0/sbpcgvfGlERqqhwY6C/HzVna7iDZgiISewsK5PetjkcDsMvvmjRvFbfKKmi562gYSCCCnZidc6asB0wT0knRRoamyTFyYbe4AgBYg4T2J17zXjQ0iyV142bNkst5MwMuzRkoTVd6r7SwXF09Be+fR9EX1+fNJY+u3bvQV5eniGVhQIFK0ER7+j0Sw7TfxVGRkZw62aTNGTevBRJBXpxxoBFvaM1DYgnzcwYMw1kRlRF2pzaCk2VfzTOmjX71R8xTomk2qlpUgAAAABJRU5ErkJggg==" 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="12" y="205.20000000000005"><block s="receiveGo"></block><block s="removeClone"><comment w="118" collapsed="false">This affects only clones, not the original sprite.</comment></block></script><script x="260.73333333333335" y="13.666666666666742"><block s="receiveGo"><comment w="148.66666666666663" collapsed="true">Connect this to the script below it in For You To Do 4.</comment></block><block s="doWait"><l>.1</l><comment w="181.33333333333334" collapsed="true">Wait for old clones to be deleted.</comment></block><custom-block s="makeBoard"></custom-block></script><script x="10" y="10"><block s="doWearNextCostume"></block></script><script x="14" y="105"><block s="setEffect"><l><option>ghost</option></l><l>100</l></block></script><script x="87" y="163.8"><block s="setEffect"><l><option>ghost</option></l><l>0</l></block></script><script x="24" y="415"><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></script><script x="47.000001999999995" y="368"><custom-block s="possible winning triples"></custom-block></script><script x="529.796878" y="139.800004"><block var="board"/></script><script x="60" y="319"><block s="reportNewList"><list><l>3</l><l>5</l><l>7</l></list></block></script><script x="535.2236348125" y="411.80000300000006"><block s="reportNewList"><list><block var="triple"/><l>2</l><l>3</l></list></block></script><script x="48" y="517"><custom-block s="status of triples %l"><block s="reportNewList"><list><l>2</l><l>5</l><l>9</l></list></block></custom-block></script><script x="76" y="30"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="bubble"><block var="position number"/></block></script><script x="321" y="129"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportEquals"><block s="getCostumeIdx"></block><l>1</l></block><script><block s="doIfElse"><block s="reportEquals"><block var="X&apos;s turn?"/><block s="reportBoolean"><l><bool>true</bool></l></block></block><script><block s="doSwitchToCostume"><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="doReplaceInList"><block var="position number"/><block var="board"/><l>x</l></block></script><script><block s="doSwitchToCostume"><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="doReplaceInList"><block var="position number"/><block var="board"/><l>o</l></block></script></block></script></block></script><script x="708" y="104"><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><script></script><list></list></block><list><l/></list></custom-block></script><script x="487.73333333333335" y="95.66666666666674"><block s="doSetVar"><l>X&apos;s turn?</l><l></l></block></script></scripts></sprite><watcher var="X&apos;s turn?" style="normal" x="5" y="5" color="243,118,29" hidden="true"/><watcher scope="Stage" s="reportMouseX" style="normal" x="10" y="10" color="4,148,220"/><watcher scope="Stage" s="reportMouseY" style="normal" x="10" y="31.000001999999995" color="4,148,220"/><watcher scope="Stage" s="getLastMessage" style="normal" x="10" y="52.00000399999999" color="230,168,34" hidden="true"/><watcher scope="Square" s="getCostumeIdx" style="normal" x="10" y="73.00000599999998" color="143,86,227"/><watcher var="board" style="normal" x="10" y="94.00000799999998" color="243,118,29" extX="89" extY="188"/><watcher scope="Square" var="position number" style="normal" x="231" y="25.000009999999975" color="243,118,29"/></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="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSwitchToCostume"><l>Empty</l></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="doSetVar"><l>position number</l><l>1</l></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="createClone"><l><option>myself</option></l></block><block s="doChangeVar"><l>position number</l><l>1</l></block><block s="changeYPosition"><l>-50</l></block></script></custom-block><block s="changeYPosition"><l>150</l></block><block s="changeXPosition"><l>50</l></block></script></custom-block><block s="changeXPosition"><l>-50</l></block><custom-block s="tell %s to %cs"><l>Sprite</l><script><block s="setEffect"><l><option>ghost</option></l><l>100</l></block></script></custom-block></script></block-definition><block-definition s="possible winning triples" type="reporter" category="variables"><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>2</l><l>5</l><l>8</l></list></block><block s="reportNewList"><list><l>3</l><l>5</l><l>7</l></list></block><block s="reportNewList"><list><l>3</l><l>6</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>7</l><l>8</l><l>9</l></list></block></list></block></block></script></block-definition><block-definition s="status of triple on board" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l></l></block></script></block-definition><block-definition s="status of triples %&apos;triple&apos;" type="reporter" category="variables"><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></blocks><variables><variable name="X&apos;s turn?"><bool>true</bool></variable><variable name="board"><list struct="atomic" id="833">x,x,o,o,o,o,o,x,o,x</list></variable></variables></project><media name="U3L2-Tic-Tac-Toe " app="Snap! 5.4, http://snap.berkeley.edu" version="1"></media></snapdata>