<snapdata remixID="10005386"><project name="U3L1-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="150.78688524590098" y="-100.5901639344263" 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+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><variable name="PositionNumber"><l>0</l></variable><variable name="tracker"><l>2</l></variable></variables><scripts><script x="23" y="203.00000000000003"><block s="receiveMessage"><l>game_start</l></block><block s="gotoXY"><l>0</l><l>0</l></block><custom-block s="makeBoard"></custom-block><block s="doWait"><l>0.1</l></block><block s="doSetVar"><l>board</l><block s="reportNewList"><list><l>e</l><l>e</l><l>e</l><l>e</l><l>e</l><l>e</l><l>e</l><l>e</l><l>e</l></list></block></block><block s="doSetVar"><l>boardstatus</l><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l><l>4</l><l>5</l><l>6</l><l>7</l><l>8</l><l>9</l></list></block></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block><comment w="90" collapsed="true">X plays first.</comment></block></script><script x="457" y="86.33333333333329"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportAnd"><block s="reportEquals"><block s="getCostumeIdx"></block><l>1</l></block><block s="reportEquals"><l>Player&apos;s_Turn</l><block s="getLastMessage"></block></block></block><script><block s="doSwitchToCostume"><block var="Player_Team"/></block><block s="doReplaceInList"><block var="position number"/><block var="boardstatus"/><block var="Player_Team"/></block><block s="doReplaceInList"><block var="position number"/><block var="board"/><block var="Player_Team"/></block><custom-block s="win or tie"></custom-block><block s="doIfElse"><block s="reportEquals"><block var="isAcrossBoard?"/><l>true</l></block><script><block s="doBroadcast"><l>Player&apos;s_Turn_Opposing</l></block></script><script><block s="doBroadcast"><l>o&apos;s turn</l></block></script></block></script></block></script><script x="970" y="96.99999999999991"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportAnd"><block s="reportEquals"><block s="getCostumeIdx"></block><l>1</l></block><block s="reportEquals"><l>Player&apos;s_Turn_Opposing</l><block s="getLastMessage"></block></block></block><script><block s="doSwitchToCostume"><block var="Computer_Team"/></block><block s="doReplaceInList"><block var="position number"/><block var="boardstatus"/><block var="Computer_Team"/></block><block s="doReplaceInList"><block var="position number"/><block var="board"/><block var="Computer_Team"/></block><block s="doBroadcast"><l>Player&apos;s_Turn</l></block><custom-block s="win or tie"></custom-block></script></block></script><comment x="349.62890625" y="10" w="156.66666666666666" collapsed="false">Connect this to the script below it in For You To Do 5.</comment><script x="51" y="410.66666666666697"><block s="receiveMessage"><l>o&apos;s turn</l></block><block s="doIf"><block s="reportEquals"><block var="position number"/><custom-block s="best square"></custom-block></block><script><block s="doWait"><l>0.7</l></block><block s="doReplaceInList"><custom-block s="next move for computer %s"><block var="Computer_Team"/></custom-block><block var="board"/><block var="Computer_Team"/></block><block s="doReplaceInList"><custom-block s="next move for computer %s"><block var="Computer_Team"/></custom-block><block var="boardstatus"/><block var="Computer_Team"/></block><block s="doWait"><l>0.3</l></block><custom-block s="win or tie"></custom-block><block s="doSwitchToCostume"><block var="Computer_Team"/></block><block s="doBroadcast"><l>Player&apos;s_Turn</l></block></script></block></script><script x="69" y="53.16666666666663"><block s="receiveGo"></block><block s="clear"></block><block s="removeClone"></block></script><script x="684" y="432.0000000000002"><custom-block s="Winning Triple For Player %s"><l></l></custom-block></script></scripts></sprite><sprite name="Sprite" idx="2" x="125.00000000000023" y="-74" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="180.64199999999997,0,196.35,1" pen="tip" id="167"><costumes><list id="168"><item><costume name="button_choose-o " center-x="111.5" center-y="33" image="data:image/png;base64,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" id="169"/></item></list></costumes><sounds><list struct="atomic" id="170"></list></sounds><blocks></blocks><variables></variables><scripts><script x="347" y="71.3333333333334"><block s="receiveGo"></block><block s="show"></block><block s="doSetVar"><l>Player_Team</l><l>0</l></block><block s="doSetVar"><l>Computer_Team</l><l>0</l></block><block s="gotoXY"><l>125</l><l>-74</l></block></script><script x="256" y="326"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doSetVar"><l>Player_Team</l><l>O</l></block><block s="doSetVar"><l>Computer_Team</l><l>X</l></block><block s="doBroadcast"><l>game_start</l></block><block s="doBroadcast"><l>Player&apos;s_Turn</l></block><block s="hide"></block></script><script x="950" y="465.66666666666663"><block s="doBroadcast"><l>game_start</l></block></script><script x="461" y="333"><block s="receiveMessage"><l>game_start</l></block><block s="hide"></block></script></scripts></sprite><sprite name="Sprite(2)" idx="3" x="-125" y="-74" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="0,255,25.499999999999908,1" pen="tip" id="203"><costumes><list id="204"><item><costume name="button_choose-o" center-x="109.5" center-y="33" image="data:image/png;base64,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" id="205"/></item></list></costumes><sounds><list struct="atomic" id="206"></list></sounds><blocks></blocks><variables></variables><scripts><script x="116" y="452"><block s="receiveGo"></block><block s="show"></block><block s="doSetVar"><l>Player_Team</l><l>0</l></block><block s="doSetVar"><l>Computer_Team</l><l>0</l></block><block s="gotoXY"><l>-125</l><l>-74</l></block></script><script x="20" y="236.66666666666666"><block s="doSetVar"><l>Computer_Team</l><l>X</l></block></script><script x="131" y="622.0000000000001"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doSetVar"><l>Player_Team</l><l>X</l></block><block s="doSetVar"><l>Computer_Team</l><l>O</l></block><block s="doBroadcast"><l>game_start</l></block><block s="doBroadcast"><l>Player&apos;s_Turn</l></block><block s="hide"></block></script><script x="365" y="613"><block s="receiveMessage"><l>game_start</l></block><block s="hide"></block></script></scripts></sprite><sprite name="Against AI?" idx="5" x="6" y="-163" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="140.25,0,58.904999999999994,1" pen="tip" id="240"><costumes><list id="241"><item><costume name="button_play-against-ai" center-x="51.5" center-y="15" image="data:image/png;base64,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" id="242"/></item></list></costumes><sounds><list struct="atomic" id="243"></list></sounds><blocks></blocks><variables></variables><scripts><script x="455" y="239.3333333333334"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doSetVar"><l>isAcrossBoard?</l><l>false</l></block></script><script x="126" y="308.66666666666674"><block s="receiveMessage"><l>game_start</l></block><block s="hide"></block></script><script x="131" y="144.3333333333334"><block s="receiveGo"></block><block s="gotoXY"><l>6</l><l>-163</l></block><block s="show"></block><block s="doSetVar"><l>isAcrossBoard?</l><l>false</l></block></script></scripts></sprite><sprite name="PlayAcrossTheBoard?" idx="4" x="5" y="-131" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="0,224.4,103.224,1" pen="tip" id="263"><costumes><list id="264"><item><costume name="button_play-across-the-board " center-x="71" center-y="15" image="data:image/png;base64,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" id="265"/></item></list></costumes><sounds><list struct="atomic" id="266"></list></sounds><blocks></blocks><variables></variables><scripts><script x="228" y="151.00000000000003"><block s="receiveGo"></block><block s="gotoXY"><l>5</l><l>-131</l></block><block s="show"></block><block s="doSetVar"><l>isAcrossBoard?</l><l>false</l></block></script><script x="529" y="149.00000000000003"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doSetVar"><l>isAcrossBoard?</l><l>true</l></block></script><script x="252" y="245.00000000000003"><block s="receiveMessage"><l>game_start</l></block><block s="hide"></block></script></scripts></sprite><sprite name="Sprite(3)" idx="6" x="3" y="24" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="178.5,171.35999999999999,0,1" pen="tip" id="286"><costumes><list id="287"><item><costume name="button_tic-tac-toe-the-game" center-x="150.5" center-y="23" image="data:image/png;base64,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" id="288"/></item></list></costumes><sounds><list struct="atomic" id="289"></list></sounds><blocks></blocks><variables></variables><scripts><script x="87" y="94"><block s="receiveGo"></block><block s="gotoXY"><l>3</l><l>24</l></block><block s="show"></block></script><script x="89" y="208.00000000000003"><block s="receiveMessage"><l>game_start</l></block><block s="hide"></block></script><script x="377" y="111"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doSayFor"><l>You found it!</l><l>2</l></block></script></scripts></sprite><watcher var="X&apos;s turn?" style="normal" x="3.5291221618649615" y="3.529122161865253" color="243,118,29" hidden="true"/><watcher scope="Square" var="position number" style="normal" x="10.789672851563182" y="33.44798799777831" color="243,118,29" hidden="true"/><watcher var="global_check" style="normal" x="26.479655456542332" y="120.17447849294763" color="243,118,29" hidden="true"/><watcher scope="Square" var="PositionNumber" style="normal" x="10.789672851563182" y="56.10630314399407" color="243,118,29" hidden="true"/><watcher var="positionnumber" style="normal" x="10.789672851563182" y="78.76461829020991" color="243,118,29" hidden="true"/><watcher scope="Stage" s="getLastMessage" style="normal" x="10.789672851563182" y="101.42293343642575" color="230,168,34" hidden="true"/><watcher scope="Square" var="tracker" style="normal" x="10.789672851563182" y="124.08124858264156" color="243,118,29" hidden="true"/><watcher var="Item" style="normal" x="10.789672851563182" y="146.73956372885735" color="243,118,29" hidden="true"/><watcher var="itertool" style="normal" x="8.339843749999545" y="8.339843750000007" color="243,118,29" hidden="true"/><watcher scope="Sprite(2)" s="xPosition" style="normal" x="8.339843749999545" y="25.853517292968746" color="74,108,212" hidden="true"/><watcher scope="Sprite(2)" s="yPosition" style="normal" x="8.339843749999545" y="43.36719083593749" color="74,108,212" hidden="true"/><watcher scope="Sprite" s="xPosition" style="normal" x="8.339843749999545" y="60.88086437890627" color="74,108,212" hidden="true"/><watcher scope="Sprite" s="yPosition" style="normal" x="8.339843749999545" y="78.39453792187494" color="74,108,212" hidden="true"/><watcher var="Player_Team" style="normal" x="8.339843749999545" y="95.90821146484377" color="243,118,29" hidden="true"/><watcher var="Computer_Team" style="normal" x="8.339843749999545" y="113.42188500781248" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="261.8710937500009" y="18.144372558593716" color="243,118,29" hidden="true"/><watcher var="boardstatus" style="normal" x="0.915884246826181" y="124.87156829833987" color="243,118,29" hidden="true"/><watcher var="isAcrossBoard?" style="normal" x="6.354166666666515" y="6.354166666666664" color="243,118,29" hidden="true"/><watcher scope="PlayAcrossTheBoard?" s="direction" style="normal" x="6.354166666666515" y="19.697917937499994" color="74,108,212" hidden="true"/><watcher scope="PlayAcrossTheBoard?" s="yPosition" style="normal" x="6.354166666666515" y="33.04166920833334" color="74,108,212" hidden="true"/><watcher scope="PlayAcrossTheBoard?" s="xPosition" style="normal" x="6.354166666666515" y="46.385420479166655" color="74,108,212" hidden="true"/><watcher scope="Against AI?" s="xPosition" style="normal" x="6.354166666666515" y="59.729171750000006" color="74,108,212" hidden="true"/><watcher scope="Against AI?" s="yPosition" style="normal" x="6.354166666666515" y="73.07292302083334" color="74,108,212" hidden="true"/><watcher scope="Sprite(3)" s="xPosition" style="normal" x="111" y="41.000001999999995" color="74,108,212" hidden="true"/><watcher scope="Sprite(3)" s="yPosition" style="normal" x="11" y="30.00000399999999" color="74,108,212" hidden="true"/><watcher var="Deep_Learning_Model" style="normal" x="8" y="36" 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="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="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="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="clear"></block><block s="setHeading"><l>90</l></block><block s="doSwitchToCostume"><l>Empty</l></block><block s="bubble"><l></l></block><block s="show"></block><block s="doSetVar"><l>position number</l><l>1</l></block><block s="doRepeat"><l>3</l><script><block s="createClone"><l><option>myself</option></l></block><block s="forward"><l>50</l></block><block s="doChangeVar"><l>position number</l><l>1</l></block><block s="bubble"><block var="position number"/></block></script></block><block s="gotoXY"><l>0</l><l>-50</l></block><block s="doRepeat"><l>3</l><script><block s="createClone"><l><option>myself</option></l></block><block s="forward"><l>50</l></block><block s="doChangeVar"><l>position number</l><l>1</l></block><block s="bubble"><block var="position number"/></block></script></block><block s="gotoXY"><l>0</l><l>-100</l></block><block s="doRepeat"><l>3</l><script><block s="createClone"><l><option>myself</option></l></block><block s="forward"><l>50</l></block><block s="doChangeVar"><l>position number</l><l>1</l></block><block s="bubble"><block var="position number"/></block></script></block><block s="hide"></block></script></block-definition><block-definition s="status of triple %&apos;Winning_Combination&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="boardstatus"/></block></autolambda><list></list></block><block var="Winning_Combination"/></block></block></script><scripts><script x="331.5322265625" y="27.833333333333428"><block var="boardstatus"/></script></scripts></block-definition><block-definition s="status of all winning conditions" 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 %s"><l></l></custom-block></autolambda><list></list></block><custom-block s="possible wins"></custom-block></block></block></script><scripts><script x="177.0927734375" y="201.8333333333332"><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></script><script x="83.087890625" y="150.99999999999994"><custom-block s="Possible Wins 2"></custom-block></script></scripts></block-definition><block-definition s="win? %&apos;x_or_o&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIf"><block s="reportAnd"><block s="reportGreaterThan"><block s="reportListLength"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportEquals"><block s="reportNewList"><list><l>X</l><l>X</l><l>X</l></list></block><l></l></block></autolambda><list></list></block><custom-block s="status of all winning conditions"></custom-block></block></block><l>0</l></block><block s="reportGreaterThan"><block s="reportListLength"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportEquals"><block s="reportNewList"><list><l>O</l><l>O</l><l>O</l></list></block><l></l></block></autolambda><list></list></block><custom-block s="status of all winning conditions"></custom-block></block></block><l>0</l></block></block><script><block s="doReport"><l>TIE!</l></block></script></block><block s="doReport"><block s="reportGreaterThan"><block s="reportListLength"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportEquals"><block s="reportNewList"><list><block var="x_or_o"/><block var="x_or_o"/><block var="x_or_o"/></list></block><l></l></block></autolambda><list></list></block><custom-block s="status of all winning conditions"></custom-block></block></block><l>0</l></block></block></script><scripts><script x="571" y="17.200000000000045"><block s="reportBoolean"><l><bool>true</bool></l></block></script><script x="584.3779296875" y="169.2"><block var="x_or_o"/></script><script x="603.6533203125" y="180.03333333333325"><block var="x_or_o"/></script><script x="579.3779296875" y="202.2"><block var="x_or_o"/></script></scripts></block-definition><block-definition s="tied?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNot"><block s="reportListContainsItem"><block var="board"/><l>e</l></block></block></block></script></block-definition><block-definition s="win or tie" type="command" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><custom-block s="win? %s"><l>X</l></custom-block><script><block s="write"><l>X Won!</l><l>12</l></block><block s="doStopThis"><l><option>all</option></l></block></script><script><block s="doIfElse"><custom-block s="win? %s"><l>O</l></custom-block><script><block s="write"><l>O Won!</l><l>12</l></block><block s="doStopThis"><l><option>all</option></l></block></script><script><block s="doIf"><custom-block s="tied?"></custom-block><script><block s="write"><l>You Tied</l><l>12</l></block><block s="doStopThis"><l><option>all</option></l></block></script></block></script></block></script></block></script></block-definition><block-definition s="best square" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportEquals"><block s="reportListItem"><l></l><block var="board"/></block><l>e</l></block></autolambda><list></list></block><block s="reportNewList"><list><l>5</l><l>1</l><l>3</l><l>7</l><l>9</l><l>2</l><l>4</l><l>6</l><l>8</l></list></block></block></block></block></script><scripts><script x="150.1904296875" y="171.99999999999994"><block var="position number"/></script><script x="218.30078125" y="182.99999999999994"><block var="position number"/></script></scripts></block-definition><block-definition s="best empty square" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>5</l><l>1</l><l>3</l><l>7</l><l>9</l><l>2</l><l>4</l><l>6</l><l>8</l></list></block></block></script></block-definition><block-definition s="winning_move" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doForEach"><l>item</l><custom-block s="possible wins"></custom-block><script><block s="doIf"><block s="reportAnd"><block s="reportEquals"><block s="reportListLength"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><custom-block s="status of triple %s"><block var="item"/></custom-block></block></block><l>1</l></block><block s="reportOr"><block s="reportEquals"><block s="reportListLength"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportEquals"><l></l><l>X</l></block></autolambda><list></list></block><custom-block s="status of triple %s"><block var="item"/></custom-block></block></block><l>2</l></block><block s="reportEquals"><block s="reportListLength"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportEquals"><l></l><l>O</l></block></autolambda><list></list></block><custom-block s="status of triple %s"><block var="item"/></custom-block></block></block><l>2</l></block></block></block><script><block s="doReport"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportEquals"><block s="reportListItem"><l></l><block var="board"/></block><l>e</l></block></autolambda><list></list></block><block var="item"/></block></block></script></block></script></block><block s="doReport"><l>none</l></block></script></block-definition><block-definition s="possible wins" type="reporter" category="lists"><comment x="0" y="0" w="90" collapsed="false">describes win conditions</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><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><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></list></block></block></script></block-definition><block-definition s="item" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l></l></block></script></block-definition><block-definition s="how many %&apos;item1&apos; in %&apos;item_list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doSetVar"><l>tracker</l><l>0</l></block><block s="doForEach"><l>item</l><block var="item_list"/><script><block s="doIf"><block s="reportEquals"><block var="item1"/><block var="item"/></block><script><block s="doChangeVar"><l>tracker</l><l>1</l></block></script></block></script></block><block s="doReport"><block var="tracker"/></block></script></block-definition><block-definition s="Winning Triple For Player %&apos;player_side&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doForEach"><l>item</l><custom-block s="possible wins"></custom-block><script><block s="doIf"><block s="reportAnd"><block s="reportEquals"><block s="reportListLength"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><custom-block s="status of triple %s"><block var="item"/></custom-block></block></block><l>1</l></block><block s="reportEquals"><block s="reportListLength"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportEquals"><l></l><block var="player_side"/></block></autolambda><list></list></block><custom-block s="status of triple %s"><block var="item"/></custom-block></block></block><l>2</l></block></block><script><block s="doReport"><custom-block s="status of triple %s"><block var="item"/></custom-block></block></script></block></script></block><block s="doReport"><l>none</l></block></script></block-definition><block-definition s="best move" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block s="reportEquals"><custom-block s="winning_move"></custom-block><l>none</l></block><script><block s="doSayFor"><block s="reportJoinWords"><list><l>Best Empty Square </l><custom-block s="best empty square"></custom-block></list></block><l>2</l></block><block s="doReport"><custom-block s="best empty square"></custom-block></block></script><script><block s="doSayFor"><block s="reportJoinWords"><list><l>Winning Move </l><custom-block s="winning_move"></custom-block></list></block><l>2</l></block><block s="doReport"><custom-block s="winning_move"></custom-block></block></script></block></script></block-definition><block-definition s="can player %&apos;input&apos; win now?" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportEquals"><custom-block s="winning square for player %s"><block var="input"/></custom-block><l>none</l></block></block><script><block s="doReport"><l>yes</l></block></script><script><block s="doReport"><l>no</l></block></script></block></script></block-definition><block-definition s="Possible Wins 2" 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>e</l><l>e</l><l>e</l></list></block><block s="reportNewList"><list><l>e</l><l>e</l><l>e</l></list></block><block s="reportNewList"><list><l>e</l><l>e</l><l>e</l></list></block><block s="reportNewList"><list><l>e</l><l>e</l><l>e</l></list></block><block s="reportNewList"><list><l>e</l><l>e</l><l>e</l></list></block><block s="reportNewList"><list><l>e</l><l>e</l><l>e</l></list></block><block s="reportNewList"><list><l>e</l><l>e</l><l>e</l></list></block><block s="reportNewList"><list><l>e</l><l>e</l><l>e</l></list></block></list></block></block></script></block-definition><block-definition s="$flash remove duplicates from %&apos;data&apos;" type="reporter" category="lists"><comment x="0" y="0" w="209" collapsed="false">Reports a new list whose items are the same as in the input list, except that if two or more equal items appear in the input list, only the last one is kept in the result.</comment><header></header><code></code><translations>ca:elimina els duplicats de _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportAtomicKeep"><block s="reifyPredicate"><autolambda><block s="reportEquals"><block s="reportListIndex"><block var="value"/><block var="list"/></block><block var="index"/></block></autolambda><list><l>value</l><l>index</l><l>list</l></list></block><block var="data"/></block></block></script><scripts><script x="14" y="164.2222222222222"><block s="doWarp"><script><block s="doIf"><block s="reportEquals"><block var="data"/><block s="reportNewList"><list></list></block></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIfElse"><block s="reportListContainsItem"><block s="reportCDR"><block var="data"/></block><block s="reportListItem"><l>1</l><block var="data"/></block></block><script><block s="doReport"><custom-block s="$flash remove duplicates from %l"><block s="reportCDR"><block var="data"/></block></custom-block></block></script><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="$flash remove duplicates from %l"><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script></block></script></block></script></scripts></block-definition><block-definition s="$flash sort %&apos;data&apos; ordering with %&apos;function&apos;" type="reporter" category="lists"><comment x="0" y="0" w="161.14285714285708" collapsed="false">Reports a sorted version of the list in its first input slot, using the comparison function in the second input slot.  For a list of numbers, using &lt; as the comparison function will sort from low to high; using &gt; will sort from high to low.</comment><header></header><code></code><translations>ca:ordena _ segons criteri _&#xD;</translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>data</l><l>fn</l><l>proc</l></list><l>return proc.reportAtomicSort(data, fn);</l></block><list><block var="data"/><block var="function"/></list></block></block></script><scripts><script x="12" y="147.55555555555557"><block s="doDeclareVariables"><list><l>even items</l><l>odd items</l><l>merge</l><l>split</l><l>copy of data</l><l>id</l></list></block><block s="doSetVar"><l>id</l><block s="reifyScript"><script><block s="doReport"><l></l></block></script><list></list></block></block><block s="doSetVar"><l>copy of data</l><block s="reportMap"><block var="id"/><block var="data"/></block></block><block s="doSetVar"><l>split</l><block s="reifyScript"><script><block s="doSetVar"><l>even items</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>odd items</l><block s="reportNewList"><list></list></block></block><block s="doUntil"><block s="reportListIsEmpty"><block var="copy of data"/></block><script><block s="doAddToList"><block s="reportListItem"><l>1</l><block var="copy of data"/></block><block var="odd items"/></block><block s="doDeleteFromList"><l>1</l><block var="copy of data"/></block><block s="doIf"><block s="reportNot"><block s="reportListIsEmpty"><block var="copy of data"/></block></block><script><block s="doAddToList"><block s="reportListItem"><l>1</l><block var="copy of data"/></block><block var="even items"/></block><block s="doDeleteFromList"><l>1</l><block var="copy of data"/></block></script></block></script></block></script><list></list></block></block><block s="doSetVar"><l>merge</l><block s="reifyScript"><script><block s="doIf"><block s="reportEquals"><block var="#1"/><block s="reportNewList"><list></list></block></block><script><block s="doReport"><block var="#2"/></block></script></block><block s="doIf"><block s="reportEquals"><block var="#2"/><block s="reportNewList"><list></list></block></block><script><block s="doReport"><block var="#1"/></block></script></block><block s="doIfElse"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="#1"/></block><block s="reportListItem"><l>1</l><block var="#2"/></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="#1"/></block><block s="evaluate"><block var="merge"/><list><block s="reportCDR"><block var="#1"/></block><block var="#2"/></list></block></block></block></script><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="#2"/></block><block s="evaluate"><block var="merge"/><list><block var="#1"/><block s="reportCDR"><block var="#2"/></block></list></block></block></block></script></block></script><list><l>#1</l><l>#2</l></list></block></block><block s="doIf"><block s="reportEquals"><block var="data"/><block s="reportNewList"><list></list></block></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportCDR"><block var="data"/></block><block s="reportNewList"><list></list></block></block><script><block s="doReport"><block var="data"/></block></script></block><block s="doRun"><block var="split"/><list></list></block><block s="doReport"><block s="evaluate"><block var="merge"/><list><custom-block s="$flash sort %l ordering with %predRing"><block var="odd items"/><block var="function"/></custom-block><custom-block s="$flash sort %l ordering with %predRing"><block var="even items"/><block var="function"/></custom-block></list></block></block></script></scripts></block-definition><block-definition s="$flash assoc %&apos;key&apos; %&apos;a-list&apos;" type="reporter" category="lists"><comment x="0" y="0" w="289.3333333333333" collapsed="false">The second input is an &quot;association list,&quot; a list of two-item lists.  Each of those smaller lists has a &quot;key&quot; as its first item and a &quot;value&quot; as its second.  ASSOC reports the first key-value pair in the association list whose key matches the first input.</comment><header></header><code></code><translations>ca:associació _ _&#xD;</translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportAtomicFindFirst"><block s="reifyPredicate"><autolambda><block s="reportEquals"><block var="key"/><block s="reportListItem"><l>1</l><l/></block></block></autolambda><list></list></block><block var="a-list"/></block></block></script><scripts><script x="19.333333333333332" y="108.22222222222221"><block s="doIf"><block s="reportEquals"><block var="a-list"/><block s="reportNewList"><list></list></block></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIf"><block s="reportEquals"><block var="key"/><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="a-list"/></block></block></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="a-list"/></block></block></script></block><block s="doReport"><custom-block s="$flash assoc %s %l"><block var="key"/><block s="reportCDR"><block var="a-list"/></block></custom-block></block></script></scripts></block-definition><block-definition s="%&apos;#&apos; for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><comment x="0" y="0" w="228.57142857142858" collapsed="false">This block carries out the given script for each item of the given list, like the primitive FOR EACH.&#xD;&#xD;What&apos;s different is that it provides the # variable, which will contain the item number in the list of each item in turn, 1 while processing item 1, and so on.</comment><header></header><code></code><translations>ca:_ per cada _ de _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%upvar"></input><input type="%l"></input><input type="%ca"></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><custom-block s="☠︎ linked? %l"><block var="data"/></custom-block><script><block s="doSetVar"><l>#</l><l>1</l></block><block s="doUntil"><block s="reportListIsEmpty"><block var="data"/></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><block s="doChangeVar"><l>#</l><l>1</l></block></script></block></script><script><block s="doIf"><block s="reportNot"><block s="reportListIsEmpty"><block var="data"/></block></block><script><block s="doFor"><l>i</l><l>1</l><block s="reportListLength"><block var="data"/></block><script><block s="doSetVar"><l>#</l><block var="i"/></block><block s="doSetVar"><l>item</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block><block s="doRun"><block var="action"/><list><block s="reportListItem"><block var="i"/><block var="data"/></block></list></block></script></block></script></block></script></block></script></block></script></block-definition><block-definition s="☠︎ linked? %&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="evaluate"><block s="reportJSFunction"><list><l>data</l></list><l>return data.isLinked;</l></block><list><block var="data"/></list></block></block></script></block-definition><block-definition s="$flash reverse %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:$flash umgekehrt _&#xD;pt:$flash uma lista inversa de _&#xD;ca:$flash capgira _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>list</l></list><l>return new List(list.asArray().slice().reverse());</l></block><list><block var="list"/></list></block></block></script></block-definition><block-definition s="☠︎ link %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="data"/></block><script><block s="doReport"><block var="data"/></block></script></block><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><block s="reportCDR"><block var="data"/></block></block></block></script></block-definition><block-definition s="printable %&apos;data&apos;" type="reporter" category="lists"><comment x="0" y="0" w="188.66666666666666" collapsed="false">Takes a (possibly deep) list as input,&#xD;and reports a human-readable text form &#xD;of the list (namely, Lisp notation).&#xD;&#xD;Will not work on circular lists.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><block s="doReport"><block var="data"/></block></script></block><block s="doIf"><block s="reportListIsEmpty"><block var="data"/></block><script><block s="doReport"><l>()</l></block></script></block><block s="doReport"><block s="reportJoinWords"><list><l>(</l><block s="reportAtomicCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="printable %l"><l/></custom-block></autolambda><list></list></block><block var="data"/></block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l> </l><l></l></list></block></autolambda><list></list></block></block><l>)</l></list></block></block></script></block-definition><block-definition s="sentence %&apos;phrase&apos;" type="reporter" category="lists"><comment x="0" y="0" w="302.6666666666667" collapsed="false">SENTENCE is the main constructor for sentences, represented&#xD;as lists of words.  It takes zero or more inputs, each of which can&#xD;be either a list or a text string.  If a list, the input is assumed to be&#xD;a list of words.  If a text string, it is converted to a list of words using&#xD;SENTENCE→LIST.  Then all the lists of words are appended to form a new list of words.&#xD;&#xD;If the inputs are lists of lists rather than lists of words, SENTENCE,&#xD;like APPEND, does only one level of flattening, reporting a list of&#xD;all the items of all the input lists.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input></inputs><script><block s="doReport"><block s="reportConcatenatedLists"><block s="reportAtomicMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><l></l><l><option>list</option></l></block><l></l><custom-block s="sentence $arrowRight list %txt"><l></l></custom-block></block></autolambda><list></list></block><block var="phrase"/></block></block></block></script></block-definition><block-definition s="$flash zip %&apos;lists&apos;" type="reporter" category="lists"><comment x="0" y="0" w="192" collapsed="false">ZIP takes any number of lists as inputs.  The lists should all be the same length.  ZIP reports a list of lists in which the first item is a list of all the first items, the second item is a list of all the second items, etc.&#xD;Viewing the inputs as the rows of a matrix, ZIP reports its transpose.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%l"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block s="reportListItem"><l>1</l><block var="lists"/></block></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="reportAtomicMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><block var="lists"/></block><custom-block s="$flash zip %mult%l"><block s="reportAtomicMap"><block s="reifyReporter"><autolambda><block s="reportCDR"><l/></block></autolambda><list></list></block><block var="lists"/></block></custom-block></block></block></script></block-definition><block-definition s="%&apos;x&apos;" type="reporter" category="lists"><comment x="0" y="0" w="105.33333333333333" collapsed="false">The identity function reports its input.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block var="x"/></block></script></block-definition><block-definition s="multimap %&apos;function&apos; over %&apos;lists&apos;" type="reporter" category="lists"><comment x="0" y="0" w="267.3333333333333" collapsed="false">Takes as input a function of N inputs and N lists.&#xD;The function is called with item 1 of all the lists as its inputs, with item 2 of all the lists as its inputs, and so on.  (The lists should all be the same length.)</comment><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%mult%l"></input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="function"/><custom-block s="%s"><l></l></custom-block></block></autolambda><list></list></block><custom-block s="$flash zip %mult%l"><block var="lists"/></custom-block></block></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><comment x="0" y="0" w="196" collapsed="false">Takes a sentence in text string form and reports the sentence as a list of its words.</comment><header></header><code></code><translations>de:Satz $arrowRight Liste _&#xD;ca:frase $arrowRight llista _&#xD;es:frase $arrowRight lista _&#xD;fr:phrase $arrowRight liste _&#xD;pt:uma lista com as palavras da frase _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportAtomicKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportEquals"><block s="reportStringSize"><l></l></block><l>0</l></block></block></autolambda><list></list></block><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;pt:captura _ _&#xD;</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></script></block-definition><block-definition s="throw %&apos;cont&apos;" type="command" category="control"><header></header><code></code><translations>de:wirf _&#xD;ca:llança _&#xD;es:lanzar _&#xD;fr:lance _&#xD;pt:lança _&#xD;</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>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;pt:captura _ _&#xD;</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>de:wirf _ _&#xD;ca:llança _ _&#xD;es:lanzar _ _&#xD;fr:lance _ _&#xD;pt:lança _ _&#xD;</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="if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0" type="command" category="control"><comment x="0" y="0" w="263.3333333333333" collapsed="false">This is a breakpoint block, to be used in debugging.&#xD;The Boolean input specifies the condition under which&#xD;the program should pause.  (Use True for an unconditional breakpoint.)  The intent is that the script should have&#xD;SHOW VARIABLE blocks for the process&apos;s local variables.&#xD;After the pause, this block automatically hides all temporary variables.</comment><header></header><code></code><translations>de:falls _ dann _ und pause $pause-1-255-220-0&#xD;ca:si _ fes _ i atura-ho tot $pause-1-255-220-0&#xD;es:si _ haz _ y páralo todo $pause-1-255-220-0&#xD;fr:si _ faire _ et mettre tout en pause $pause-1-255-220-0&#xD;pt:se _ , então _ e faz pausa em tudo $pause-1-255-220-0&#xD;</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="ignore %&apos;x&apos;" type="command" category="control"><comment x="0" y="0" w="206.66666666666666" collapsed="false">This block does nothing.&#xD;Use it when you are calling a reporter&#xD;for its side effect and don&apos;t care about&#xD;its return value.</comment><header></header><code></code><translations>de:ignoriere _&#xD;ca:ignora _&#xD;es:ignorar _&#xD;fr:ignore _&#xD;pt:ignora _&#xD;</translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="cascade %&apos;num&apos; times %&apos;function&apos; %&apos;init&apos; %&apos;#&apos;" type="reporter" category="control"><comment x="0" y="0" w="138" collapsed="false">Call f(f(f(...(f(x))))) n times where the three input slots are n, f, and x from left to right.  The # variable can be used inside f to represent how many times f has been called.</comment><header></header><code></code><translations>pt:o resultado de _ invocações em cascata de _ com argumento inicial _ _&#xD;</translations><inputs><input type="%n"></input><input type="%repRing"></input><input type="%s"></input><input type="%upvar"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><block var="init"/></block><block s="doSetVar"><l>#</l><l>0</l></block><block s="doRepeat"><block var="num"/><script><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doSetVar"><l>result</l><block s="evaluate"><block var="function"/><list><block var="result"/></list></block></block></script></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="cascade until %&apos;pred&apos; %&apos;function&apos; %&apos;init&apos; %&apos;#&apos;" type="reporter" category="control"><comment x="0" y="0" w="210.47493489583334" collapsed="false">Call f(f(f(...(f(x))))) until condition is true, where the three input slots are condition, f, and x from left to right.  The # variable can be used inside f or condition to indicate how many times f has been called.</comment><header></header><code></code><translations>pt:o resultado da invocação em cascata até que _ de _ com argumento inicial _ _&#xD;</translations><inputs><input type="%predRing"></input><input type="%repRing"></input><input type="%s"></input><input type="%upvar"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><block var="init"/></block><block s="doSetVar"><l>#</l><l>0</l></block><block s="doUntil"><block s="evaluate"><block var="pred"/><list><block var="result"/></list></block><script><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doSetVar"><l>result</l><block s="evaluate"><block var="function"/><list><block var="result"/></list></block></block></script></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="compose %&apos;f&apos; %&apos;g&apos;" type="reporter" category="control"><comment x="0" y="0" w="151.33333333333334" collapsed="false">Returns the function x↦f(g(x)) where f and g are the two inputs.</comment><header></header><code></code><translations>pt:a composição de _ com _&#xD;</translations><inputs><input type="%repRing"></input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="f"/><list><block s="evaluate"><block var="g"/><list><l></l></list></block></list></block></autolambda><list></list></block></block></script></block-definition><block-definition s="repeat %&apos;action&apos; until %&apos;pred&apos;" type="command" category="control"><comment x="0" y="0" w="202.66666666666666" collapsed="false">Like the built-in REPEAT UNTIL block, except that the ending condition is not tested until the script has been run the first time.  So the script is run at least once.</comment><header></header><code></code><translations>pt:repete _ até que _ $loop-0.7&#xD;</translations><inputs><input type="%cs"></input><input type="%boolUE"></input></inputs><script><block s="doRun"><block var="action"/><list></list></block><block s="doUntil"><block s="evaluate"><block var="pred"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="repeat %&apos;action&apos; while %&apos;pred&apos;" type="command" category="control"><comment x="0" y="0" w="287.3333333333333" collapsed="false">Run the script repeatedly, as long as the given condition is true.  Runs the script at least once before testing the condition.</comment><header></header><code></code><translations>pt:repete _ enquanto _ $loop-0.7&#xD;</translations><inputs><input type="%cs"></input><input type="%boolUE"></input></inputs><script><block s="doRun"><block var="action"/><list></list></block><block s="doUntil"><block s="reportNot"><block s="evaluate"><block var="pred"/><list></list></block></block><script><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="repeat while %&apos;pred&apos; %&apos;action&apos;" type="command" category="control"><comment x="0" y="0" w="264" collapsed="false">Runs the script repeatedly, as long as the condition is true. Tests the condition before the first time the script is run.  Like the built in REPEAT UNTIL except that in this block the condition must be true, not false.</comment><header></header><code></code><translations>pt:enquanto _ , repete _ $loop-0.7&#xD;</translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doUntil"><block s="reportNot"><block s="evaluate"><block var="pred"/><list></list></block></block><script><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="repeat %&apos;num&apos; %&apos;#&apos; %&apos;action&apos;" type="command" category="control"><comment x="0" y="0" w="171" collapsed="false">Runs the script the specified number of times, like the built-in REPEAT block, but this one provides the # variable that can be used inside the script.  Try&#xD;REPEAT (200)&#xD;                MOVE (#) STEPS&#xD;   RIGHT 92&#xD;with the pen down.</comment><header></header><code></code><translations>pt:repete _ vezes _ _ $loop-0.7&#xD;</translations><inputs><input type="%n"></input><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doSetVar"><l>#</l><l>0</l></block><block s="doRepeat"><block var="num"/><script><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; step %&apos;step&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><comment x="0" y="0" w="247.33333333333334" collapsed="false">The primitive FOR block uses an implicit step of ±1 depending on which of the starting and ending values is larger.  This version allows you to provide an explicit step value.  If the sign of the step input is incompatible with the ordering of the starting and ending values, the script will not be run at all.</comment><header></header><code></code><translations>pt:para _ de _ com passo _ a _ _ $loop-0.7&#xD;</translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>test</l></list></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doIfElse"><block s="reportLessThan"><block var="step"/><l>0</l></block><script><block s="doSetVar"><l>test</l><block s="reifyPredicate"><autolambda><block s="reportLessThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>test</l><block s="reifyPredicate"><autolambda><block s="reportGreaterThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script></block><block s="doUntil"><block s="evaluate"><block var="test"/><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="let %&apos;a&apos; be %&apos;val&apos; in %&apos;loop&apos; %&apos;body&apos;" type="command" category="control"><comment x="0" y="0" w="238.66666666666666" collapsed="false">Provides LOOP as a function of one input that runs&#xD;the body of the LET with A set to the function input,&#xD;so the body can run itself recursively.&#xD;See COPY block in Variables for an example of use.</comment><header></header><code></code><translations>pt:tendo _ o valor inicial _ , executa _ definido como _&#xD;</translations><inputs><input type="%upvar"></input><input type="%s"></input><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doSetVar"><l>a</l><block var="val"/></block><block s="doSetVar"><l>loop</l><block s="reifyScript"><script><block s="doSetVar"><l>a</l><block var="new value"/></block><block s="doRun"><block var="body"/><list><block var="a"/></list></block></script><list><l>new value</l></list></block></block><block s="doRun"><block var="loop"/><list><block var="a"/></list></block></script></block-definition><block-definition s="pipe %&apos;value&apos; $arrowRight %&apos;pipe&apos;" type="reporter" category="control"><comment x="0" y="0" w="339.3333333333333" collapsed="false">The inputs are a starting value and one or more monadic functions.&#xD;The first function is called with the starting value as its input.&#xD;The second function is called with the value reported by the first function as its input, and so on.  PIPE reports the value reported by the last function.  PIPE provides an alternative notation for function composition instead of the usual nesting.&#xD;&#xD;nested acronym:                                                                 &#xD;report (combine (keep items (capital-letter? ( )) from&#xD;                  (map (letter (1) of ( )) over&#xD;                                                 (sentence→list (phrase)))) using (join ( ) ( )))&#xD;&#xD;piped acronym:                                             &#xD;report (pipe (phrase) → (sentence→list ( ))&#xD;                                     (map (letter (1) of ( )) over ( ))&#xD;                                                    (keep items (capital-letter? ( )) from ( ))&#xD;                                      (combine ( ) using (join ( ) ( )))&#xD;&#xD;Some people find PIPE easier to read because the functions are called in the same order in which you read them, whereas in nested composition the innermost function is called first. </comment><header></header><code></code><translations>pt:a aplicação a _ de _&#xD;</translations><inputs><input type="%s"></input><input type="%mult%repRing"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="pipe"/></block><script><block s="doReport"><block var="value"/></block></script></block><block s="doReport"><custom-block s="pipe %s $arrowRight %mult%repRing"><block s="evaluate"><block s="reportListItem"><l>1</l><block var="pipe"/></block><list><block var="value"/></list></block><block s="reportCDR"><block var="pipe"/></block></custom-block></block></script></block-definition><block-definition s="winning square for player %&apos;place&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doForEach"><l>item</l><custom-block s="possible wins"></custom-block><script><block s="doIf"><block s="reportAnd"><block s="reportEquals"><block s="reportListLength"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportEquals"><l></l><block var="place"/></block></autolambda><list></list></block><custom-block s="status of triple %s"><block var="item"/></custom-block></block></block><l>2</l></block><block s="reportEquals"><block s="reportListLength"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><custom-block s="status of triple %s"><block var="item"/></custom-block></block></block><l>1</l></block></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><custom-block s="status of triple %s"><block var="item"/></custom-block></block></block></block></script></block></script></block><block s="doReport"><l>none</l></block></script></block-definition><block-definition s="next move for computer %&apos;X_or_O&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportEquals"><custom-block s="can player %s win now?"><block var="X_or_O"/></custom-block><l>yes</l></block><script><block s="doReport"><custom-block s="winning square for player %s"><block var="X_or_O"/></custom-block></block></script><script><block s="doIfElse"><block s="reportNot"><block s="reportEquals"><custom-block s="winning square for player %s"><block var="Player_Team"/></custom-block><l>none</l></block></block><script><block s="doReport"><custom-block s="winning square for player %s"><block var="Player_Team"/></custom-block></block></script><script><block s="doReport"><block var="position number"/></block></script></block></script></block></script></block-definition><block-definition s="create model learning rate %&apos;learning_rate&apos; discount factor %&apos;discount_factor&apos; randomize %&apos;random&apos; list of available actions %&apos;list_of_available_actions&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list></list></block><block var="learning_rate"/><block var="discount_factor"/><block var="random"/><block var="list_of_available_actions"/></list></block></block></script></block-definition></blocks><variables><variable name="X&apos;s turn?"><bool>true</bool></variable><variable name="boardstatus"><list struct="atomic" id="2557">1,X,3,4,O,6,7,8,9</list></variable><variable name="global_check"><list struct="atomic" id="2558">1,2,3,4,5,6,7,8,9</list></variable><variable name="board"><list struct="atomic" id="2559">e,X,e,e,O,e,e,e,e</list></variable><variable name="positionnumber"><l>10</l></variable><variable name="Item"><l>0</l></variable><variable name="itertool"><l>0</l></variable><variable name="Player_Team"><l>0</l></variable><variable name="Computer_Team"><l>0</l></variable><variable name="isAcrossBoard?"><l>false</l></variable><variable name="Deep_Learning_Model"><l>0</l></variable></variables></project><media name="U3L1-Tic-Tac-Toe" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>