<snapdata remixID="10128001"><project name="Rose Golick &amp; Thomas Fuller - U2L13 - Tic-Tac-Toe (Part 3 )" 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="150" y="150" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" 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>9</l></variable></variables><scripts><script x="37.27272727272726" y="7.575757575757575"><block s="receiveGo"></block><block s="removeClone"><comment w="118.00000000000001" collapsed="false">This affects only clones, not the original sprite.</comment></block></script><script x="32.824242424242364" y="68.28484848484841"><block s="receiveGo"><comment w="156.66666666666666" collapsed="false">Connect this to the script below it in For You To Do 4.</comment></block><block s="doSwitchToCostume"><l>Empty</l></block><block s="doWait"><l>.1</l><comment w="181.33333333333334" collapsed="true">Wait for old clones to be deleted.</comment></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l><comment w="90" collapsed="true">X plays first.</comment></block></block><block s="doSetVar"><l>board</l><block s="reportNumbers"><l>1</l><l>9</l></block></block><custom-block s="makeBoard"></custom-block><block s="doSetVar"><l>possible winning triples</l><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><script x="33.18181818181819" y="299.58787878787876"><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="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>y&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>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="doSetVar"><l>y&apos;s turn?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doReplaceInList"><block var="position number"/><block var="board"/><l>O</l></block></script></block></script></block><block s="doIf"><custom-block s="won? %s"><l>x</l></custom-block><script><block s="doSayFor"><l>X won!</l><l>2</l></block></script></block><block s="doIf"><custom-block s="won? %s"><l>o</l></custom-block><script><block s="doSayFor"><l>O won!</l><l>2</l></block></script></block></script><script x="37.878787878787875" y="742.6383838383846"><custom-block s="status of all winning triples"></custom-block></script></scripts></sprite><watcher var="X&apos;s turn?" style="normal" x="2.038074262009445" y="2.0380742620097188" color="243,118,29" hidden="true"/><watcher var="y&apos;s turn?" style="normal" x="4.0761485240198" y="4.076148524019452" color="243,118,29" hidden="true"/><watcher scope="Square" var="position number" style="normal" x="4.0761485240198" y="16.549163822748653" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="2.278324075677233" y="1.2271644702093312" color="243,118,29" extX="105.60000000000002" extY="92.40000000000002"/><watcher var="possible winning triples" style="normal" x="6.4786466606925615" y="6.4786466606931725" color="243,118,29" hidden="true"/></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="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="createClone"><l><option>myself</option></l></block><block s="gotoXY"><block s="reportProduct"><block var="column"/><l>50</l></block><block s="reportProduct"><block var="row"/><l>50</l></block></block><block s="doSetVar"><l>position number</l><block s="reportSum"><block var="position number"/><l>1</l></block></block></script></block></script></block></script></block-definition><block-definition s="status of triple %&apos;list&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="list"/></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"><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><custom-block s="status of triple %l"><l/></custom-block></autolambda><list></list></block><list><block var="possible winning triples"/></list></custom-block></block></script></block-definition><block-definition s="won? %&apos;x/o&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><custom-block s="for each %upvar of %l %cs"><l>item</l><custom-block s="status of all winning triples"></custom-block><script><block s="doIf"><block s="reportEquals"><block var="item"/><block s="reportNewList"><list><block var="x/o"/><block var="x/o"/><block var="x/o"/></list></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></custom-block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><scripts><script x="551.218738440311" y="243.97979797979772"><block s="reportBoolean"><l><bool>false</bool></l></block></script></scripts></block-definition></blocks><variables><variable name="X&apos;s turn?"><bool>true</bool></variable><variable name="y&apos;s turn?"><bool>false</bool></variable><variable name="board"><list struct="atomic" id="849">1,2,3,4,5,6,7,8,9</list></variable><variable name="possible winning triples"><list id="850"><item><list struct="atomic" id="851">1,2,3</list></item><item><list struct="atomic" id="852">4,5,6</list></item><item><list struct="atomic" id="853">7,8,9</list></item><item><list struct="atomic" id="854">1,4,7</list></item><item><list struct="atomic" id="855">2,5,8</list></item><item><list struct="atomic" id="856">3,6,9</list></item><item><list struct="atomic" id="857">1,5,9</list></item><item><list struct="atomic" id="858">3,5,7</list></item></list></variable></variables></project><media name="Rose Golick & Thomas Fuller - U2L13 - Tic-Tac-Toe (Part 3 )" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>