<snapdata remixID="14206699"><project name="U5L6 Tic Tac Toe AI" app="Snap! 10.4.6, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAAAvFJREFUeF7t1aFrlVEAh+EzENEguCQIwjUaRBGFBcssrgjOsAkLi6uzuKgYhGX/EZvRJRGzYFkwCDOaVhSvMFAEuTPMyxt8vny+84P3ey53YTqdTodHgajAAoBRebNHBQAEIS0AYJrfOIAMpAUATPMbB5CBtACAaX7jADKQFgAwzW8cQAbSAgCm+Y0DyEBaAMA0v3EAGUgLAJjmNw4gA2kBANP8xgFkIC0AYJrfOIAMpAUATPMbB5CBtACAaX7jAM4w8OLRk/Hp1bux8vDBOLtydSwtLdEyhwIAHhP16fLGuLR3cHTi8zgcl9eXx+krF8fNzXtjMpnM4XP8f1cC+Jdv/nzxzrjw5c9D+2cOx42t1XFrex3GE/xuADwm3oeXe+PN6rNfJ76O7+Pg+uK4fX9lnLt7zd/yCeD9fBXAGRHf770dr5cfj4/nv42N7a2xPzk11jY3/kFyV/xeAMAZHnZ3d8fOzg4tcy4A4JwDu/74AgASkhYAMM1vHEAG0gIApvmNA8hAWgDANL9xABlICwCY5jcOIANpAQDT/MYBZCAtAGCa3ziADKQFAEzzGweQgbQAgGl+4wAykBYAMM1vHEAG0gIApvmNA8hAWgDANL9xABlICwCY5jcOIANpAQDT/MYBZCAtAGCa3ziADKQFAEzzGweQgbQAgGl+4wAykBYAMM1vHEAG0gIApvmNA8hAWgDANL9xABlICwCY5jcOIANpAQDT/MYBZCAtAGCa3ziADKQFAEzzGweQgbQAgGl+4wAykBYAMM1vHEAG0gIApvmNA8hAWgDANL9xABlICwCY5jcOIANpAQDT/MYBZCAtAGCa3ziADKQFAEzzGweQgbQAgGl+4wAykBYAMM1vHEAG0gIApvmNA8hAWgDANL9xABlICwCY5jcOIANpAQDT/MYBZCAtAGCa3ziADKQFAEzzGweQgbQAgGl+4wAykBYAMM1vHEAG0gIApvmNA8hAWgDANL9xABlICwCY5jcOIANpgR+b2wa33VsrNgAAAABJRU5ErkJggg==</thumbnail><scenes select="1"><scene name="U5L6 Tic Tac Toe AI"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportListIsEmpty"><block s="reportCDR"><block var="words"/></block></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></list></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></list></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="words"/></block><block s="reportCDR"><block s="reportCDR"><block var="words"/></block></block></block></custom-block></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="words"/></block><l> </l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></list></block></block></script></block></script><scripts><script x="229.00000300000002" y="196.77778077777774"><block s="reportJoinWords"><list><l></l><l></l></list></block></script></scripts></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="makeBoard" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSwitchToCostume"><l>Empty</l></block><block s="gotoXY"><l>50</l><l>100</l></block><block s="doSetVar"><l>position</l><l>1</l></block><block s="doRepeat"><l>3</l><script><block s="changeXPosition"><l>-150</l></block><block s="changeYPosition"><l>-50</l></block><block s="doRepeat"><l>3</l><script><block s="changeXPosition"><l>50</l></block><block s="createClone"><l><option>myself</option></l></block><block s="doChangeVar"><l>position</l><l>1</l></block></script></block></script></block></script></block-definition><block-definition s="threat pos" type="reporter" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>check</l></list></block><block s="doFor"><l>i</l><l>1</l><l>8</l><script><block s="doSetVar"><l>check</l><block s="reportNewList"><list><block s="reportListItem"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block var="winning values"/></block></block><block var="board"/></block><block s="reportListItem"><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="i"/><block var="winning values"/></block></block><block var="board"/></block><block s="reportListItem"><block s="reportListItem"><l>3</l><block s="reportListItem"><block var="i"/><block var="winning values"/></block></block><block var="board"/></block></list></block></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListIndex"><block var="check"/><block var="all threats"/></block><l>0</l></list></block></block><script><block s="doReport"><block s="reportListItem"><block s="reportListIndex"><block var="check"/><block var="all threats"/></block><block s="reportListItem"><block var="i"/><block var="winning values"/></block></block></block></script><script></script></block></script></block></script><scripts><script x="128" y="338.30000000000103"><block s="doReport"><l>No threats</l></block></script></scripts></block-definition><block-definition s="check threats" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>check</l></list></block><block s="doFor"><l>i</l><l>1</l><l>8</l><script><block s="doSetVar"><l>check</l><block s="reportNewList"><list><block s="reportListItem"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block var="winning values"/></block></block><block var="board"/></block><block s="reportListItem"><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="i"/><block var="winning values"/></block></block><block var="board"/></block><block s="reportListItem"><block s="reportListItem"><l>3</l><block s="reportListItem"><block var="i"/><block var="winning values"/></block></block><block var="board"/></block></list></block></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><block s="reportListIndex"><block var="check"/><block var="all threats"/></block><block s="reportListItem"><block var="i"/><block var="winning values"/></block></block><l><option>number</option></l></block><script><block s="doSetVar"><l>threat</l><block s="reportListItem"><block s="reportListIndex"><block var="check"/><block var="all threats"/></block><block s="reportListItem"><block var="i"/><block var="winning values"/></block></block></block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doSetVar"><l>threat</l><l>0</l></block></script></block></script></block></script></block-definition><block-definition s="check wins" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>check</l></list></block><block s="doFor"><l>i</l><l>1</l><l>8</l><script><block s="doSetVar"><l>check</l><block s="reportNewList"><list><block s="reportListItem"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block var="winning values"/></block></block><block var="board"/></block><block s="reportListItem"><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="i"/><block var="winning values"/></block></block><block var="board"/></block><block s="reportListItem"><block s="reportListItem"><l>3</l><block s="reportListItem"><block var="i"/><block var="winning values"/></block></block><block var="board"/></block></list></block></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><block s="reportListIndex"><block var="check"/><block var="all wins"/></block><block s="reportListItem"><block var="i"/><block var="winning values"/></block></block><l><option>number</option></l></block><script><block s="doSetVar"><l>win</l><block s="reportListItem"><block s="reportListIndex"><block var="check"/><block var="all wins"/></block><block s="reportListItem"><block var="i"/><block var="winning values"/></block></block></block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doSetVar"><l>win</l><l>0</l></block></script></block></script></block></script></block-definition></blocks><primitives></primitives><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="true" hyperops="true" codify="false" inheritance="false" sublistIDs="false" id="369"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADoVJREFUeF7t1cEJAAAIxDDdf2m3sJ+4wEEQuuMIECBAgACBd4F9XzRIgAABAgQIjAB7AgIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECByxcQFpoRMBzwAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="370"></list></costumes><sounds><list struct="atomic" id="371"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Square" idx="1" x="50" y="-50" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="1" color="255,13,3,1" pen="tip" id="376"><costumes><list id="377"><item><ref mediaID="Square_cst_Empty"></ref></item><item><ref mediaID="Square_cst_X"></ref></item><item><ref mediaID="Square_cst_O"></ref></item></list></costumes><sounds><list struct="atomic" id="378"></list></sounds><blocks></blocks><variables><variable name="position"><l>10</l></variable></variables><scripts><script x="11" y="10"><block s="receiveMessage"><l>player click</l><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="position"/><block var="temppos"/></list></block><script><block s="doDeclareVariables"><list><l>Placed Letter</l><l>Opposite Letter</l><l>Counter</l></list></block><block s="doIf"><block var="HasWon"/><script><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="getCostumeIdx"></block><l>1</l></list></block></block><script><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doChangeVar"><l>amount of turns</l><l>1</l></block><block s="doIfElse"><block var="X&apos;s turn?"/><script><block s="doSwitchToCostume"><l>X</l></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>Placed Letter</l><l>X</l></block><block s="doReplaceInList"><block var="position"/><block var="board"/><l>X</l></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>Placed Letter</l><l>O</l></block><block s="doReplaceInList"><block var="position"/><block var="board"/><l>O</l></block></script></block><block s="doForEach"><l>combo</l><block var="winning values"/><script><block s="doForEach"><l>number</l><block var="combo"/><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="Placed Letter"/><block s="reportListItem"><block var="number"/><block var="board"/></block></list></block><script><block s="doChangeVar"><l>Counter</l><l>1</l></block></script><list></list></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="Counter"/><l>3</l></list></block><script><block s="doSetVar"><l>HasWon</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>Winning Letter</l><block var="Placed Letter"/></block><block s="doBroadcast"><l>winner</l><list></list></block><block s="doStopThis"><l><option>this script</option></l></block></script><list></list></block><block s="doSetVar"><l>Counter</l><l>0</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="amount of turns"/><l>9</l></list></block><script><block s="bubble"><l>Tie!</l></block><block s="doStopThis"><l><option>this script</option></l></block></script><list></list></block><block s="doDeleteFromList"><block s="reportListIndex"><block var="temppos"/><block var="open spots"/></block><block var="open spots"/></block><block s="doIf"><block var="X&apos;s turn?"/><script><block s="doBroadcast"><l>computer turn</l><list></list></block></script><list></list></block></script><list></list></block></script><script x="10.999999999999943" y="972.7499999999986"><block s="receiveGo"></block><block s="removeClone"></block></script><script x="11" y="1043.5833333333317"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportNot"><block var="X&apos;s turn?"/></block><script><block s="doSetVar"><l>temppos</l><block var="position"/></block><block s="doSetVar"><l>prev move</l><block var="position"/></block><block s="doBroadcast"><l>player click</l><list></list></block></script><list></list></block></script><script x="10.999999999999943" y="1181.1666666666652"><block s="receiveGo"></block><block s="up"></block><block s="clear"></block><block s="show"></block><block s="goToLayer"><l><option>back</option></l></block><custom-block s="makeBoard"></custom-block><block s="doSetVar"><l>temppos</l><l>0</l></block><block s="doSetVar"><l>HasWon</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><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>amount of turns</l><l>0</l></block><block s="doSetVar"><l>winning values</l><block s="reportNewList"><list><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block><block s="reportNewList"><list><l>4</l><l>5</l><l>6</l></list></block><block s="reportNewList"><list><l>7</l><l>8</l><l>9</l></list></block><block s="reportNewList"><list><l>1</l><l>4</l><l>7</l></list></block><block s="reportNewList"><list><l>2</l><l>5</l><l>8</l></list></block><block s="reportNewList"><list><l>3</l><l>6</l><l>9</l></list></block><block s="reportNewList"><list><l>1</l><l>5</l><l>9</l></list></block><block s="reportNewList"><list><l>3</l><l>5</l><l>7</l></list></block></list></block></block><block s="doSetVar"><l>all threats</l><block s="reportNewList"><list><block s="reportNewList"><list><l></l><l>O</l><l>O</l></list></block><block s="reportNewList"><list><l>O</l><l></l><l>O</l></list></block><block s="reportNewList"><list><l>O</l><l>O</l><l></l></list></block></list></block></block><block s="doSetVar"><l>all wins</l><block s="reportNewList"><list><block s="reportNewList"><list><l></l><l>X</l><l>X</l></list></block><block s="reportNewList"><list><l>X</l><l></l><l>X</l></list></block><block s="reportNewList"><list><l>X</l><l>X</l><l></l></list></block></list></block></block><block s="doSetVar"><l>open spots</l><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l><l>4</l><l>5</l><l>6</l><l>7</l><l>8</l><l>9</l></list></block></block><block s="doSetVar"><l>threat</l><l>0</l></block><block s="hide"></block><block s="doBroadcast"><l>computer turn</l><list></list></block></script><script x="10.999999999999943" y="1655.3333333333312"><block s="receiveMessage"><l>computer turn</l><list></list></block><block s="doSetVar"><l>temppos</l><block s="reportListItem"><block s="reportRandom"><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="open spots"/></block></block><block var="open spots"/></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="amount of turns"/><l>0</l></list></block><script><block s="doSetVar"><l>temppos</l><l>5</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="amount of turns"/><l>2</l></list></block><script><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="prev move"/><l>1</l></list></block><block s="reportVariadicEquals"><list><block var="prev move"/><l>9</l></list></block></list></block><script><block s="doSetVar"><l>temppos</l><l>7</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="prev move"/><l>3</l></list></block><block s="reportVariadicEquals"><list><block var="prev move"/><l>7</l></list></block></list></block><script><block s="doSetVar"><l>temppos</l><l>1</l></block></script><list></list></block></script><list></list></block><custom-block s="check threats"></custom-block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="threat"/><l>0</l></list></block><script><block s="doSetVar"><l>temppos</l><block var="threat"/></block></script><list></list></block><custom-block s="check wins"></custom-block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="win"/><l>0</l></list></block><script><block s="doSetVar"><l>temppos</l><block var="win"/></block></script><list></list></block><block s="doBroadcast"><l>player click</l><list></list></block></script></scripts></sprite><sprite name="Sprite" idx="2" x="0" y="100" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="155.54999999999998,0,65.33099999999997,1" pen="tip" id="872"><costumes><list struct="atomic" id="873"></list></costumes><sounds><list struct="atomic" id="874"></list></sounds><blocks></blocks><variables></variables><scripts><script x="272" y="80.33333333333337"><block s="receiveMessage"><l>winner</l><list></list></block><block s="bubble"><block s="reportJoinWords"><list><block var="Winning Letter"/><l> has won!</l></list></block></block></script><script x="60" y="78.33333333333334"><block s="receiveGo"></block><block s="bubble"><l></l></block><block s="gotoXY"><l>0</l><l>100</l></block><block s="setScale"><l>100</l></block><block s="setEffect"><l><option>ghost</option></l><l>100</l></block><block s="show"></block><block s="goToLayer"><l><option>front</option></l></block></script></scripts></sprite><watcher var="X&apos;s turn?" style="normal" x="5" y="5" color="243,118,29" hidden="true"/><watcher scope="Square" s="xPosition" style="normal" x="10" y="10" color="74,108,212" hidden="true"/><watcher scope="Square" s="yPosition" style="normal" x="10" y="31.000001999999995" color="74,108,212" hidden="true"/><watcher var="winning values" style="normal" x="10" y="73.00000599999998" color="243,118,29" hidden="true"/><watcher scope="Square" s="getCostumeIdx" style="normal" x="10" y="246.00000800000004" color="143,86,227" hidden="true"/><watcher scope="Square" var="position" style="normal" x="10" y="267.00001000000003" color="243,118,29" hidden="true"/><watcher var="HasWon" style="normal" x="10" y="309.00001399999996" color="243,118,29" hidden="true"/><watcher var="Winning Letter" style="normal" x="10" y="333.000016" color="243,118,29" hidden="true"/><watcher var="open spots" style="normal" x="10" y="338.999998" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="8" y="54.00000399999999" color="243,118,29" hidden="true"/><watcher var="all threats" style="normal" x="209" y="31.999998000000005" color="243,118,29" hidden="true"/><watcher var="temppos" style="normal" x="3" y="335.999998" color="243,118,29" hidden="true"/><watcher var="threat" style="normal" x="108" y="337.999998" color="243,118,29" hidden="true"/><watcher var="all wins" style="normal" x="10" y="338.999998" color="243,118,29" hidden="true"/><watcher var="win" style="normal" x="203" y="338.999998" color="243,118,29" hidden="true"/><watcher var="prev move" style="normal" x="108" y="331.999998" color="243,118,29" hidden="true"/><watcher var="amount of turns" style="normal" x="3" y="306.000012" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="X&apos;s turn?"><bool>false</bool></variable><variable name="board"><list struct="atomic" id="921">X,X,O,O,X,X,X,O,O</list></variable><variable name="winning values"><list id="922"><item><list struct="atomic" id="923">1,2,3</list></item><item><list struct="atomic" id="924">4,5,6</list></item><item><list struct="atomic" id="925">7,8,9</list></item><item><list struct="atomic" id="926">1,4,7</list></item><item><list struct="atomic" id="927">2,5,8</list></item><item><list struct="atomic" id="928">3,6,9</list></item><item><list struct="atomic" id="929">1,5,9</list></item><item><list struct="atomic" id="930">3,5,7</list></item></list></variable><variable name="amount of turns"><l>9</l></variable><variable name="HasWon"><bool>false</bool></variable><variable name="Winning Letter"><l>X</l></variable><variable name="temppos"><l>1</l></variable><variable name="open spots"><list struct="atomic" id="931">1</list></variable><variable name="all threats"><list id="932"><item><list struct="atomic" id="933">,O,O</list></item><item><list struct="atomic" id="934">O,,O</list></item><item><list struct="atomic" id="935">O,O,</list></item></list></variable><variable name="threat"><l>0</l></variable><variable name="all wins"><list id="936"><item><list struct="atomic" id="937">,X,X</list></item><item><list struct="atomic" id="938">X,,X</list></item><item><list struct="atomic" id="939">X,X,</list></item></list></variable><variable name="win"><l>0</l></variable><variable name="prev move"><l>8</l></variable></variables></scene></scenes></project><media name="U5L6 Tic Tac Toe AI" app="Snap! 10.4.6, https://snap.berkeley.edu" version="2"><costume name="Empty" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAMhJREFUaEPtmrENgmAUBh9b/B2FiziLQtzJ6Cy0EEPhRiYmDvA1F/xz9JePd0fJUJ09Q1Wdq2rp4a5xPO3fgy7XeXk+7n9907q9ap5ubw86akYLHbXM770sZCHYgJ8cLDyes1CsDAYsBAuP5ywUK4MBC8HC4zkLxcpgwEKw8HjOQrEyGLAQLDyes1CsDAYsBAuP5ywUK4MBC8HC4zkLxcpgwEKw8HjOQrEyGLAQLDyes1CsDAYsBAuP5ywUK4OBvgv18kdja237AKBcnYrWCDoLAAAAAElFTkSuQmCC" mediaID="Square_cst_Empty"/><costume name="X" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAgRJREFUaEPt2jlPAkEUB/BHpTRgTdRQ8g3AzooYQBMvRDk0EWk9C0sDdsb4JWyoLC3VTmPUxqP1StQSC1rNkmBEQd68eW9nF6HbZI/5zX93wj+7HgAIxuMTmz5fTy+4/Fetflx7AGA4HB46zOTmXQ16e32Bq8uLhxoomUwflMv7fW4O6PTsHLZLxS7IsSH+z4Qen55hcKDfUam0GhMqocV8AQKBAJSKW45A3dzewWgiATu7ezA5PtYwJhSoUnmH/FIBQqGQcVQdk85km44FBbKmwAmodhhrnGiQaRQGowwyhcJiSCC7USoYMsgulCpGCySNomC0QVIoKoYFxI3SwbCBuFC6GFaQLooDww6iorgwIiBVFCdGDIRFcWNEQe1QEhhxUCuUFMYW0E9UKjVTK2et+kxDWyNsKNUHwvm/DrH6VCabg5PjI1heWRUriraBrNssHouB1+uFqemku0Hfn5mN9TXROi+eULMFQLLOi4L+Ws2kUGIgzNIsgRIBYTD15Y8bxQ5SwUigWEEUDDeKDaSD4USxgDgwXChtECeGA6UFksDoosggSYwOigSyA0NFKYPsxFBQSiATGFUUGmQSo4JCgZyAwaJQoGh0BMKRiFjLVK329T+0qdk52ktjJ77Wt1B+v+/XXKASUp1Bk/t3QSZnH3Ptzk6o0z4ADALAAiZWF+xz/wkeo3wQZ25vHgAAAABJRU5ErkJggg==" mediaID="Square_cst_X"/><costume name="O" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAABF5JREFUaEPtmktME1EUhv+uFXBJgkDkWdGFLRrdKIqGGMFX1Cj4iFEKQlxIjMYNpZSNQSoujCLFxKhA8REfYGKIiujCB9JqIoiSaASfOx66xpwxN2npTOfOzJ2CyCRNF733zPnOf+bce8/Ughl2WQCsBtA1E7iSk1N7JaADBx1dF5sa/2mm5y964CgufTMLNF1lnFWIV5nOB4/g9wcw+OE9uh49xKdPH8Ombt+xEwkJCVhisyN3TQ6SEufzmlccJ1ShoeEv8Hqb0Hz1CrKXLpM+drsN1swMWWfp5gPvP+B1wI+7d25L43cVFmHb1k26wYQABYOUHCpHUeFOXdG+eesufK0tGB0ZQWlZuS4ww0CXLjfD7XKCQMpKHYiLi9UdXTaR0rWuthaJSUmoqnJqCo5uoNHRMVS5qtHf1wd3TQ1WLF9mGCTYANk/f8GLxoZzaGj0Im9dLpd9XUB0s2JHCWJjY3HaUydEFSVvKQ2PHa3AKU89VwpqBmIwVqsVNW4XV9SMDurrf4eNBQVcUJqBDhaXICYmBmfqPUb91DSfoBYvysKz5y8jprcmoLPnLqD7cReavI2mppla+gUCAcX7cwOxCL3t68eirIWaoity8JGKo5I5pQzhBqJUs9mzcbi8VKR/mm3RM2yz2dDS6pNNPS4gGlRUuAuRpNbsmYEJlPoBfy/kjjpcQCRzWnrGlKvDYsBUau/oCEt/VSDa1iQnJWJkZHRKCoGSkCdrPfj9azxs6VAFoq0NbR6jXabVMpKKVMWRCnR23g8ZqgpE6bZyVQ7XKq3mhOjfU1JSMTntVIHkJol2TK89uWCrAlksFkxMTOi9p6nzqNrRFbyURASiHz0eD65f85nqmF7jdMxo8/lCyrcqkNfrla33ep0QOY+cn+zfLJDICBu1pVkhpVpv1BFR8+nw9/RJd8ga+X9VOYpkXt56U3oGIlSiE8CG/IKQRV9VoUqnC6lp6di/b7cIH4TaoEX/cXd3SFdIFYj1yqbbWsRaXZr3crRVnzcvDp+HhjX1x4RKIWOMMmfO3BicOP73BMsuVYVooNJks51Wsh8pyFxAdCZanZMzrU6sP398l22jcQExleg7Wr04JXXYgVPpEeAGYiopNSeilX5UqtMzMsOeHU3PEBvM2rJT1SyhY3fvq56IfUFuhRgUFYiBgYGoNxtZMOUaI5qr3OR0ijYULwz5qVmhyUq5XFWmdlLpVHq6rjasd6D0zOoGIoOU0/T+xulyC98aURGqrnZjeGgI9WfquYNmCIhJ7KyslN62ORwOwy++aNG80twqqaLnraBhIIIKdmJN7tqwHTBPSSdFWlrbJMXJht7gCAFiDhPYrTvtuNfRLpXXTZu3SC3kpdl2achCa6bUfaWD4/j4L3z99h2Dg4PSWPrs3rMX+fn5hlQWChSsBEW855Vfcpj+qzA2NoYb19ukIQsWpEgq0IszBizqHa1pQDxpZsaYWSAzoirS5sxWaKb8ozE+Pv7FHwf0iag99Qm1AAAAAElFTkSuQmCC" mediaID="Square_cst_O"/></media></snapdata>