<snapdata remixID="9870865"><project name="tic tac toe" app="Snap! 6, https://snap.berkeley.edu" version="1"><notes>to play you must click the "see code" button and play inside the editor, for some reason the project page player is funky.&#xD;&#xD;created all using pen.&#xD;&#xD;includes kind-of-AI (not that really smart though)!&#xD;&#xD;enjoy, this took four days to make :)</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="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAgAElEQVR4Xu2dT6hlR73va5028U9EFEEH14jgnTqRdzWCkkwcCL5etQ+ER+JAoknHRMXn5OJEbgs6kDd4Imr+qg8RlQd9Vi0eggPBXFHz1IE9cKb3Cf4BiQMFE65Jp089VvqcpHN6772qalXVr2rVp0cNu/786vOtU5+91tln7U7xDwIQgAAEIACB7AS67DMyIQQgAAEIQAACCgGzCSAAAQhAAAICBBCwAHSmhAAEIAABCCBg9gAEIAABCEBAgAACFoDOlBCAAAQgAAEEzB6AAAQgAAEICBBAwALQmRICEIAABCCAgNkDEIAABCAAAQECCFgAOlNCAAIQgAAEEDB7AAIQgAAEICBAAAELQGdKCEAAAhCAAAJmD0AAAhCAAAQECCBgAehMCQEIQAACEEDA7AEIQAACEICAAAEELACdKSEAAQhAAAIImD0AAQhAAAIQECCAgAWgMyUEIAABCEAAAbMHIAABCEAAAgIEELAAdKaEAAQgAAEIIGD2AAQgAAEIQECAAAIWgM6UEIAABCAAAQTMHoAABCAAAQgIEEDAAtCZEgIQgAAEIICA2QMQgAAEIAABAQIIWAA6U0IAAhCAAAQQMHsAAhCAAAQgIEAAAQtAZ0oIQAACEIAAAmYPQAACEIAABAQIIGAB6EwJAQhAAAIQQMDsAQhAAAIQgIAAAQQsAJ0pIQABCEAAAgiYPQABCEAAAhAQIICABaAzJQQgAAEIQAABswcgAAEIQAACAgQQsAB0poQABCAAAQggYPYABCAAAQhAQIAAAhaAzpQQgAAEIAABBMwegAAEIAABCAgQQMAC0JkSAhCAAAQggIDZAxCAAAQgAAEBAghYADpTQgACEIAABBAwewACEIAABCAgQAABC0BnSghAAAIQgAACZg9AAAIQgAAEBAggYAHoTAkBCEAAAhBAwOwBCEAAAhCAgAABBCwAnSkhAAEIQAACCJg9AAEIQAACEBAggIAFoDMlBCAAAQhAAAGzByAAAQhAAAICBBCwAHSmhAAEIAABCCBg9gAEIAABCEBAgAACFoDOlBCAAAQgAAEEzB6AAAQgAAEICBBAwALQmRICEIAABCCAgNkDEIAABCAAAQECCFgAOlNCAAIQgAAEEDB7AAIQgAAEICBAAAELQGdKCEAAAhCAAAJmD0AAAhCAAAQECCBgAehMCQEIQAACEEDA7AEIQAACEICAAAEELACdKSEAAQhAAAIImD0AAQhAAAIQECCAgAWgMyUEIAABCEAAAbMHggn0ff+FruvuVkq9USl1VSn1G2vtJ8dx/HnwoCvu2Pf9/dPyxnF8pMRlbjab90x1DcPwZIn1udZUOufS63PlTLvlBBDwcoZNjKC1/r1S6taQxZ47d+6dly5d+lVI3zX02Ww291lrH71+LV3XXRiG4bES1qe1/qhS6vEz9d01DMP3SqjPtYbSOZdenytn2sUjgIDjsVzdSH3ff7vrug/FXJgxprk9p7W22xiWIGGt9QNKqa9tq6+2rErmvE2+p8xr4xzzPGh9rOYOw9YDd1n/ZrP5nbX2bS5tQ9u0cuhMtxu7rnt4FydJCe+T71TvwcHBe4+Ojn4amnHOfiVz3iffiZG19mOl/loiZ4YtzoWAW0x9z5p3XUWkwrR2Ec+JYeIqIeE5+Z4I+F1HR0e/TJV9zHFL5TwnXwQccxfUNxYCri+zJBXnFu+ZRbzbGPOLJAsrYFAXtjkl7CLfCVttb45K4+wi3xo5F/AjtZoSEPBqogxfiMvBFT66c8+rxphXOLeuqKHrQZxDwpvN5uPW2q/M4bPWfngcx2/NtSvp9cI43/DBu22scmReUkbU8nICCLjxHRFBvsdKqWeVUueUUjcvxVnbVZfrekuQg+uVr1LqQWPMQ65rK6ldCZxLqKGkTKhlNwEE3PDuCJCvNcYcuCI7PDz8l+PjY+9by0g4/p8otSDf030pKUDJuV1/LmlXDgEEXE4WWSvxlO/dxpjvLimw7/vjruuc9xsSjifhluQrKWHku+SEaLOv84HYJp51rtpVvtbaP4zj+NaYFDzm/vs4jq+LOffpWH3f3zv9fxzHlz18IsVc28bMeVDXIN9UeeTknHOuXPuUedITQMDpGRc1g6sAU16BbjabJ621t82BiV3DdNB3Xfeyp09Za++TEHGOA7t0+ebIIwfnHHPM/azwep0EEHCduQVVPT3r11r7s7nOscW3az6XNwMxa9k1X8w55the/3rKg7t0+U4ccuWRknPKsX32Em3rJICA68wtqOrcwnMp0qGmY2PM9AnrRf+2XW2dDih1FTzNn+IAr0G+ufNIwTnFmIs2OZ2rI4CAq4ssrOC+7/+z67pX7estdSU4J+EYdWmt/00pdXHH+j9njNn1Whhwj14xD/Ia5Hty9Zs9j5icY47lsVVoujICCHhlgYbe7o0huVCUWuunlVK3pHxzULKAY10J1yJfKQHH4ox8Q3/S6XeWAAJuYE9orf+slHrzrqVaa384juP7JVGkvgouXcBL5VCTfCUFvJQz8pU8JdY3NwJeX6Y3rCi13GIhnKnzL8aYN4XOVYOAQ+VQm3ylBRzKGfmG/vTRbxcBBNzA3tgnNslbz2fRp3yjUIuAfeVgrZ2en731+3zP8C3q8ZIl5OEj1ImltfbRueOCZzvPEeL16wkg4JXvB6311emrXXctsyQBn1wZbf3y+um1JbWWcOD7bDVXOTiOWZR8S7gCPuUWkzPyddyNNHuRAAJe+WZIeVs3Bbp99VprfzCO4wdC5q1NwD5XwjM8ipNvSQKOxRn5hvxU0gcBr3wP1HL7+TQGrfX07Uo792XoVXCNAo4ghyLlW5qAl3JGvis/RBMuDwEnhFvC0LUJONVt6FoFvEAOxcq3RAGHcka+JZxy9daAgOvNbrZyrfX0cInpgQdb/4VeTc5OvLBBijcNMyxEH8Thgsvzd5VFy/dEwPv2plgePpyRr8vOpc0+Agh4xftDa/2MUuo1O5Z41RgzfYK2uH8I+MZIPP7USNUghlLfECHg4o6DVReEgFcc78zvU39ijHlfictHwC9PxUe+pz1Ll3CJAvaRby2cS/z5pqaXCCDgFe+GmU8Uf2ocxy+XuHwE/FIqIfKtQQ6lCThEvjVwLvHnm5oQcBN7YJ/Iuq77zDAMXywRBAK+lsoS+ZYuh5IEvES+pXMu8eebmhBwE3tg5hb0r40x7ygRBAKOI9+S5VCKgGPIt2TOJf58UxMCbmIPaK3/qpR6/Y7FWmPMzidkSQJqXcAeV74Pdl33fI2PSCxBwK7ynX6fPv081MhZ8ueYuecJ8DvgeUbVtjh//vzhwcHBpV0L4M+QXiQj9mcvZ7Pxka8x5qGpv49IhmF4rIQNLS3gEGYhfUpgTQ3lEkDA5WYTpbIUV5NRCtsxyJ133nnuypUrz8d+0yB94LswC5Hv6bi1yUEyjyWslvR12QO0aYsAAl553rUJONU3Ikke+C5bbIl8a5SwVB4xBBpjDJc9QZv1E0DAK894RmjFPYxjpt5PG2O+FBKZ1IHvUmsM+dYmYYk8Yooz5lgue4Q26ySAgNeZ64ur0lo/rZS6JfYt3RTYLly4cNNTTz31XIpaJQ58F0Yx5VuThHPnkUKYKcZ02TO0WQ8BBLyeLHeuZOaq8rPGmM+XgCHV7edpbbkPfBeeKeRbi4Rz5pFSlCnHdtlDtKmbAAKuOz+n6lOKzakAh0YXL148uHz58tU9TY0xZuMw1NYmOQ98lxpTyrcGCefKI4cgc8zhsqdoUx8BBFxfZt4Va62/rpT6yJ6OzxljXuk9cMQOqd8k5DrwXZDkkG/pEs6RR04x5pzLZY/Rpg4CCLiOnBZXmVpwSwqcq00ptfjDYjkOfBcGOeVbsoRT5yEhRIk5XfYcbcolgIDLzSZqZVrrJ5RSt+8bVOLBHFrrHyul9n4rU4y6Uh/4LmFJyLdUCafMQ1KEknO77EHalEUAAZeVR9JqHK40VQzZuS6i7/tN13VHM+3/wxjzz65j7mqX8sB3qU1SviVKOFUeJQiwhBpc9iRt5AkgYPkMslZQioS11sP04eS5xcd6Q5DqwJ+rf3q97/t7uq77xlzbrus+MQzDV+faLXm9FDmkyKOUtU35lFTLkv1C37QEEHBavsWNrrV+Vil181xhscS3bZ6Zb2l6sUvMGlIc+HMMT193edOjlHrw9NnOruOGtnOVQ0z+Z2tNkYcL5+mLFXI9D7sEzqF7hH55CCDgPJyLmsXloDotOPYh7DF31L9PTnHgu4Sqtb5DKfWjmbbZ5Htah4scrLUfG8fxEZd1+raJnUff9/d3XffwvjpyyrcUzr650D4vAQScl3cxs3mIcKr5eWPMTUuK95nPWvuPcRxfvWS+HFdcLvUdHh7ednx8/OSettnl6yqHNQlYQr4lcHbZo7SRI4CA5diLz+wjxdNip6uMYRgecCleaz09VtJX3MfGmHMu4/u0iX3F5Tm33dFeTL4ucoh99+N6Biny2LWfJeUrzdlnn9I2PwEEnJ95UTOGSDjhApI9ECTFge/KQWt9l1LqO2fa32uMmR6QIv5v2+3o1NJKkYfEOnzCK70+n7XQNg4BBByHY9WjlCBha+03x3Hc97SuRYxTHPi+BW02mw92XWePjo6+79s3R/vp96jTPKl+75v6Cvh0/JzrCMml9PpC1kSfMAIIOIzb6npprX+rlHq7xMJS3uo8XU8JApZgW+qc5FFqMtSVkwACzkm7grkyXw0/Y4x5bQ4sHPg5KLvPQR7urGi5XgIIeL3ZLlpZahHnuOrNdctzEehGOyPgRoNn2S8jgIDZEHsJRBbx34wxb5BAzoEvQX33nORRVh5UI0MAActwr3JW1ydYXb+4ruv+OAzDrdIL5sCXTuDl85NHWXlQjQwBBCzDfW2zHiiljkteFAd+WemQR1l5UI0MAQQsw51ZMxPgwM8MfGY68igrD6qRIYCAZbgza2YCHPiZgSPgsoBTTZEEEHCRsVBUbAIIODbRZeORxzJ+9F4HAQS8jhxZBVdcVe0BBFxVXBSbiAACTgSWYcsiwIFPHmURoBoIKIWA2QVNEEDAZcVMHmXlQTUyBBCwDHdmzUyAAz8zcH4lUBZwqimSAAIuMhaKik0AAccmumw88ljGj97rIICA15Ejq+CKq6o9gICriotiExFAwInAMmxZBDjwyaMsAlQDAT6ExR5ohAACLito8igrD6qRIcAVsAx3Zs1MgAM/M3B+JVAWcKopkgACLjIWiopNAAHHJrpsPPJYxo/e6yCAgNeRI6vgiquqPYCAq4qLYhMRQMCJwDJsWQQ48MmjLAJUAwE+hMUeaIQAAi4raPIoKw+qkSHAFbAM9yyz9n1/b9d1/+Qx2Zr3w+1KqTt2sHhCKfXvHpxoupwAeTgwtNb+cRzHxx2a0qRCAms+cCuMI07JJ+J9LM5ojAIBCEgTsNbeh4ilU4g/PwKOz1R8RK21FS+CAiAAgagEjDGc11GJyg9GoPIZRK2Aq9+oOBkMAsUQ4Cq4mCiiFYKAo6EsYyAEXEYOVAGB2AQQcGyi8uMhYPkMolfALejoSBkQAuIEuAUtHkH0AhBwdKTyA3IVLJ8BFUAgJgGufmPSLGcsBFxOFtErORHxW6IPXOeA/NlLWbm1nIfzhySttX/i089lbdyY1SDgmDQZq1gCPPihrGjIo6w8qEaGAAKW4c6smQlw4GcGPjMdeZSVB9XIEEDAMtyZNTMBDvzMwBFwWcCppkgCCLjIWCgqNgEEHJvosvHIYxk/eq+DAAJeR46sgiuuqvYAAq4qLopNRAABJwLLsGUR4MAnj7IIUA0E+DpC9kAjBBBwWUGTR1l5UI0MAa6AZbgza2YCHPiZgfMrgbKAU02RBBBwkbFQVGwCCDg20WXjkccyfvReBwEEvI4cWQVXXFXtAQRcVVwUm4gAAk4ElmHLIsCBTx5lEaAaCPAhLPZAIwQQcFlBk0dZeVCNDAGugGW4FzVr3/f3TwWN4/hIUYWdFLPZbN4z/XcYhidD6yvhwI+xjtD1u/TLWV8JeZxl0vf9F7quu1sp9Ual1FWl1G+stZ8cx/HnLvxoAwFfAgjYl9iK2m82m/ustY9ev6Su6y4Mw/BYCcvUWv+rUuqLZ+r712EY/odvfZIHvtb6LqXUd87UfK8x5uu+60jRXmv9UaXU42c43zUMw/dSzDeNKZnHyfy/V0rdGrK+c+fOvfPSpUu/CulLHwi87OcMHO0S0Fpv/Vq0EiSstf7vSqn/uS2dkC8mlzzwd3FWSj1ojHlIcgdqrR9QSn0tFmfXtUjk0ff9t7uu+5BrjS7tQvaiy7i0aYMAV8Bt5HzDKqfbzl3XPbxr+ZIS3iffqd6Dg4P3HB0d/V+f6CQO/JMrrTuUUj/aU6uYhPfJ94Tze4+Ojn7qw9m1bc48NpvN76y1b3OtLaQdIg6hRh8E3OgemBPwhEVCwnPyrU3Ah4eHtx0fH8/97jq7hOfke8L5XUdHR79M8SOSS8B77j6kWJZCxEmwrnZQBLzaaOcX5nI45ZSwi3ynVYUccrkO/G3UXTjnvB3tIt9QzvO77lqL1Hk4Mnct17fdu40xv/DtRPv2CCDg9jJ/ccXbPoS1DUcOCbvKt+u6B4Zh2HnrfFecqQ/8fduo7/t7uq77xtxW67ruE8MwfHWu3ZLXN5vNx621X5kbw1r74XEcvzXXLvT1lHkIy/cUyVVjzCtC+dCvDQIIuI2cd66yBAm7ylcp9WljzJdCIkt54LvU43rVmfJKuIQaTlmlyiOCfI+VUs8qpc4ppW52yXZfm5C7NUvnpH89BBBwPVklq1RSwjnkO4FLdeD7hCIpQMm5tzFKkUeAfK0x5sA1w/Pnz/+Xg4MD79+JI2FXwu21Q8DtZb51xRISziXfUgR8UsfOP/s5E0y0D2aVJt8UeXjK925jzHeX/Oj3fX/cdZ3z+YmEl9Beb1/nDbReBKzslEBOCeeUb4oDf8muySnEnHP5MIl5BewqX2vtH8ZxfKtPnXNtPeb++ziOr5sbj9fbIoCA28p7drU5JJxbvqUJONeVcKnyjZmHqwBTXoFuNpsnrbW3zf1wpaxhbm5eL5MAAi4zF9GqUkpYQr4xD/yYwaQUZMqxYzCIcQU8PbvaWvuzuXpyic/lzUCuWuaY8HoZBBBwGTkUV0UKCUvJt1QBp7oSLl2+sfIoUXgONR0bY6ZPWPMPAgoBswl2EogpYUn5xjrwU22VmMKMOVaq9cbIo+/7f3Rd98p9NUpdbc5JWKqulHkydhgBBBzGrZleMSQsLd8YB37qwGOIM8YYqdd5Ov7SW9AlS05r/bRS6pYS3xzkypd53AggYDdOTbdaIuES5FuDgJfejq5Jvkvz0Fr/WSn15l0/lNbaH47j+H7JH9qS3yBIcmHulxNAwOwIJwIhEi5FvksPfCdAkRqFiDSkT6Ryg4dZcgVci9xm6vyLMeZNwQDpuAoCCHgVMeZZhI+ErbXTLbit3+d7ptrgx0v6rHrJge8zT4y2PkI9mW/r9/meqSXagz0irfGiUurfdoz1OWPM9PrWf/vEVtLvV2t5oxAjT8YII4CAw7g128tVwo6Assi3pivgU24eEnZBXZR8l+Shtb46fSX0rkWXJOCTddpaanXZSLSJSwABx+XZxGiRJJxNvksOfMlAI0m4OPkuyaO227r76rXW/mAcxw9I7jHmliWAgGX5Vzv7Qglnle+SA186oIUSLlK+S/Ko5fbz6b6Ze2Z0aVfs0vu9tfkRcGuJR1xvoISzy3fJgR8RV/BQgRIuVr5L8qhNwNyGDt72TXREwE3EnG6RnhIWke+SAz8dOb+RPSVctHxD85j5IJ0q9WqyxjcNfruT1qEEEHAoOfq9QMDjT41U13UXhmF4TAJdTZ+C3sYHAb+w155RSr1mx/65aox5hcTempsTAc8Ravd1BNxu9otX7iPf08mkJFyzgD3le4q66KvgkDy01sdK7Xx87k+MMe9bvKkTDICAE0BdyZAIeCVB5l5GiHwlJRxy4OdmGuHK9+wQxUo4JI+ZTxR/ahzHL5eQ2dkaEHCJqZRREwIuI4eqqlgiXykJhxz40qEEXvlWIeGQPPaJrOu6zwzD8EXpzHa8ieJvgUsMpoCaEHABIdRUQgz5Skg45MCXzCWSfIu9HR2Sx8wt6F8bY94hmdmuubkCLjGVMmpCwGXkUEUVHvL9dNd1z1hrH51bWK7fCYcc+HO1p3rdQ74PntTQxKMotdZ/VUq9fgd3a4zZ+YSsVFm5jIuAXSi12QYBt5m796p95GuM+dI0geufKOWQcC0C9pGvMeahiXNIH+8NELlDSB7nz58/PDg4uLSrFP4MKXJIDJecAAJOjrj+CULke7rqUiQccuDnTm6JSJf0zb3OkzcNQV/GUNvV5J133nnuypUrz9f2pkFiT7Q4JwJuMXWPNS+Rb0kSLl3AMQQaYwyPrbGoaWgetQmYb0RatE1W3xkBrz7i8AXGkG8pEg498MPpufeMKc6YY7mvwL9laB4zQivuYRwz9Yo9Gc4/MXqkIICAU1BdwZgx5VuChEMP/NRRphBmijFjcwjNQ2v9tFJq+q7prf9K+j3whQsXbnrqqaeeq6HW2PkynhsBBOzGqalWKeQrLeHQAz9l8ClFmXLsGEyW5DFzVflZY8znY9S4dAxuPy8luP7+CHj9GXutMKV8JSW85MD3AujYOIcgc8zhuNwbmi3JowaxXbx48eDy5ctX9/AxxphNKD/6rYMAAl5HjlFWkUO+UhJecuBHgXvdIDnFmHMuH05L8tBaf10p9ZE98z1njHmlTz2x29bwJiH2mhnPnwAC9me2yh455Ssh4SUHfszAJYQoMeccs6V5lCy4udqUUsV9WGwuL15PQwABp+Fa1agS8s0t4aUHfoxAJUUoOfc2dkvz0Fo/oZS6fV8uEh/I0lr/WCm191uZJOqKsX8ZIz4BBByfaVUjSso3p4SXHvhLQy1BgCXUcMoxRh4OV5oqp+w2m82htXbnk7pO1v7/jDFvX7qf6L8OAgh4HTkGraIE+eaScIwDPwiyUqrv+3u6rvvGXP+u6z4xDMNX59oteX2z2XzcWvsVhzHuMcb8L4d2QU1i5VGKhLXWw/RU0DkYOd8QzNXC6/IEELB8BmIVuBxeSqlsDwtwfWxlyCEW68APCcuRc7bv7nW9Eg7h7MonVh5a62eVUjfPzZt4LcdKqdmzNGUNc+vn9TIJzG6aMsumqqUEtNZ3KKV+NDNONvn6XAlbaz82juMjPgxiHfg+c05tHTlnk+9p/S4SPjg4eO/R0dFPfdfs0j5mHo5vcF4oK7YEPeYu5u+TXfKhTR4CCDgP5+JmOTw8vO34+PjJPYVll6+rhGsSsAPn7PJ1lfDBwcG7jo6Ofpli88YU8MkbnZ1fer+l/ueNMTctWZeHeJW19h/jOL56yXz0XScBBLzOXJ1WtecQEZOvi4RDrmJiH/hOgE8a7eEsJl8XCYdwduWSIg8fKZ7W2XXdw8MwPOBSt9Z6eqykr7iPjTHnXManTXsEEHB7mb+44h0fwhKX7z4Jh353cIoD33XraK3vUkp950z7e40x0wMlxP9prT+qlHr8TCH/zRjzv1MVlyqPEAmnWqNS6lljzKsSjs/QlRNAwJUHGKP8vu//6zTOOI7/J8Z4scfo+/7+k/q8fu97fR2pDnyftW42mw92XWePjo6+79MvV9uc9aXMowQJW2u/OY7jvqd15YqVeQomgIALDofS4hFIeeDHq7KdkVLnobX+rVJK5O9tU966b2eHtLFSBNxGzs2vMvWB3zxgTwC58sh8NfyMMea1niho3jABBNxw+C0tPdeB3xLTJWvNnUdqEXPVu2Q3tNsXAbebfVMrz33gNwU3YLFSeUQW8d+MMW8IWD5dIPACAQTMRmiCgNSB3wTcgEWWkIfW2ukJVtcvr+u6Pw3D8JaAJdMFAjcQQMBsiiYIlHDgNwHacZGF53GglJrkzD8IJCWAgJPiZfBSCBR+4JeCKVsd5JENNRMVTAABFxwOpcUjwIEfj2WMkcgjBkXGqJ0AAq49Qep3IsCB74QpWyPyyIaaiQomgIALDofS4hHgwI/HMsZI5BGDImPUTgAB154g9TsR4MB3wpStEXlkQ81EBRNAwAWHQ2nxCHDgx2MZYyTyiEGRMWongIBrT3BP/X3f39t13T95LHHN++F2pdQdO1g8oZT6dw9ONF1OgDwcGFpr/ziO49lvqnLoSZMaCKz5wK2Bf5IaT8T7WJLBGRQCEMhOwFp7HyLOjj35hAg4OeL8E0R+3F7+BTAjBCBwAwGeN72+TYGAV5YpV78rC5TlQOCEAFfB69sKCHhlmSLglQXKciCAgFe7BxDwCqPlFvQKQ2VJzRPgFvT6tgACXl+miqvgFYbKkpomwO3ndcaPgNeZ6wurOhExX512LWP+7KWsvd5yHtY1Cmvtn/j0syut+toh4Poyo+IAAjz4IQBawi7kkRAuQ1dDAAFXExWFLiHAgb+EXvy+5BGfKSPWRwAB15cZFQcQ4MAPgJawC3kkhMvQ1RBAwNVERaFLCHDgL6EXvy95xGfKiPURQMD1ZUbFAQQ48AOgJexCHgnhMnQ1BBBwNVFR6BICHPhL6MXvSx7xmTJifQQQcH2ZUXEAAQ78AGgJu5BHQrgMXQ0BBFxNVBS6hAAH/hJ68fuSR3ymjFgfAQRcX2ZUHECAAz8AWsIu5JEQLkNXQwABVxMVhS4hwIG/hF78vuQRnykj1kcAAdeXGRUHEODAD4CWsAt5JITL0NUQQMDVREWhSwhw4C+hF78vecRnyoj1EUDA9WVGxQEEOPADoCXsQh4J4TJ0NQQQcDVRUegSAhz4S+jF70se8ZkyYn0EEHB9mVFxAAEO/ABoCbuQR0K4DF0NAQRcTVQUuoQAB/4SevH7kkd8poxYHwEEXF9mVBxAgAM/AFrCLuSREC5DV0MAAVcTFYUuIcCBv4Re/L7kEZ8pI0wy7mIAAA2+SURBVNZHAAHXlxkVBxDgwA+AlrALeSSEy9DVEEDA1URFoUsIcOAvoRe/L3nEZ8qI9RFAwPVlRsUBBDjwA6Al7EIeCeEydDUEEHA1UVHoEgIc+Evoxe9LHvGZMmJ9BBBwfZkVU3Hf91/ouu5updQblVJXlVK/sdZ+chzHnxdT5EkhNR/4NXF2zT1lHn3f3z/VMY7jI6715Gy32WzeM803DMOTOedlrvIIIODyMimyIq3175VSt4YUd+7cuXdeunTpVyF9Y/VJeeDHqnEap3bOrixS5LHZbO6z1j56fQ1d110YhuEx17pSttNaf1Qp9fiZ+u4ahuF7Kedl7HIJIOBysxGvrO/7b3dd96GYhRhjRPZcigM/Fpc1cXZlkiIPrbXdNn8JEtZaP6CU+tq2+qR+Jlyzol06AiKHYbrlMHIMApvN5nfW2rfFGGvXGLkPnRQH/lI+a+TsyiR2HtNt567rHt41v6SE98l3qvfg4OC9R0dHP3VlR7v1EEDA68kyykp2XUVEGXzLILlEHPvAX8pjrZxducTOY07AU10SEp6T74mA33V0dPRLV3a0Ww8BBLyeLBetJLcQzhT7bmPMLxYtYKZz7AM/tNa1c3blkiIPF7Y5Jewi34lXrjehrtnQLh8BBJyPdbEzuRxcGYq/aox5Rap5Uhz4vrW2wNmVSYo8tn0Ia1s9OSS82Ww+bq39yhwPa+2Hx3H81lw7Xl8nAQS8zlydVxVBCsdKqWeVUueUUjc7T7yjYaqrgRQHvs9aW+HsyiRVHiVI2PXKVyn1oDHmIVdmtFsfAQS8vkydVxQgBWuMOXCd4PDw8F+Oj4+9by2nkHCqA9+FRUucXXhMbVLmISlh5Ou6A2g3EUDAje4DTyncbYz57hJUfd8fd13nvN9iSzjlgb+PS2ucXfdI6jwkJIx8XdOn3SkB5wMRZOsh4CoFa+0fxnF8a8yVe8z993EcXxdr7tQH/rY6Pda6Gs6ueeXII6eEka9r8rS7ngACbmw/uEoh9hXo9Zi11j9TSr3wOL59/2LWkOPAP7PGrQ+FOLvemGs8O7YE57lMT1/PlUcOCSNf19Rpd5YAAm5oT0zPoLXWTvLLJr59E7m8GYglqFwH/rTeljnP7a3cAj7J44ZHVG6rM+TT0cjXNXHabd1zYGmHQE7huVJ1qOnYGDN9wnrRv5wCdlhT9r/9dKgpCmfXkHLmkUrCyNc1bdrtIsAVcCN7o+/7/+y67lX7lhvratMX6ZwcYtSV68BvnbNr9rnyuL6emLejka9r0rTbRwABN7I/ckguFKXW+mml1C0p3xzkOvBb5+y6B3LlcbaeGBJGvq4p026OAAKeI7SC17XWf1ZKvXnXUqy1PxzH8f2SS00trhwHPpzdd1COPHZVs0TCyNc9Y1rOE0DA84yqb5FabrEAzdT5F2PMm0LnynHgw9k9nRx57KsmRMLI1z1fWroRQMBunKputU8MMX6/GgtOSoHlOPDh7L4TcuQxV42PhK2103PKt36f75l5eLzkHHhef5EAAl75ZtBaX52+cnTXMksS8FRjKomlPvDh7PeDlDoP12pcJew4HvJ1BEWzawQQ8Mp3QsrbuinQ7avXWvuDcRw/EDJv6gMfzn6ppM7Dp5pIEka+PtBpi4Bb2AOprihTsZt7ZnToFXvqAx/OfjsidR5+1bzw8BSnh3XsGBf5+gKnPQJuYQ/UJoZUt6FTH/hw9vtpSp2HXzXXWgdKGPmGwKYPAl77Hpg55LI/jcmVdwqZpTzw4eya7EvtUubhX81LPTwljHyXwKYvvwNe8x7QWj+jlHrNjjVeNcZMn+ws7l+FAoaz5y4qVcAef2qkQp4d7YmJ5isnwIewVhyw1vp4zwftfmKMeV+JyxcQ8EVjzOdCWcDZn9yMgBfl4V/NtR4+8j2dAwmH0qbfRAABr3gfzHyi+FPjOH65xOVXKOCdXz1orW2Ks+t+Kk3AIfJFwq5p024XAQS84r2xT2Rd131mGIYvlrj8NQm4Nc6u+6kkAS+RLxJ2TZx22wgg4BXvi5lbo782xryjxOVXKOB9t/qb4uy6n0oRcAz5ImHX1Gl3lgACXvGe0Fr/VSn1+h1LtMaYnU/IksRSoYDh7LlhShCwh3wf7LrueWvto3PL5HfCc4R4/XoCCHjF++H8+fOHBwcHl3YtMfShFqmR1SZgOPvvCGkB+8jXGPPQtELXP1FCwv77odUeCHjlyaeQWUpkd95557krV648H/tNQ+oDH85+uyJ1HvuqCZHv6XhI2C9nWu8ngIBXvkNqE0Oqb0RKfeDD2e8HKXUeu6pZIl8k7JcxrecJIOB5RlW3mBFacQ/jmKn308aYL4UEkvrAh7NfKqnz2FZNDPkiYb+cac0VcNN7QGv9tFLqlti3dFNAvXDhwk1PPfXUcylq7fv+3q7rHts2trX2vnEcH1+yJjj70Uudx9lqYsoXCftlTevdBLgCbmB3zFydfdYY8/kSMKS6/Xy6tl3jx/owGpz9dlHqPK7L/QGl1NccqvN+tjO/E3agSpOdBBBwA5sjtdhiILx48eLB5cuXr+4ZyxhjNkvm2nbVFePqd07wp6/HEv0SBjk4u9aXOo+pjhRXvmfXh4RdE6fdWQIIuIE9obX+ulLqI3uW+pwx5pWSKHK+SZgO/mmtS287b7nNCeeATZQwj2RXvkg4IGi63EAAATeyKXIKzhfpXG1KqeI+LLZrjXNrkbwKnqutJs5zeyzHlS8SnkuB1+cIIOA5Qit5XWv9hFLq9n3LkZCD1vrHSqm938okUVdo7HAOJRevn4R8T6vndnS8HFsYCQG3kPLJGh2ugFRO2W02m0Nr7c4ndZ2U/R/GmH+uKSY4y6UlKV8kLJd7rTMj4FqTC6y7FDlorYfpMzJzy8j5hmCuFp/X4exDK07bvu/v6bruG3OjdV33iWEYvjrXbsnrXAkvoddOXwTcTtYvrFRr/axS6ua5ZacU38y3NL1YWsoa5ta/9HU4LyXo39/lTY9SyvtPjfwrudbDVcI17/NQNvS7RgABN7gTHA+qF8jEPhw85i7m75NDt4jHWuEcCvmkn9b6DqXUj2aGySbf0zpcJGyt/dg4jo8sRED3Cgkg4ApDi1GyjxyUUs8bY25aMq/PfNbaf4zj+Ool85XS12fdcA5P7fDw8Lbj4+Mn94yQXb6uEkbA4bnX3hMB157ggvo95XDtlknXPTwMw/T3lbP/tNbTYyV9xX1sjDk3O3hFDeCcJ6w9nMXk6yLh2HeZ8tBmlhgEEHAMihWPESKHhMsVfyBIqrXBORXZl8bVWt+llPrOmZnuNcZMD0gR/7ftdjTfHSwei2gBCFgUfxmTlyAHa+03x3Hc97SuMmAtqALOC+B5dN1sNh/sus4eHR1936NbtqZ9398/TcbvfbMhL3YiBFxsNHkL01r/Vin19ryzXputpVtwcJbYYcwJgTIJIOAycxGrKvNV2jPGmNeKLVZw4pycrbXPjOPYJGfBiJkaArMEEPAsojYbpBZES1e9+3YQnNv8+WLVEJgIIGD2wV4CkQXxN2PMG0B+IwE4sysg0B4BBNxe5sErdn2C1fUTdF33x2EYbg2etMGOgZz/NAzDWxrExZIhUC0BBFxtdEUVfqCUOi6qonUWA+d15sqqGiWAgBsNnmVDAAIQgIAsAQQsy5/ZIQABCECgUQIIuNHgWTYEIAABCMgSQMCy/JkdAhCAAAQaJYCAGw2eZUMAAhCAgCwBBCzLn9khAAEIQKBRAgi40eBZNgQgAAEIyBJAwLL8mR0CEIAABBolgIAbDZ5lQwACEICALAEELMuf2SEAAQhAoFECCLjR4Fk2BCAAAQjIEkDAsvyZHQIQgAAEGiWAgBsNnmVDAAIQgIAsAQQsy5/ZIQABCECgUQIIuNHgWTYEIAABCMgSQMCy/JkdAhCAAAQaJYCAGw2eZUMAAhCAgCwBBCzLn9khAAEIQKBRAgi40eBZNgQgAAEIyBJAwLL8mR0CEIAABBolgIAbDZ5lQwACEICALAEELMuf2SEAAQhAoFECCLjR4Fk2BCAAAQjIEkDAsvyZHQIQgAAEGiWAgBsNnmVDAAIQgIAsAQQsy5/ZIQABCECgUQIIuNHgWTYEIAABCMgSQMCy/JkdAhCAAAQaJYCAGw2eZUMAAhCAgCwBBCzLn9khAAEIQKBRAgi40eBZNgQgAAEIyBJAwLL8mR0CEIAABBolgIAbDZ5lQwACEICALAEELMuf2SEAAQhAoFECCLjR4Fk2BCAAAQjIEkDAsvyZHQIQgAAEGiWAgBsNnmVDAAIQgIAsAQQsy5/ZIQABCECgUQIIuNHgWTYEIAABCMgSQMCy/JkdAhCAAAQaJYCAGw2eZUMAAhCAgCwBBCzLn9khAAEIQKBRAgi40eBZNgQgAAEIyBJAwLL8mR0CEIAABBolgIAbDZ5lQwACEICALAEELMuf2SEAAQhAoFECCLjR4Fk2BCAAAQjIEkDAsvyZHQIQgAAEGiWAgBsNnmVDAAIQgIAsAQQsy5/ZIQABCECgUQIIuNHgWTYEIAABCMgSQMCy/JkdAhCAAAQaJYCAGw2eZUMAAhCAgCwBBCzLn9khAAEIQKBRAgi40eBZNgQgAAEIyBJAwLL8mR0CEIAABBolgIAbDZ5lQwACEICALAEELMuf2SEAAQhAoFECCLjR4Fk2BCAAAQjIEkDAsvyZHQIQgAAEGiXw/wGRfbLge3Kr2QAAAABJRU5ErkJggg==</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="Sprite" idx="1" x="70" y="-110" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="80,80,80,1" pen="tip" id="8"><costumes><list struct="atomic" id="9"></list></costumes><sounds><list struct="atomic" id="10"></list></sounds><blocks></blocks><variables></variables><scripts><script x="30" y="10"><block s="receiveGo"></block><block s="clear"></block><custom-block s="show alert"></custom-block><block s="doWait"><l>3</l></block><custom-block s="set up commands"></custom-block><custom-block s="init board"></custom-block><block s="doWait"><l>1</l></block><block s="doForever"><script><custom-block s="draw board"></custom-block><custom-block s="shadow"></custom-block><block s="doIf"><block s="reportAnd"><block s="reportMouseDown"></block><block s="reportAnd"><custom-block s="mouse on stage?"></custom-block><block s="reportNot"><custom-block s="occupied?"></custom-block></block></block></block><script><custom-block s="mark %n as %s"><custom-block s="block #"></custom-block><l>X</l></custom-block><block s="doResetTimer"></block><block s="doIfElse"><custom-block s="%s won?"><l>X</l></custom-block><script><custom-block s="draw board"></custom-block><custom-block s="show %s won"><l>X</l></custom-block><block s="doStopThis"><l><option>all</option></l></block></script><script><block s="doIfElse"><custom-block s="tie?"></custom-block><script><custom-block s="draw board"></custom-block><block s="doStopThis"><l><option>all</option></l></block></script><script><block s="doUntil"><block s="reportGreaterThan"><block s="getTimer"></block><l>0.99</l></block><script><custom-block s="draw board"></custom-block></script></block><custom-block s="show alert 2"></custom-block><custom-block s="run AI"></custom-block><block s="doIfElse"><custom-block s="%s won?"><l>O</l></custom-block><script><custom-block s="draw board"></custom-block><custom-block s="show %s won"><l>O</l></custom-block><block s="doStopThis"><l><option>all</option></l></block></script><script><block s="doIf"><custom-block s="tie?"></custom-block><script><custom-block s="draw board"></custom-block><block s="doStopThis"><l><option>all</option></l></block></script></block></script></block></script></block></script></block></script></block></script></block></script></scripts></sprite><watcher scope="Sprite" s="xPosition" style="normal" x="10" y="103.000002" color="74,108,212" hidden="true"/><watcher scope="Sprite" s="direction" style="normal" x="10" y="124.00000399999996" color="74,108,212" hidden="true"/><watcher scope="Sprite" s="yPosition" style="normal" x="10" y="145.00000599999993" color="74,108,212" hidden="true"/><watcher var="AI corner" style="normal" x="10" y="166.00000799999998" color="243,118,29" hidden="true"/><watcher var="AI moved during detection?" style="normal" x="10" y="187.00000999999997" color="243,118,29" hidden="true"/><watcher scope="Stage" s="reportMouseX" style="normal" x="10" y="229.00001399999996" color="4,148,220" hidden="true"/><watcher scope="Stage" s="reportMouseY" style="normal" x="10" y="250.0000159999999" color="4,148,220" hidden="true"/><watcher var="random commands done?" style="normal" x="10" y="292.0000199999999" color="243,118,29" hidden="true"/><watcher var="norepeat random already picked" style="normal" x="10" y="316.00002199999994" color="243,118,29" hidden="true"/><watcher var="aiattemptcmds" style="normal" x="27" y="34.000017999999955" color="243,118,29" hidden="true"/><watcher var="performing trick move?" style="normal" x="10" y="335.9999979999999" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="10" y="-13" color="243,118,29" hidden="true"/><watcher var="aiwincmds" style="normal" x="11.999999999999886" y="7.000023999999939" color="243,118,29" hidden="true"/><watcher var="AI prev moves" style="normal" x="10" y="188.000002" color="243,118,29" hidden="true"/><watcher var="test AI win bool" style="normal" x="10" y="253.00000599999993" color="243,118,29" hidden="true"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="init board" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>board</l><block s="reportNewList"><list><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l></list></block></block><block s="doSetVar"><l>performing trick move?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><custom-block s="draw board"></custom-block></script></block-definition><block-definition s="draw board" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><block s="setColor"><color>80,80,80,1</color></block><block s="clear"></block><block s="setSize"><l>7</l></block><block s="up"></block><block s="gotoXY"><l>-50</l><l>100</l></block><block s="down"></block><block s="setYPosition"><l>-100</l></block><block s="up"></block><block s="gotoXY"><l>50</l><l>100</l></block><block s="down"></block><block s="setYPosition"><l>-100</l></block><block s="up"></block><block s="gotoXY"><l>-120</l><l>40</l></block><block s="down"></block><block s="setXPosition"><l>120</l></block><block s="up"></block><block s="gotoXY"><l>-120</l><l>-40</l></block><block s="down"></block><block s="setXPosition"><l>120</l></block><block s="up"></block><block s="doFor"><l>i</l><l>1</l><l>9</l><script><block s="doWarp"><script><custom-block s="draw %s at x: %n y: %n size: %n"><block s="reportListItem"><block var="i"/><block var="board"/></block><block s="reportSum"><l>-90</l><block s="reportProduct"><block s="reportListItem"><block var="i"/><block s="reportNewList"><list><l>0</l><l>1</l><l>2</l><l>0</l><l>1</l><l>2</l><l>0</l><l>1</l><l>2</l></list></block></block><l>90</l></block></block><block s="reportDifference"><l>90</l><block s="reportProduct"><block s="reportListItem"><block var="i"/><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l><l>1</l><l>1</l><l>1</l><l>2</l><l>2</l><l>2</l></list></block></block><l>90</l></block></block><l>20</l></custom-block></script></block></script></block></script></block></script></block-definition><block-definition s="draw %&apos;symb&apos; at x: %&apos;x&apos; y: %&apos;y&apos; size: %&apos;size&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%n">0</input><input type="%n">0</input><input type="%n">20</input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportEquals"><block var="symb"/><l>X</l></block><script><block s="up"></block><block s="gotoXY"><block s="reportDifference"><block var="x"/><block var="size"/></block><block s="reportSum"><block var="y"/><block var="size"/></block></block><block s="down"></block><block s="gotoXY"><block s="reportSum"><block var="x"/><block var="size"/></block><block s="reportDifference"><block var="y"/><block var="size"/></block></block><block s="up"></block><block s="gotoXY"><block s="reportSum"><block var="x"/><block var="size"/></block><block s="reportSum"><block var="y"/><block var="size"/></block></block><block s="down"></block><block s="gotoXY"><block s="reportDifference"><block var="x"/><block var="size"/></block><block s="reportDifference"><block var="y"/><block var="size"/></block></block><block s="up"></block></script><script><block s="doIf"><block s="reportEquals"><block var="symb"/><l>O</l></block><script><block s="up"></block><block s="gotoXY"><block s="reportDifference"><block var="x"/><block s="reportProduct"><block s="reportQuotient"><block var="size"/><l>5</l></block><l>1</l></block></block><block s="reportSum"><block var="y"/><l>20</l></block></block><block s="down"></block><block s="doWarp"><script><block s="doRepeat"><l>360</l><script><block s="turn"><l>1</l></block><block s="forward"><block s="reportQuotient"><block s="reportQuotient"><block var="size"/><l>5</l></block><l>10</l></block></block></script></block></script></block><block s="up"></block></script></block></script></block></script></block></script></block-definition><block-definition s="shadow" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><block s="reportAnd"><block s="reportGreaterThan"><block s="reportMouseX"></block><l>-91</l></block><block s="reportAnd"><block s="reportLessThan"><block s="reportMouseX"></block><l>91</l></block><block s="reportAnd"><block s="reportLessThan"><block s="reportMouseY"></block><l>91</l></block><block s="reportGreaterThan"><block s="reportMouseY"></block><l>-91</l></block></block></block></block><script><block s="doIfElse"><custom-block s="occupied?"></custom-block><script><block s="setColor"><color>250,20,0,1</color></block></script><script><block s="setColor"><color>197,197,197,1</color></block></script></block><custom-block s="draw %s at x: %n y: %n size: %n"><l>X</l><block s="reportProduct"><block s="reportRound"><block s="reportQuotient"><block s="reportMouseX"></block><l>90</l></block></block><l>90</l></block><block s="reportProduct"><block s="reportRound"><block s="reportQuotient"><block s="reportMouseY"></block><l>90</l></block></block><l>90</l></block><l>20</l></custom-block></script></block></script></block-definition><block-definition s="clone" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="snap to grid" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><block s="reportAnd"><block s="reportGreaterThan"><block s="xPosition"></block><l>-120</l></block><block s="reportAnd"><block s="reportLessThan"><block s="xPosition"></block><l>120</l></block><block s="reportAnd"><block s="reportLessThan"><block s="yPosition"></block><l>120</l></block><block s="reportGreaterThan"><block s="yPosition"></block><l>-120</l></block></block></block></block><script><block s="gotoXY"><block s="reportProduct"><block s="reportRound"><block s="reportQuotient"><block s="xPosition"></block><l>90</l></block></block><l>90</l></block><block s="reportProduct"><block s="reportRound"><block s="reportQuotient"><block s="yPosition"></block><l>90</l></block></block><l>90</l></block></block></script></block></script></block-definition><block-definition s="block #" type="reporter" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>x</l><l>y</l><l>return</l></list></block><block s="doSetVar"><l>x</l><block s="xPosition"></block></block><block s="doSetVar"><l>y</l><block s="yPosition"></block></block><custom-block s="snap to grid"></custom-block><block s="doSetVar"><l>return</l><block s="reportSum"><block s="reportListIndex"><block s="xPosition"></block><block s="reportNewList"><list><l>-90</l><l>0</l><l>90</l></list></block></block><block s="reportDifference"><block s="reportProduct"><block s="reportListIndex"><block s="yPosition"></block><block s="reportNewList"><list><l>90</l><l>0</l><l>-90</l></list></block></block><l>3</l></block><l>3</l></block></block></block><block s="gotoXY"><block var="x"/><block var="y"/></block><block s="doReport"><block var="return"/></block></script></block-definition><block-definition s="mark %&apos;block&apos; as %&apos;x or y&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%s">X</input></inputs><script><block s="doReplaceInList"><block var="block"/><block var="board"/><block var="x or y"/></block></script></block-definition><block-definition s="occupied?" type="predicate" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doGotoObject"><l><option>mouse-pointer</option></l></block><block s="doReport"><block s="reportIfElse"><block s="reportNot"><block s="reportEquals"><block s="reportListItem"><custom-block s="block #"></custom-block><block var="board"/></block><l></l></block></block><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></block></block></script></block-definition><block-definition s="%&apos;who&apos; won?" type="predicate" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportOr"><custom-block s="col. 1 occupied with %s ?"><block var="who"/></custom-block><block s="reportOr"><custom-block s="col. 2 occupied with %s ?"><block var="who"/></custom-block><block s="reportOr"><custom-block s="col. 3 occupied with %s ?"><block var="who"/></custom-block><block s="reportOr"><custom-block s="row 1 occupied with %s ?"><block var="who"/></custom-block><block s="reportOr"><custom-block s="row 2 occupied with %s ?"><block var="who"/></custom-block><block s="reportOr"><custom-block s="row 3 occupied with %s ?"><block var="who"/></custom-block><block s="reportOr"><custom-block s="diag 1 occupied with %s ?"><block var="who"/></custom-block><custom-block s="diag 2 occupied with %s ?"><block var="who"/></custom-block></block></block></block></block></block></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="%&apos;block&apos; occupied with %&apos;symb&apos; ?" type="predicate" category="other"><header></header><code></code><translations></translations><inputs><input type="%n">5</input><input type="%s">X</input></inputs><script><block s="doIfElse"><block s="reportEquals"><block s="reportListItem"><block var="block"/><block var="board"/></block><block var="symb"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="col. 1 occupied with %&apos;who&apos; ?" type="predicate" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportAnd"><custom-block s="%n occupied with %s ?"><l>1</l><block var="who"/></custom-block><block s="reportAnd"><custom-block s="%n occupied with %s ?"><l>4</l><block var="who"/></custom-block><custom-block s="%n occupied with %s ?"><l>7</l><block var="who"/></custom-block></block></block></block></script></block-definition><block-definition s="col. 2 occupied with %&apos;who&apos; ?" type="predicate" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportAnd"><custom-block s="%n occupied with %s ?"><l>2</l><block var="who"/></custom-block><block s="reportAnd"><custom-block s="%n occupied with %s ?"><l>5</l><block var="who"/></custom-block><custom-block s="%n occupied with %s ?"><l>8</l><block var="who"/></custom-block></block></block></block></script></block-definition><block-definition s="col. 3 occupied with %&apos;who&apos; ?" type="predicate" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportAnd"><custom-block s="%n occupied with %s ?"><l>3</l><block var="who"/></custom-block><block s="reportAnd"><custom-block s="%n occupied with %s ?"><l>6</l><block var="who"/></custom-block><custom-block s="%n occupied with %s ?"><l>9</l><block var="who"/></custom-block></block></block></block></script></block-definition><block-definition s="row 1 occupied with %&apos;who&apos; ?" type="predicate" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportAnd"><custom-block s="%n occupied with %s ?"><l>1</l><block var="who"/></custom-block><block s="reportAnd"><custom-block s="%n occupied with %s ?"><l>2</l><block var="who"/></custom-block><custom-block s="%n occupied with %s ?"><l>3</l><block var="who"/></custom-block></block></block></block></script></block-definition><block-definition s="row 2 occupied with %&apos;who&apos; ?" type="predicate" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportAnd"><custom-block s="%n occupied with %s ?"><l>4</l><block var="who"/></custom-block><block s="reportAnd"><custom-block s="%n occupied with %s ?"><l>5</l><block var="who"/></custom-block><custom-block s="%n occupied with %s ?"><l>6</l><block var="who"/></custom-block></block></block></block></script></block-definition><block-definition s="row 3 occupied with %&apos;who&apos; ?" type="predicate" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportAnd"><custom-block s="%n occupied with %s ?"><l>7</l><block var="who"/></custom-block><block s="reportAnd"><custom-block s="%n occupied with %s ?"><l>8</l><block var="who"/></custom-block><custom-block s="%n occupied with %s ?"><l>9</l><block var="who"/></custom-block></block></block></block></script></block-definition><block-definition s="diag 1 occupied with %&apos;who&apos; ?" type="predicate" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportAnd"><custom-block s="%n occupied with %s ?"><l>1</l><block var="who"/></custom-block><block s="reportAnd"><custom-block s="%n occupied with %s ?"><l>5</l><block var="who"/></custom-block><custom-block s="%n occupied with %s ?"><l>9</l><block var="who"/></custom-block></block></block></block></script></block-definition><block-definition s="diag 2 occupied with %&apos;who&apos; ?" type="predicate" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportAnd"><custom-block s="%n occupied with %s ?"><l>3</l><block var="who"/></custom-block><block s="reportAnd"><custom-block s="%n occupied with %s ?"><l>5</l><block var="who"/></custom-block><custom-block s="%n occupied with %s ?"><l>7</l><block var="who"/></custom-block></block></block></block></script></block-definition><block-definition s="run AI" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>AI prev moves</l><custom-block s="occupied %s blocks"><l>O</l></custom-block></block><block s="doIfElse"><block s="reportEquals"><custom-block s="occupied %s blocks"><l>O</l></custom-block><l>0</l></block><script><block s="doSetVar"><l>AI corner</l><block s="reportRandom"><l>1</l><l>4</l></block></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="AI corner"/><block s="reportNewList"><list><l>1</l><l>3</l><l>7</l><l>9</l></list></block></block></custom-block></block><script><block s="doSetVar"><l>AI corner</l><block s="reportRandom"><l>1</l><l>4</l></block></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="AI corner"/><block s="reportNewList"><list><l>1</l><l>3</l><l>7</l><l>9</l></list></block></block><l>O</l></custom-block></script><script><custom-block s="attempt to win"></custom-block><block s="doIf"><block s="reportNot"><block var="AI moved during detection?"/></block><script><custom-block s="detect if user is attempting to win"></custom-block><block s="doIf"><block s="reportNot"><block var="AI moved during detection?"/></block><script><block s="doIfElse"><block s="reportEquals"><custom-block s="occupied %s blocks"><l>O</l></custom-block><l>1</l></block><script><block s="doSetVar"><l>performing trick move?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><custom-block s="attempt trick move 1"></custom-block></script><script><block s="doIfElse"><block var="performing trick move?"/><script><custom-block s="attempt trick move 2"></custom-block></script><script><custom-block s="make random move"></custom-block></script></block></script></block></script></block></script></block></script></block><block s="doIf"><block s="reportEquals"><block var="AI prev moves"/><custom-block s="occupied %s blocks"><l>O</l></custom-block></block><script><custom-block s="make random move"></custom-block></script></block></script></block-definition><block-definition s="%&apos;block&apos; occupied?" type="predicate" category="other"><header></header><code></code><translations></translations><inputs><input type="%n">5</input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportEquals"><block s="reportListItem"><block var="block"/><block var="board"/></block><l></l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="occupied blocks" type="reporter" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportSum"><custom-block s="%n occupied?"><l>1</l></custom-block><block s="reportSum"><custom-block s="%n occupied?"><l>2</l></custom-block><block s="reportSum"><custom-block s="%n occupied?"><l>3</l></custom-block><block s="reportSum"><custom-block s="%n occupied?"><l>4</l></custom-block><block s="reportSum"><custom-block s="%n occupied?"><l>5</l></custom-block><block s="reportSum"><custom-block s="%n occupied?"><l>6</l></custom-block><block s="reportSum"><custom-block s="%n occupied?"><l>7</l></custom-block><block s="reportSum"><custom-block s="%n occupied?"><l>8</l></custom-block><custom-block s="%n occupied?"><l>9</l></custom-block></block></block></block></block></block></block></block></block></block></script></block-definition><block-definition s="table NN %&apos;n&apos; %&apos;n2&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportSum"><block s="reportDifference"><block s="reportProduct"><block var="n"/><l>3</l></block><l>3</l></block><block var="n2"/></block></block></script></block-definition><block-definition s="occupied %&apos;symb&apos; blocks" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportSum"><custom-block s="%n occupied with %s ?"><l>1</l><block var="symb"/></custom-block><block s="reportSum"><custom-block s="%n occupied with %s ?"><l>2</l><block var="symb"/></custom-block><block s="reportSum"><custom-block s="%n occupied with %s ?"><l>3</l><block var="symb"/></custom-block><block s="reportSum"><custom-block s="%n occupied with %s ?"><l>4</l><block var="symb"/></custom-block><block s="reportSum"><custom-block s="%n occupied with %s ?"><l>5</l><block var="symb"/></custom-block><block s="reportSum"><custom-block s="%n occupied with %s ?"><l>6</l><block var="symb"/></custom-block><block s="reportSum"><custom-block s="%n occupied with %s ?"><l>7</l><block var="symb"/></custom-block><block s="reportSum"><custom-block s="%n occupied with %s ?"><l>8</l><block var="symb"/></custom-block><custom-block s="%n occupied with %s ?"><l>9</l><block var="symb"/></custom-block></block></block></block></block></block></block></block></block></block></script></block-definition><block-definition s="detect if user is attempting to win" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>norepeat random already picked</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><l>1</l></block><block s="doUntil"><block s="reportOr"><block var="random commands done?"/><block s="reportGreaterThan"><block var="a"/><l>9</l></block></block><script><custom-block s="run random command"></custom-block><block s="doChangeVar"><l>a</l><l>1</l></block></script></block></script><scripts><script x="212" y="1049.5333333333333"><block s="doSetVar"><l></l><l>0</l></block></script></scripts></block-definition><block-definition s="attempt trick move 1" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block s="reportLessThan"><block var="AI corner"/><l>3</l></block><script><block s="doIfElse"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportSum"><block var="AI corner"/><l>6</l></block></custom-block></block><script><custom-block s="mark %n as %s"><block s="reportSum"><block var="AI corner"/><l>6</l></block><l>O</l></custom-block></script><script><block s="doSetVar"><l>performing trick move?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><custom-block s="detect if user is attempting to win"></custom-block></script></block></script><script><block s="doIfElse"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportDifference"><block var="AI corner"/><l>6</l></block></custom-block></block><script><custom-block s="mark %n as %s"><block s="reportDifference"><block var="AI corner"/><l>6</l></block><l>O</l></custom-block></script><script><block s="doSetVar"><l>performing trick move?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><custom-block s="detect if user is attempting to win"></custom-block><block s="doIfElse"><block var="AI moved during detection?"/><script></script><script><custom-block s="make random move"></custom-block></script></block></script></block></script></block></script></block-definition><block-definition s="make random move" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>block</l></list></block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>block</l><l>0</l></block><block s="doWarp"><script><block s="doUntil"><block s="reportEquals"><block s="reportListItem"><block var="block"/><block var="board"/></block><l></l></block><script><block s="doSetVar"><l>block</l><block s="reportRandom"><l>1</l><l>9</l></block></block></script></block></script></block><custom-block s="mark %n as %s"><block var="block"/><l>O</l></custom-block></script></block-definition><block-definition s="attempt trick move 2" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>performing trick move?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doIfElse"><custom-block s="%n is odd?"><block var="AI corner"/></custom-block><script><block s="doIfElse"><custom-block s="%n occupied?"><block s="reportSum"><block var="AI corner"/><l>2</l></block></custom-block><script><custom-block s="mark %n as %s"><block s="reportSum"><block var="AI corner"/><l>2</l></block><l>O</l></custom-block></script><script><custom-block s="make random move"></custom-block></script></block></script><script><block s="doIfElse"><custom-block s="%n occupied?"><block s="reportDifference"><block var="AI corner"/><l>2</l></block></custom-block><script><custom-block s="mark %n as %s"><block s="reportDifference"><block var="AI corner"/><l>2</l></block><l>O</l></custom-block></script><script><custom-block s="make random move"></custom-block></script></block></script></block></script></block-definition><block-definition s="how many are occupied in col %&apos;col&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportSum"><custom-block s="%n occupied?"><block s="reportSum"><block var="col"/><l>0</l></block></custom-block><block s="reportSum"><custom-block s="%n occupied?"><block s="reportSum"><block var="col"/><l>3</l></block></custom-block><custom-block s="%n occupied?"><block s="reportSum"><block var="col"/><l>6</l></block></custom-block></block></block></block></script></block-definition><block-definition s="how many are occupied in row %&apos;row&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportSum"><custom-block s="%n occupied?"><block s="reportSum"><block s="reportDifference"><block s="reportProduct"><block var="row"/><l>3</l></block><l>3</l></block><l>1</l></block></custom-block><block s="reportSum"><custom-block s="%n occupied?"><block s="reportSum"><block s="reportDifference"><block s="reportProduct"><block var="row"/><l>3</l></block><l>3</l></block><l>2</l></block></custom-block><custom-block s="%n occupied?"><block s="reportSum"><block s="reportDifference"><block s="reportProduct"><block var="row"/><l>3</l></block><l>3</l></block><l>3</l></block></custom-block></block></block></block></script><scripts><script x="73.9951171875" y="178.50000000000006"><block var="row"/></script></scripts></block-definition><block-definition s="how many are occupied in diag 1" type="reporter" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportSum"><custom-block s="%n occupied?"><l>1</l></custom-block><block s="reportSum"><custom-block s="%n occupied?"><l>5</l></custom-block><custom-block s="%n occupied?"><l>9</l></custom-block></block></block></block></script><scripts><script x="73.9951171875" y="178.50000000000006"><block var="row"/></script></scripts></block-definition><block-definition s="how many are occupied in diag 2" type="reporter" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportSum"><custom-block s="%n occupied?"><l>3</l></custom-block><block s="reportSum"><custom-block s="%n occupied?"><l>5</l></custom-block><custom-block s="%n occupied?"><l>7</l></custom-block></block></block></block></script><scripts><script x="73.9951171875" y="178.50000000000006"><block var="row"/></script></scripts></block-definition><block-definition s="go to block %&apos;block#&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="gotoXY"><block s="reportSum"><l>-90</l><block s="reportProduct"><block s="reportListItem"><block var="block#"/><block s="reportNewList"><list><l>0</l><l>1</l><l>2</l><l>0</l><l>1</l><l>2</l><l>0</l><l>1</l><l>2</l></list></block></block><l>90</l></block></block><block s="reportDifference"><l>90</l><block s="reportProduct"><block s="reportListItem"><block var="block#"/><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l><l>1</l><l>1</l><l>1</l><l>2</l><l>2</l><l>2</l></list></block></block><l>90</l></block></block></block></script></block-definition><block-definition s="tie?" type="predicate" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportEquals"><custom-block s="occupied %s blocks"><l></l></custom-block><l>0</l></block></block></script></block-definition><block-definition s="show %&apos;symb&apos; won" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIfElse"><custom-block s="col. 1 occupied with %s ?"><block var="symb"/></custom-block><script><block s="up"></block><custom-block s="go to block %n"><l>1</l></custom-block><block s="down"></block><custom-block s="go to block %n"><l>7</l></custom-block><block s="up"></block></script><script><block s="doIfElse"><custom-block s="col. 2 occupied with %s ?"><block var="symb"/></custom-block><script><block s="up"></block><custom-block s="go to block %n"><l>2</l></custom-block><block s="down"></block><custom-block s="go to block %n"><l>8</l></custom-block><block s="up"></block></script><script><block s="doIfElse"><custom-block s="col. 3 occupied with %s ?"><block var="symb"/></custom-block><script><block s="up"></block><custom-block s="go to block %n"><l>3</l></custom-block><block s="down"></block><custom-block s="go to block %n"><l>9</l></custom-block><block s="up"></block></script><script><block s="doIfElse"><custom-block s="row 1 occupied with %s ?"><block var="symb"/></custom-block><script><block s="up"></block><custom-block s="go to block %n"><l>1</l></custom-block><block s="down"></block><custom-block s="go to block %n"><l>3</l></custom-block><block s="up"></block></script><script><block s="doIfElse"><custom-block s="row 2 occupied with %s ?"><block var="symb"/></custom-block><script><block s="up"></block><custom-block s="go to block %n"><l>4</l></custom-block><block s="down"></block><custom-block s="go to block %n"><l>6</l></custom-block><block s="up"></block></script><script><block s="doIfElse"><custom-block s="row 3 occupied with %s ?"><block var="symb"/></custom-block><script><block s="up"></block><custom-block s="go to block %n"><l>7</l></custom-block><block s="down"></block><custom-block s="go to block %n"><l>9</l></custom-block><block s="up"></block></script><script><block s="doIfElse"><custom-block s="diag 1 occupied with %s ?"><block var="symb"/></custom-block><script><block s="up"></block><custom-block s="go to block %n"><l>1</l></custom-block><block s="down"></block><custom-block s="go to block %n"><l>9</l></custom-block><block s="up"></block></script><script><block s="doIf"><custom-block s="diag 2 occupied with %s ?"><block var="symb"/></custom-block><script><block s="up"></block><custom-block s="go to block %n"><l>3</l></custom-block><block s="down"></block><custom-block s="go to block %n"><l>7</l></custom-block><block s="up"></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block-definition><block-definition s="show alert" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="gotoXY"><l>-120</l><l>0</l></block><block s="write"><l>see inside to play!</l><l>30</l></block></script></block-definition><block-definition s="%&apos;number&apos; is odd?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportEquals"><block s="reportModulus"><block var="number"/><l>2</l></block><l>1</l></block><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></block></block></script></block-definition><block-definition s="set up commands" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>aiwincmds</l><block s="reportNewList"><list><block s="reifyScript"><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in col %n by %s"><l>1</l><l>O</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>4</l><l>7</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>4</l><l>7</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><list></list></block><block s="reifyScript"><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in col %n by %s"><l>2</l><l>O</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>2</l><l>5</l><l>8</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>2</l><l>5</l><l>8</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><list></list></block><block s="reifyScript"><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in col %n by %s"><l>3</l><l>O</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>3</l><l>6</l><l>9</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>3</l><l>6</l><l>9</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><list></list></block><block s="reifyScript"><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in row %n with %s"><l>1</l><l>O</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><list></list></block><block s="reifyScript"><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in row %n with %s"><l>2</l><l>O</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>4</l><l>5</l><l>6</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>4</l><l>5</l><l>6</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><list></list></block><block s="reifyScript"><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in row %n with %s"><l>3</l><l>O</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>7</l><l>8</l><l>9</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>7</l><l>8</l><l>9</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><list></list></block><block s="reifyScript"><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in diag 1 with %s"><l>O</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>5</l><l>9</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>5</l><l>9</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><list></list></block><block s="reifyScript"><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in diag 2 with %s"><l>O</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>3</l><l>5</l><l>7</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>3</l><l>5</l><l>7</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><list></list></block></list></block></block><block s="doSetVar"><l>aiattemptcmds</l><block s="reportNewList"><list><block s="reifyScript"><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in col %n"><l>1</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>4</l><l>7</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>4</l><l>7</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><list></list></block><block s="reifyScript"><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in col %n"><l>2</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>2</l><l>5</l><l>8</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>2</l><l>5</l><l>8</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><list></list></block><block s="reifyScript"><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in col %n"><l>3</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>3</l><l>6</l><l>9</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>3</l><l>6</l><l>9</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><list></list></block><block s="reifyScript"><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in row %n"><l>1</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><list></list></block><block s="reifyScript"><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in row %n"><l>2</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>4</l><l>5</l><l>6</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>4</l><l>5</l><l>6</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><list></list></block><block s="reifyScript"><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in row %n"><l>3</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>7</l><l>8</l><l>9</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>7</l><l>8</l><l>9</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><list></list></block><block s="reifyScript"><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in diag 1"></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>5</l><l>9</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>5</l><l>9</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><list></list></block><block s="reifyScript"><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in diag 2"></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>3</l><l>5</l><l>7</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>3</l><l>5</l><l>7</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><list></list></block></list></block></block></script></block-definition><block-definition s="detect if user is attempting to win backup" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block s="reportEquals"><custom-block s="how many are occupied in col %n"><l>1</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>4</l><l>7</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>4</l><l>7</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doIfElse"><block s="reportEquals"><custom-block s="how many are occupied in col %n"><l>2</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>2</l><l>5</l><l>8</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>2</l><l>5</l><l>8</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doIfElse"><block s="reportEquals"><custom-block s="how many are occupied in col %n"><l>3</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>3</l><l>6</l><l>9</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>3</l><l>6</l><l>9</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doIfElse"><block s="reportEquals"><custom-block s="how many are occupied in row %n"><l>1</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doIfElse"><block s="reportEquals"><custom-block s="how many are occupied in row %n"><l>2</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>4</l><l>5</l><l>6</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>4</l><l>5</l><l>6</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doIfElse"><block s="reportEquals"><custom-block s="how many are occupied in row %n"><l>3</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>7</l><l>8</l><l>9</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>7</l><l>8</l><l>9</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doIfElse"><block s="reportEquals"><custom-block s="how many are occupied in diag 1"></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>5</l><l>9</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>5</l><l>9</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doIfElse"><block s="reportEquals"><custom-block s="how many are occupied in diag 2"></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>3</l><l>5</l><l>7</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>5</l><l>9</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script></script></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block-definition><block-definition s="run random command" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRun"><block s="reportListItem"><custom-block s="norepeat random"></custom-block><block var="aiattemptcmds"/></block><list></list></block></script></block-definition><block-definition s="norepeat random" type="reporter" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reifyReporter"><script><block s="doDeclareVariables"><list><l>random</l></list></block><block s="doSetVar"><l>random</l><block s="reportRandom"><l>1</l><l>9</l></block></block><block s="doUntil"><block s="reportNot"><block s="reportListContainsItem"><block var="norepeat random already picked"/><block var="random"/></block></block><script><block s="doSetVar"><l>random</l><block s="reportRandom"><l>1</l><l>9</l></block></block></script></block><block s="doAddToList"><block var="random"/><block var="norepeat random already picked"/></block><block s="doReport"><block var="random"/></block></script><list></list></block><list></list></block></block></script></block-definition><block-definition s="show alert 2" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="gotoXY"><l>-200</l><l>-150</l></block><block s="write"><l>AI is thinking...</l><l>12</l></block></script></block-definition><block-definition s="attempt to win" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>norepeat random already picked</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><l>1</l></block><block s="doUntil"><block s="reportOr"><block var="random commands done?"/><block s="reportGreaterThan"><block var="a"/><l>9</l></block></block><script><custom-block s="run random command"></custom-block><block s="doChangeVar"><l>a</l><l>1</l></block></script></block><block s="doIf"><custom-block s="%s won?"><l>O</l></custom-block><script><custom-block s="draw board"></custom-block><custom-block s="show %s won"><l>O</l></custom-block><block s="doSetVar"><l>test AI win bool</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doStopThis"><l><option>this block</option></l></block></script></block></script></block-definition><block-definition s="how many are occupied in col %&apos;col&apos; by %&apos;symb&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportSum"><custom-block s="%n occupied with %s ?"><block s="reportSum"><block var="col"/><l>0</l></block><block var="symb"/></custom-block><block s="reportSum"><custom-block s="%n occupied with %s ?"><block s="reportSum"><block var="col"/><l>3</l></block><block var="symb"/></custom-block><custom-block s="%n occupied with %s ?"><block s="reportSum"><block var="col"/><l>6</l></block><block var="symb"/></custom-block></block></block></block></script></block-definition><block-definition s="how many are occupied in row %&apos;row&apos; with %&apos;symb&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportSum"><custom-block s="%n occupied with %s ?"><block s="reportSum"><block s="reportDifference"><block s="reportProduct"><block var="row"/><l>3</l></block><l>3</l></block><l>1</l></block><block var="symb"/></custom-block><block s="reportSum"><custom-block s="%n occupied with %s ?"><block s="reportSum"><block s="reportDifference"><block s="reportProduct"><block var="row"/><l>3</l></block><l>3</l></block><l>2</l></block><block var="symb"/></custom-block><custom-block s="%n occupied with %s ?"><block s="reportSum"><block s="reportDifference"><block s="reportProduct"><block var="row"/><l>3</l></block><l>3</l></block><l>3</l></block><block var="symb"/></custom-block></block></block></block></script></block-definition><block-definition s="how many are occupied in diag 1 with %&apos;symb&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportSum"><custom-block s="%n occupied with %s ?"><l>1</l><block var="symb"/></custom-block><block s="reportSum"><custom-block s="%n occupied with %s ?"><l>5</l><block var="symb"/></custom-block><custom-block s="%n occupied with %s ?"><l>9</l><block var="symb"/></custom-block></block></block></block></script></block-definition><block-definition s="how many are occupied in diag 2 with %&apos;symb&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportSum"><custom-block s="%n occupied with %s ?"><l>3</l><block var="symb"/></custom-block><block s="reportSum"><custom-block s="%n occupied with %s ?"><l>5</l><block var="symb"/></custom-block><custom-block s="%n occupied with %s ?"><l>7</l><block var="symb"/></custom-block></block></block></block></script></block-definition><block-definition s="mouse on stage?" type="predicate" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportAnd"><block s="reportGreaterThan"><block s="reportMouseX"></block><l>-240</l></block><block s="reportAnd"><block s="reportLessThan"><block s="reportMouseX"></block><l>240</l></block><block s="reportAnd"><block s="reportGreaterThan"><block s="reportMouseY"></block><l>-180</l></block><block s="reportLessThan"><block s="reportMouseY"></block><l>180</l></block></block></block></block></block></script></block-definition><block-definition s="test AI" type="command" category="other"><comment x="0" y="0" w="90" collapsed="false">Tests the AI used for the computer by creating a game with a RNG versus the AI.</comment><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="init board"></custom-block><custom-block s="set up commands"></custom-block><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>test AI win bool</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doUntil"><block var="test AI win bool"/><script><custom-block s="draw board"></custom-block><block s="doSetVar"><l>a</l><block s="reportRandom"><l>1</l><l>10</l></block></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block var="a"/></custom-block></block><script><block s="doSetVar"><l>a</l><block s="reportRandom"><l>1</l><l>10</l></block></block></script></block><custom-block s="mark %n as %s"><block var="a"/><l>X</l></custom-block><block s="doIfElse"><custom-block s="%s won?"><l>X</l></custom-block><script><custom-block s="draw board"></custom-block><custom-block s="show %s won"><l>X</l></custom-block><block s="doSetVar"><l>test AI win bool</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doIfElse"><custom-block s="tie?"></custom-block><script><custom-block s="draw board"></custom-block><block s="doSetVar"><l>test AI win bool</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><custom-block s="run AI"></custom-block><block s="doIfElse"><custom-block s="%s won?"><l>O</l></custom-block><script><custom-block s="draw board"></custom-block><custom-block s="show %s won"><l>O</l></custom-block><block s="doSetVar"><l>test AI win bool</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doIf"><custom-block s="tie?"></custom-block><script><custom-block s="draw board"></custom-block><block s="doSetVar"><l>test AI win bool</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block></script></block></script></block></script></block></script></block-definition><block-definition s="split" type="reporter" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportTextSplit"><block s="reportListItem"><l><option>last</option></l><block var="csvdoc"/></block><l>,</l></block></block></script></block-definition></blocks><variables><variable name="board"><list struct="atomic" id="3363">O,X,X,X,X,O,O,O,X</list></variable><variable name="AI corner"><l>1</l></variable><variable name="performing trick move?"><bool>true</bool></variable><variable name="AI moved during detection?"><bool>true</bool></variable><variable name="aiattemptcmds"><list id="3364"><item><context id="3365"><inputs></inputs><variables></variables><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in col %n"><l>1</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>4</l><l>7</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>4</l><l>7</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><receiver><ref id="8"></ref></receiver><origin><ref id="8"></ref></origin><context id="3426"><inputs></inputs><variables></variables><receiver><ref id="8"></ref></receiver><origin></origin></context></context></item><item><context id="3428"><inputs></inputs><variables></variables><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in col %n"><l>2</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>2</l><l>5</l><l>8</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>2</l><l>5</l><l>8</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><receiver><ref id="8"></ref></receiver><origin><ref id="8"></ref></origin></context></item><item><context id="3489"><inputs></inputs><variables></variables><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in col %n"><l>3</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>3</l><l>6</l><l>9</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>3</l><l>6</l><l>9</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><receiver><ref id="8"></ref></receiver><origin><ref id="8"></ref></origin></context></item><item><context id="3550"><inputs></inputs><variables></variables><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in row %n"><l>1</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><receiver><ref id="8"></ref></receiver><origin><ref id="8"></ref></origin></context></item><item><context id="3611"><inputs></inputs><variables></variables><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in row %n"><l>2</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>4</l><l>5</l><l>6</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>4</l><l>5</l><l>6</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><receiver><ref id="8"></ref></receiver><origin><ref id="8"></ref></origin></context></item><item><context id="3672"><inputs></inputs><variables></variables><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in row %n"><l>3</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>7</l><l>8</l><l>9</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>7</l><l>8</l><l>9</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><receiver><ref id="8"></ref></receiver><origin><ref id="8"></ref></origin></context></item><item><context id="3733"><inputs></inputs><variables></variables><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in diag 1"></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>5</l><l>9</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>5</l><l>9</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><receiver><ref id="8"></ref></receiver><origin><ref id="8"></ref></origin></context></item><item><context id="3793"><inputs></inputs><variables></variables><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in diag 2"></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>3</l><l>5</l><l>7</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>3</l><l>5</l><l>7</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><receiver><ref id="8"></ref></receiver><origin><ref id="8"></ref></origin></context></item></list></variable><variable name="random commands done?"><bool>true</bool></variable><variable name="norepeat random already picked"><list struct="atomic" id="3853">5,2</list></variable><variable name="aiwincmds"><list id="3854"><item><context id="3855"><inputs></inputs><variables></variables><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in col %n by %s"><l>1</l><l>O</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>4</l><l>7</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>4</l><l>7</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><receiver><ref id="8"></ref></receiver><origin><ref id="8"></ref></origin></context></item><item><context id="3917"><inputs></inputs><variables></variables><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in col %n by %s"><l>2</l><l>O</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>2</l><l>5</l><l>8</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>2</l><l>5</l><l>8</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><receiver><ref id="8"></ref></receiver><origin><ref id="8"></ref></origin></context></item><item><context id="3979"><inputs></inputs><variables></variables><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in col %n by %s"><l>3</l><l>O</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>3</l><l>6</l><l>9</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>3</l><l>6</l><l>9</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><receiver><ref id="8"></ref></receiver><origin><ref id="8"></ref></origin></context></item><item><context id="4041"><inputs></inputs><variables></variables><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in row %n with %s"><l>1</l><l>O</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><receiver><ref id="8"></ref></receiver><origin><ref id="8"></ref></origin></context></item><item><context id="4103"><inputs></inputs><variables></variables><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in row %n with %s"><l>2</l><l>O</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>4</l><l>5</l><l>6</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>4</l><l>5</l><l>6</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><receiver><ref id="8"></ref></receiver><origin><ref id="8"></ref></origin></context></item><item><context id="4165"><inputs></inputs><variables></variables><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in row %n with %s"><l>3</l><l>O</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>7</l><l>8</l><l>9</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>7</l><l>8</l><l>9</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><receiver><ref id="8"></ref></receiver><origin><ref id="8"></ref></origin></context></item><item><context id="4227"><inputs></inputs><variables></variables><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in diag 1 with %s"><l>O</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>5</l><l>9</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>1</l><l>5</l><l>9</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><receiver><ref id="8"></ref></receiver><origin><ref id="8"></ref></origin></context></item><item><context id="4288"><inputs></inputs><variables></variables><script><block s="doIf"><block s="reportEquals"><custom-block s="how many are occupied in diag 2 with %s"><l>O</l></custom-block><l>2</l></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><l>1</l></block><block s="doUntil"><block s="reportNot"><custom-block s="%n occupied?"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>3</l><l>5</l><l>7</l></list></block></block></custom-block></block><script><block s="doChangeVar"><l>i2</l><l>1</l></block></script></block><custom-block s="mark %n as %s"><block s="reportListItem"><block var="i2"/><block s="reportNewList"><list><l>3</l><l>5</l><l>7</l></list></block></block><l>O</l></custom-block><block s="doSetVar"><l>random commands done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>AI moved during detection?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><receiver><ref id="8"></ref></receiver><origin><ref id="8"></ref></origin></context></item></list></variable><variable name="AI prev moves"><l>3</l></variable><variable name="test AI win bool"><bool>true</bool></variable></variables></project><media name="tic tac toe" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>