<snapdata remixID="10014462"><project name="U3L3 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,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAIM0lEQVR4Xu2dzS41TRDHm5wrsSO2InEFYuVxcoIIiQWWVhJXwD1YsiES7FyErbWFLQs7VrzpedNJG9PTVf0xPTXnP4nEobqqu+o31Z9nZubn5+dH4YIHCnlgBgAW8jzMVh4AgAChqAcAYFH3wzgABANFPQAAi7ofxgEgGCjqAQBY1P0wDgDBQFEPAMCi7odxAAgGinoAABZ1P4wDQDBQ1AMAsKj7YRwAgoGiHgCARd0P4wAQDBT1AAAs6n4YB4BgoKgHAGBR98M4AAQDRT0AAIu6H8bFAvjv379f0dNf7js/P1fz8/NZo9qV3bu7O3V1daXu7+9Z7dH1293dVRsbG6xypYTFAVgHwHac+Ybpzs6OmkwmSX3atV3bHhXCkDJJnRSgTAyAx8fH6vX19U8TZ2Zmqr81fb2ZGrg2v5Wyq+vEAYojG8BJtiIiAHx7e1OHh4eVEzRwuntyXToQWub7+1vNzs62ympA2zJbLrt23X11oIBFkclGUKRiEQByHUyRNzJ7e3tOCCl6bP9z5TV8l5eXlYq2bN2ml2szkpfkxXsPoB5Mm+6V06X6AmP+v7W1pTY3N/84Npdd29DNzY26vr72Aujqjn1tTE5LBoW9B3B9fb3qUn1db903+/v76uPjwxlcH4C57IYCWIew3o1nYKMTlb0H0IDCyX7Gc21lfQDmshsDYBOEIX7phCyikakAcHl5WZ2env5ySRcANtkFgL/J7D2AZiwWcqebsisrK+rk5IQFYC67MQC6ZuwhviEmqOxivQcwV1fYRQb0gYFJiIDHs4XO9PTs9uvrq5q8NIFABdC3RFJPEdvb2+rz89NpNyQDYhkmeyJ2GxiPx9WiMhcEH7g+AHPZ5QLoa4driaZgyFime98FhziYEzTXOmAuuxwAKe2oz/i5NyqLlgzCIgCsw3BwcKDW1tYa3WEHbTQaqdvb21a5NgBz2KUCyIFPMoRiALQH7HpcZx8+0L+bQwk6GOYzZXvLB2BquxQAQ+CzIcRxrAyp2nawDVwTfA8PD94a+MaAdQVaPoVdH4Ax8Hkb3UMBMRmw7jt7r9ZkRN+yh62DC6ApG2u3DcBpg0/7QiyAsTdzKICxdl0A2n/n3Egp61NCFwB0nIbpIhj2+NLYmyb4kAGVUr5JSE4Q6wBOG3wAsDCA0zjmq9/Q6IILdcH1gwXTmP16nwFfXl7U09NTll7QnEReXFxU+qfLy9i2beqhQI5raWlJzc3N5VCdRGevM6Dr+FGSlk+Rkj5nVwA4BSACwB4Guet1wKYJB+c8YA9dmKRKvc6ASVroUNIlgK7ZLgDETkj2dcC2pRYACACzAuhb5wOAANAL4OPjo7q4uAh6SpVvew0AAkAvgL4s1jTEpJYBgADQC6AGjAoUVxYAAkASgFSwOKBqnQAQAJIB9EHIhQ8A/j94wTog8zBCE2gh8AFAAFh5IOQ8oGuPmrvlhS4YGTAIwHp3rD9z4UMGRAYMzoAAMN0mKcaAzDFgE3y+BWdXuNAFowtmd8GYhKTLfpgFMychbbPdkJkwMiAyIDkDUgCjyNj5AwACQBKAHLA4sgAQAHoB5ABlshu1DAAEgK0AUkFynYg5OjpSq6urzlE7AASATgBj4KPOEwEgAGwEsAv4sBOCnZDGnZCu4AOAAPAPgF3CBwAFAIgnI1BHk+1yIQcl0lj2a+n1XjAA9AeQIgEAKV5qkOni4US22VwPCHI1//n5WekffeWyjYcTBcKXu1gfHo+GZRgsw1Scl+qiAOCUAmhnv5Aj+amyMwCcQgDrXS8ATHU7henp9Sw4rEnuUk2zagCY2ss8fVMDYH2R2XwGgDxgUktPBYBtx+gBYGqkePrEAJj6KVXUDHh3d6eurq7YM2WtP+VxrPrwQb+37uzsTC0sLPAi3jNpMQCG7NNSvsPhy4Cp7drxp8yC23aDzBtDd3Z21GQy6RlatOqIAVA3hwODT5aaAVPbpQJ4fHysXl9f/0TRvJbWfl2tESq1nklDrVlKFIBUGHzw2Xp8GdC4jaOTurjtyoDv7+9Kv5RbXxo4PQxwXbpeWub7+1vNzs62ysaAkqusOAB9EFJACQEwlV1KBqS2gXNz5AIoVq9IAF0wcALH6YJtJ7fNqKmZz+hryoD2+4g5XSqn7bHQpCwvFsA6hLZTKIELBTDWri8Drq+vV12qr+utQ7C/v68+Pj6qP1PanxKiGF2iAWyCger8GABj7PoANPWitqMpO4eUjYEopiwADHg4Ud8BXF5eVqenpzFcdFZWNICuNTJKBojJgDF2fRnQjAEpbahTYsqurKyok5OTziCKMSQWwNjJQCiAsXZ9AKILjsG5o7KUHQ7fYNzo2Nvb+7XA3daEFHbrk6XLy8tfE4fQ2ez29rb6/PysJi8h2bOj0P0xIy4DUgJEkTGAtm11NQ3w28Cm2q1DaJcbj8fVorLvBqpHMsR2Kehsu6IA5DiZI+sLBEcXR9Zll6uDK+9rb5f/FwNgiJNDyqTILKnt6m25tbW1Ri5sW6PRSN3e3nbJT7QtMQDGHMfyHYtq82KM3d3dXaVnpiGXvUuix3X24QP9uzmUoHWbz5LGfsYnYgAMCeIQytTHqE3wPTw8iG0qABQSOnuP2GREiRmv7m4AKATAoVYTAA41skLaBQCFBGqo1QSAQ42skHYBQCGBGmo1AeBQIyukXQBQSKCGWk0AONTICmkXABQSqKFWEwAONbJC2gUAhQRqqNUEgEONrJB2AUAhgRpqNQHgUCMrpF0AUEighlpNADjUyAppFwAUEqihVhMADjWyQtoFAIUEaqjVBIBDjayQdv0HQ8GIAjp9//sAAAAASUVORK5CYII=</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,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</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="-90" y="-90" 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="12" 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,O,X,,X,,X,X,O</list></variable><variable name="AI corner"><l>4</l></variable><variable name="performing trick move?"><bool>false</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><ref id="3426"></ref></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><ref id="3426"></ref></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><ref id="3426"></ref></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><ref id="3426"></ref></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><ref id="3426"></ref></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><ref id="3426"></ref></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><ref id="3426"></ref></context></item></list></variable><variable name="random commands done?"><bool>true</bool></variable><variable name="norepeat random already picked"><list struct="atomic" id="3853">7</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><ref id="3426"></ref></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><ref id="3426"></ref></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><ref id="3426"></ref></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><ref id="3426"></ref></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><ref id="3426"></ref></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><ref id="3426"></ref></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><ref id="3426"></ref></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><ref id="3426"></ref></context></item></list></variable><variable name="AI prev moves"><l>2</l></variable><variable name="test AI win bool"><bool>true</bool></variable></variables></project><media name="U3L3 tic tac toe" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>