<snapdata remixID="10031515"><project name="U3L1-TicTacToe2" app="Snap! 6, https://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="true" hyperops="true" codify="false" inheritance="false" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAACtUlEQVR4nO3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+Bo3+AAF/RMkcAAAAAElFTkSuQmCC</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="2" x="-56" y="-132" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="145,26,68,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="33" y="40"><block s="receiveGo"></block><block s="hide"></block><block s="setSize"><l>5</l></block><block s="setColor"><color>145,26,68,1</color></block></script></scripts></sprite><sprite name="Square" idx="1" x="50" y="-50" heading="90" scale="0.95" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="2" color="80,80,80,1" pen="tip" id="20"><costumes><list id="21"><item><costume name="Empty" center-x="29" center-y="28" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA5CAYAAACMGIOFAAAAyElEQVRoge3auw3DMBAE0S3NwSXXhUu5TlyCSlALjJmwBJYgJ3LiT2QDgsY7wOZ8IENKUklaJA3oFu3IVdIG3fqMHJk5qmo78zLzcYuvyMwcvfexnbze+9ihr8iqOvp8P6uq3j9XI0+WkZSMpGQkJSMpGUnJSEpGUjKSkpGUjKRkJCUjKRlJyUhKRlIykpKRlIykZCQlIykZSclISv+NjIjZWptHH/DbWmszIuZbpKQZEfPo79Xfbgd+RBK3StJ1h96gK0m60HcH/UV6kUnMyo0AAAAASUVORK5CYII=" id="22"/></item><item><costume name="X" center-x="29" center-y="29" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA6CAYAAAAKjPErAAACx0lEQVRogd3bO66bQBQG4LMAJCjd+fa2BTtwlsAOoEjhJdBBmc4VNUtwdkDhMgVLQKlTTHErS5H+FNcT4bnDa15c+KUj2cZI5xusQR6PibaZQHyhIKIbEbUbqd9E9CCi9+fjG0fWRISNVi0iH57nPbIsQ1EUq6osy7Db7SYhQUSIogiMMawpcRy/4A6Hw59B5NqgaZq+9F5VFYqikF9JcTTWABWBeZ4DQD+yKApUVbUaqAhMkuT/sUEkgFVAh4DABCQghzZN45gizxgQmIgEPkODIFgcOgUIzEACQF3X8H3/S0DFQe8DAjORANA0zeLQOUBAAQksCxWB5/N59BwlJLAMVASGYThppldGAm6hqkBAEwm4geoAAQNIwC5UFwgYQgJ2oE3TIAgCLSBgEMmbMgU1BQQMI3lzulAR6Ps+2rZV6gewgORNqkJlQN2PvRUkb1aE3m630XNMAwGLSN50F0rPb+p977UBBCwjAaBtW4RhOAht29YaEHCABADGWC+UMYYoiqwBAUdIQA4ty9I6EHCIBOTQbo1NTKpxigQ+oMfj8ROwb0IykUWQp9Npu0hxknEFdYoUgWVZjt5eTMQZUrZ8DwzfXkzFCbIPyGMbah05dW3UJtQqciqQRwY10Yc15FwgjwyapqlWL1aQqkAexhiSJDEGNY7M81wL2I0pqFHk3OX7KTEBNYa0AeTRhRpBmlgbHYsOVBvpAsijCtVCugTyqECVkUsAeeZClZB1XS8G5JkDVfql2dTyvW6mQmchReB+v198u8sU6GSkzcVf3YjQOI5fBn8S8isDeURod1PVKHINQJ7r9SqFDiLXBOSR7R7LskyOzLIMb29vqwLyiNDOBt9XpOd5f9cI5BGhz7pz5F08eLlcFt9yrVLinl0iYhz5LhmBrdQvIqKUiH7Sx98M+OWtNlD3ZxVERN+e9Z2IfnSeb6b+AQI4tq8sOMZbAAAAAElFTkSuQmCC" id="23"/></item><item><costume name="O" center-x="28" center-y="28" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA5CAYAAACMGIOFAAADhUlEQVRoge2a3bGrIBSF6UA60A5MB6QD04F2oB1AB6YD7YAStANLoARKWPchNw6oUVSMmeSsGfMQf9gfbBYCEkKIIIQ0X3wI8v8HX3z8JqTAF2jIZEF+k06BVEqhbVu0bQul1KFlAW+AbNsWRVHgcrks9pnL5YKiKNC2rbfygYMglVLIsgyU0s0mQSlFlmVeWtorpNYaQohFgDAMwRgDYwxhGC5eL4SA1vp8yKqqJlsuDEPkeQ4p5eIzpJTI83wSnFKKqqo2IHqCLIpiFBRjDE3TbAoKAJqmAWNs9NyiKFY/axek1hq3223Uci6t5iop5ahlb7fbqvTdDKm1Hjlmmqa7+s5cWWmajpzYtazNkFmWWYVyzneiLItzbpWZZZnTfZsgh4VtNYQtqqpqdeWuhpRSWoXkee4RwU15nlsxLHnAasgoivqbkiTxHb+zkiTp44iiaPbaVZBlWfY3BEFwiMm4SmuNIAj6eMqyfHmtM6TW2hrs5x76LpmVTil9WenOkOYDwzA8OHx3mWPoq4p3hjTHxHe66ZJMt2WMTV7jBKm1ttzszL44lEtsTpAutXWm4jiezTInSPOV6hMMZyjTL9I0HZ13gjRnA3tmFkepaZrZTPuDfMocHz/JdJ4yzYdSOjrvBGm616dqLsY/yKdMi+667l1xO6vruj6+OI5H53/NeLgTpM/1G18y57ib3dVcCZgabM+W+bIytVLg1JJmzi9NUM+QOcRNeYZTSwKwJqifZD5mA7yaAjpDminxSSnrEpczpOlghJC3bLktSSllxfTK+Z0hAdtlr9frgeG76Xq9zrrqU6sghzV35nAyXH+dy6xVkIDdByilp5hQ13WWoy55xGpIrbX1mhdF0VtnJsNVwziOF8tfDQk8atIcUtZsvuyRUspaUAuCwCmTNkECY7c9OnWHKTrnpkNthgTGnZ9Sivv9vgNlWvf73SqHkHXLorsggXHqPtPXx2ylaZrRHqhripraDQk8+oppRuZYWtf1qhcHpRTqurbGQNNktryEeIEEHq7HOR+1qtm6QggIIVDXdf+xUl3X/f+vvvUJggCc883m5g3ShB1ufe85fGzRe4d8SimFsiytfUTXI0kSlGXp7f34MEhTWmtIKcE5B+ccaZr2Hyuladr/L6U8ZLx9C+TZMiD5L0D+REvakISQ5uzgfIg8PrB/CfmNx09AckIIuX778Q//cwRX84YLFwAAAABJRU5ErkJggg==" id="24"/></item></list></costumes><sounds><list struct="atomic" id="25"></list></sounds><blocks></blocks><variables><variable name="position number"><l>10</l></variable></variables><scripts><script x="20" y="10"><block s="receiveGo"><comment w="53.333333333333336" collapsed="true">3.1.5.5</comment></block><custom-block s="makeBoard"><comment w="129.33333333333334" collapsed="true">3.1.5.6  Look inside. </comment></custom-block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l><comment w="90" collapsed="true">X plays first.</comment></block></block><block s="doSetVar"><l>board</l><block s="reportNumbers"><l>1</l><l>9</l></block></block></script><script x="380" y="42.99999999999993"><custom-block s="makeBoard"></custom-block></script><script x="339" y="139.50000000000017"><block s="doSetVar"><l>board</l><block s="reportNewList"><list></list></block></block></script><script x="385" y="210.50000000000017"><block s="doSwitchToCostume"><l>X</l></block></script><script x="516" y="141.50000000000017"><block s="doAddToList"><l>x</l><block var="board"/></block></script><script x="484" y="271.166666666667"><block s="doAddToList"><l>0</l><block var="board"/></block></script><script x="28" y="145.83333333333348"><block s="receiveInteraction"><l><option>clicked</option></l><comment w="53.333333333333336" collapsed="true">3.1.5.7</comment></block><block s="doIf"><block s="reportEquals"><block s="getCostumeIdx"></block><l>1</l><comment w="124" collapsed="true">If square is empty...</comment></block><script><block s="doIfElse"><block var="X&apos;s turn?"/><script><block s="doSwitchToCostume"><l>X</l></block><block s="doReplaceInList"><block var="position number"/><block var="board"/><l>x</l></block><block s="doIf"><custom-block s="won? %s"><l>x</l></custom-block><script><block s="doSayFor"><l>x won</l><l>2</l></block><block s="goToLayer"><l><option>front</option></l></block><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><custom-block s="draw win line"></custom-block></script><list></list></block><list></list></block><block s="doSetVar"><l>playing</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="position number"/><block var="board"/><l>o</l></block><block s="doIf"><custom-block s="won? %s"><l>o</l></custom-block><script><block s="doSayFor"><l>o won</l><l>2</l></block><block s="goToLayer"><l><option>front</option></l></block><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><custom-block s="draw win line"></custom-block></script><list></list></block><list></list></block><block s="doSetVar"><l>playing</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportNot"><block var="X&apos;s turn?"/></block><comment w="171.33333333333334" collapsed="false">Alternate between TRUE (x&apos;s turn) and FALSE (o&apos;s turn)</comment></block><block s="doIf"><block s="reportAnd"><block var="playing"/><custom-block s="tied?"></custom-block></block><script><block s="bubble"><l>It a tie </l></block><block s="goToLayer"><l><option>front</option></l></block></script></block></script></block></script><script x="477" y="341.6666666666668"><custom-block s="won? %s"><l>x</l></custom-block></script><script x="320.63333320617676" y="80.83333333333353"><block s="reportAnd"><l/><l/></block></script><script x="294.63333320617676" y="116.83333333333353"><block var="playing"/></script></scripts></sprite><watcher var="board" style="normal" x="10" y="10" color="243,118,29" extX="80" extY="70"/><watcher var="playing" style="normal" x="10" y="31.000001999999995" color="243,118,29" hidden="true"/><watcher var="winlines" style="normal" x="10" y="52.00000399999999" color="243,118,29" hidden="true"/><watcher scope="Square" var="position number" style="normal" x="134" y="21.000005999999985" color="243,118,29"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="label %&apos;text&apos; of size %&apos;size&apos;" type="command" category="pen"><comment x="0" y="0" w="90" collapsed="false">LABEL will stamp text on the stage at the given font size. The direction of the text is the direction the sprite is facing, and color will match the pen color.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">Hello!</input><input type="%n">12</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>text</l><l>size</l></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    context = stage.penTrails().getContext(&apos;2d&apos;),&#xD;    rotation = radians(this.direction() - 90),&#xD;    trans = new Point(&#xD;      this.center().x - stage.left(),&#xD;      this.center().y - stage.top()&#xD;    ),&#xD;    isWarped = this.Warped,&#xD;    len,&#xD;    pos;&#xD;&#xD;if (isWarped) {endWarp(); }&#xD;context.save();&#xD;context.font = size + &apos;px monospace&apos;;&#xD;context.textAlign = &apos;left&apos;;&#xD;context.textBaseline = &apos;alphabetic&apos;;&#xD;context.fillStyle = this.color.toString();&#xD;len = context.measureText(text).width;&#xD;trans = trans.multiplyBy(1 / stage.scale);&#xD;context.translate(trans.x, trans.y);&#xD;context.rotate(rotation);&#xD;context.fillText(text, 0, 0);&#xD;context.translate(-trans.x, -trans.y);&#xD;context.restore();&#xD;pos = new Point(&#xD;  len * Math.sin(radians(this.direction())),&#xD;  len * Math.cos(radians(this.direction())));&#xD;pos = pos.add(new Point(this.xPosition(), this.yPosition()));&#xD;this.gotoXY(pos.x, pos.y, false);&#xD;this.changed();&#xD;if (isWarped) {this.startWarp(); }&#xD;stage.changed();</l></block><list><block var="text"/><block var="size"/></list></block></script></block-definition><block-definition s="map %&apos;function&apos; over %&apos;lists&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%mult%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>mapone</l><l>mapmany</l></list></block><block s="doSetVar"><l>mapone</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="evaluate"><block var="mapone"/><list><block s="reportCDR"><block var="data"/></block></list></block></block></block></script><list><l>data</l></list></block></block><block s="doSetVar"><l>mapmany</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportListItem"><l>1</l><block var="data lists"/></block></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></block><block s="evaluate"><block var="mapmany"/><list><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportCDR"><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></list></block></block></block></script><list><l>data lists</l></list></block></block><block s="doIfElse"><custom-block s="empty? %l"><block s="reportCDR"><block var="lists"/></block></custom-block><script><block s="doReport"><block s="evaluate"><block var="mapone"/><list><block s="reportListItem"><l>1</l><block var="lists"/></block></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="mapmany"/><list><block var="lists"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportEquals"><block var="data"/><block s="reportNewList"><list></list></block></block></block></script></block-definition><block-definition s="keep items such that %&apos;pred&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIfElse"><block s="evaluate"><block var="pred"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script><script><block s="doReport"><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block></script></block-definition><block-definition s="combine with %&apos;function&apos; items of %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="data"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="data"/></block></block></script></block><block s="doReport"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="combine with %repRing items of %l"><block var="function"/><block s="reportCDR"><block var="data"/></block></custom-block></list></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; then %&apos;true&apos; else %&apos;false&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%b"></input><input type="%anyUE"></input><input type="%anyUE"></input></inputs><script><block s="doIfElse"><block var="test"/><script><block s="doReport"><block s="evaluate"><block var="true"/><list></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="false"/><list></list></block></block></script></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>step</l><l>tester</l></list></block><block s="doIfElse"><block s="reportGreaterThan"><block var="start"/><block var="end"/></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportLessThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>step</l><l>1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportGreaterThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doUntil"><block s="evaluate"><block var="tester"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></block></script></block-definition><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="words"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="words"/></block><block s="reportCDR"><block s="reportCDR"><block var="words"/></block></block></block></custom-block></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="words"/></block><l> </l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></list></block></block></script></block></script><scripts><script x="229.00000300000002" y="196.77778077777774"><block s="reportJoinWords"><list><l></l><l></l></list></block></script></scripts></block-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></script></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doRun"><block var="action"/><list></list></block></script><list><l>cont</l></list></block></block><custom-block s="ignore %s"><l>3</l></custom-block></script></block-definition><block-definition s="throw %&apos;cont&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">catchtag</input></inputs><script><block s="doRun"><block var="cont"/><list></list></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;value&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doReport"><block s="evaluate"><block var="value"/><list></list></block></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;tag&apos; %&apos;value&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">catchtag</input><input type="%s"></input></inputs><script><block s="doRun"><block var="tag"/><list><block var="value"/></list></block></script></block-definition><block-definition s="for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%l"></input><input type="%cs"></input></inputs><script><block s="doUntil"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doRun"><block var="action"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>breakpoint</l></list></block><block s="doIf"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doSetVar"><l>breakpoint</l><block var="test"/></block><block s="doShowVar"><l>breakpoint</l></block><block s="doRun"><block var="action"/><list></list></block><block s="doPauseAll"></block><block s="doHideVar"><l></l></block></script></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="tell %&apos;sprite&apos; to %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%cs"></input></inputs><script><block s="doRun"><block s="reportAttributeOf"><block var="action"/><block var="sprite"/></block><list></list></block></script></block-definition><block-definition s="ask %&apos;sprite&apos; for %&apos;expression&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportAttributeOf"><block var="expression"/><block var="sprite"/></block><list></list></block></block></script></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block></script></block-definition><block-definition s="makeBoard" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSwitchToCostume"><l>Empty</l></block><block s="show"></block><block s="setEffect"><l><option>ghost</option></l><l>30</l></block><block s="setScale"><l>95</l></block><block s="doSetVar"><l>position number</l><l>1</l></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><l>3</l><script><custom-block s="for %upvar = %n to %n %cs"><l>j</l><l>1</l><l>3</l><script><block s="gotoXY"><block s="reportSum"><l>-100</l><block s="reportProduct"><l>50</l><block var="j"/></block></block><block s="reportDifference"><l>100</l><block s="reportProduct"><l>50</l><block var="i"/></block></block></block><block s="createClone"><l><option>myself</option></l></block><block s="doChangeVar"><l>position number</l><l>1</l></block></script></custom-block></script><comment w="128" collapsed="false">The nested FOR loops are the important part of this solution.  </comment></custom-block><block s="hide"></block></script><scripts><script x="220" y="332.1333333333334"><block s="doSwitchToCostume"><l>Empty</l><comment w="144.66666666666666" collapsed="true">Another possible solution.</comment></block></script><script x="49" y="330.1333333333334"><block s="show"></block><block s="gotoXY"><l>-50</l><l>50</l></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><l>3</l><script><custom-block s="for %upvar = %n to %n %cs"><l>j</l><l>1</l><l>3</l><script><block s="createClone"><l><option>myself</option></l></block><block s="changeXPosition"><l>50</l></block></script></custom-block><block s="setXPosition"><l>-50</l></block><block s="changeYPosition"><l>-50</l></block></script></custom-block><block s="hide"></block></script></scripts></block-definition><block-definition s="possible winning triples" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><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>9</l></list></block><block s="reportNewList"><list><l>3</l><l>6</l><l>4</l></list></block><block s="reportNewList"><list><l>1</l><l>6</l><l>0</l></list></block><block s="reportNewList"><list><l>3</l><l>6</l><l>7</l></list></block></list></block></block></script></block-definition><block-definition s="status of triple %&apos;triple&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="board"/></block></autolambda><list></list></block><block var="triple"/></block></block></script></block-definition><block-definition s="status of all winning triples" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="status of triple %l"><l/></custom-block></autolambda><list></list></block><custom-block s="possible winning triples"></custom-block></block></block></script></block-definition><block-definition s="won? %&apos;who?&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListContainsItem"><custom-block s="status of all winning triples"></custom-block><block s="reportNewList"><list><block var="who?"/><block var="who?"/><block var="who?"/></list></block></block></block></script></block-definition><block-definition s="tied?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportEquals"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="board"/></block><l></l></block></block></script></block-definition><block-definition s="draw win line" type="command" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doFor"><l>i</l><l>1</l><l>0</l><script><block s="doDeclareVariables"><list><l>line</l></list></block><block s="doIf"><block s="reportOr"><block s="reportEquals"><block s="reportListItem"><block var="i"/><custom-block s="status of all winning triples"></custom-block></block><block s="reportNewList"><list><l>x</l><l>x</l><l>x</l></list></block></block><block s="reportEquals"><block s="reportListItem"><block var="i"/><custom-block s="status of all winning triples"></custom-block></block><block s="reportNewList"><list><l>o</l><l>o</l><l>o</l></list></block></block></block><script><block s="doSetVar"><l>line</l><block s="reportListItem"><block var="i"/><l/></block></block><block s="up"></block><block s="doGotoObject"><block s="reportListItem"><l>1</l><block var="line"/></block></block><block s="down"></block><block s="doGotoObject"><block s="reportListItem"><l>1</l><block var="line"/></block></block><block s="up"></block></script></block></script></block></script></block-definition></blocks><variables><variable name="X&apos;s turn?"><bool>false</bool></variable><variable name="board"><list struct="atomic" id="1004">o,x,o,x,x,x,7,o,o,x</list></variable><variable name="playing"><bool>false</bool></variable><variable name="winlines"><l>0</l></variable></variables></project><media name="U3L1-TicTacToe2" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>