<snapdata remixID="8920595"><project name="tic tac toe" app="Snap! 5.1, http://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" volume="100" pan="0" lines="round" ternary="true" codify="false" inheritance="false" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAFMpJREFUeAHt3AmwlVUBB/DHDqKBCI5JWo2ZTo4jlpqOTTKTksgOUmmmrY412mhTkimlzQRGU5oLqeDSmNMYgYAghunQZlgpYGGp1dgALpCCCyp7//N8980Dufc9HjRe4ffNnM75zvad73ef3/nOuZcaGhwECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA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xyG5l3+1bFBWr3lx6J8t3OeyNb2+ZVlr6UGDBvXMhLWx2r201j4TfXmR6JMxnVmpW2s8tcrKKv611147IL/2fjp9vcmu0n+1OE5HxWlxXkb6lF85V+rVumap0/Ry11C+x660qcQ761PpR0zgrRYwAb/Vn4DrE9gFAmWrOyvrSZns+mTy7Z8uR2UCvn8XdN2uLvJScm8a9k04KuO5OS8357WrI40I7MYCzb8Y3Y3v0a0R2O0FssJclC3oKzPZvZot20VZOba6lf7/RMk4xuVl4MBc44lMvlvtDvw/r6tvAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYA8X+B+HBXIxdATfSAAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Square" idx="1" x="65.626953125" y="-100" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="8"><costumes><list id="9"><item><costume name="Empty" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAMdJREFUaAXtmrENgzAABK0oJWlJTSZhFiJmBUXZyQE2+BQnsM6Sy9fJd5SU0uAZtzfVFu4wvL63PdD0nkut9dJ3WT+l6x7340H7o1o5PujsJS1kIdiAnxwsPMZZKFYGDywEC49xFoqVwQMLwcJjnIViZfDAQrDwGGehWBk8sBAsPMZZKFYGDywEC49xFoqVwQMLwcJjnIViZfDAQrDwGGehWBk8sBAsPMZZKFYGDywEC49xFoqVwQMLwcL/wo3bqok/Gvv+uf4AIF351gHMv7AAAAAASUVORK5CYII=" id="10"/></item><item><costume name="X" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAiVJREFUaAXt2k9LAkEUAPBndBCE/ABWiJ/CTvYBNJCO5Z9OQXTIW5ci7VqdIqjsI0TQp9gIzP57kv5o2TdIurQjLEi4szsz783Ohg+GkdUd32/nsfB0IwCQzOXym7FYNGq/DnX0+z8Pk7Yg2et9lIrllVCDvnqfcNNovDIQpFKp7/W11VCDrKtrBoKJUNfYiOTHoBEXxahD3B16e+8YlSxLxisnLqharcHW9o4xqMenZ5jPZOD84tI1Jy7oYH8PWq2WESiGyWWzsLRcgMX8ghwoHp+C+ulJ4KhhzG6NXzHcHWKXIWiUCIbl6wkKEiWK8Q0KAiWDEQLpRMlihEE6UCoYKRAlShUjDaJAYWCUQJgoLIwyCAOFiUEBqaCwMWggGRQFBhUkgqLCoIP8oCgxJCAeihpDBhqF0oEhBQ2jms0mzKXTg+bMq59h56mEr/ZB5Qs63S7c391CIpFQWcb3uaQgp8wKxRJYlqWl8yUDORj2GwArM12dLwnoL8apFx0odJAbRhcKFeSF0YFCA/nFUKNQQKIYSpQySBZDhVICqWIoUNIgLAw2SgqEjcFECYOoMFgoIRA1BgPlG6QLo4ryBdKNUUF5goLCyKK4oKAxMiguqLJR0dI2O4nz5uHWg/en8eDRGLeF6md1mJ2Zdntb+3EHxWa34O6QSRgHwMOwz3BBziJhmscg03drcFNot9vRw6Nj03Pl5sceAGQRsUfSHmV7/Id4+QUcX+A7aPHCPwAAAABJRU5ErkJggg==" id="11"/></item><item><costume name="O" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAABP1JREFUaAXtml1MFFcUx08aH9n1zYbQNhFZWNuYdvmIvFjWLdSkQa1WK5ZqjLJItY3KWtMHLbvaRKuCNbbGwkM/FFiFinz4oCiKPrgKLr7UrzU1hba8Cvo+3v/VaZCdO187y0ypJ5nM7v049/zuPXP2zrlLNA3Fz5ik6XDNnp09+AoWaP2GIEmS9J++rsVuUEaGawYHAtR0kZdATl/JGVYbeP5CH8XjQ5S4f48u9V2khw//SBpixcpVlJWVRe/48imwsITeeP21pDZmCyxxueGRv2jX12HKzp5DTY2N3JZVFRV0ub9fMdCEQiEOc2soTv6SElr5cQX91tFlliGpn59FORbkjMufwyPSzl11EguX0t5vD0r4bkbaT3dKbNWksrJFEj6bERblpHnz3r4FOlNAP/1y4l+QR4/GzNiQ1Odc70UOhQk2OjkykGGXGxsbp63bQtRy4ji1tEbpqx0hmjnTnbTsZgreLw1QW9sp8uTmcVfE82hUDAUFwFQFq8ntdvOBrQKZaDR0YpI8Hg/VVAfpQP0h+mjZkolNVD/rBpJhvF4v7dkdVlVqRSUgvHkeWlxeztXphdLtcrWh7TzUTgWMPCFvvTmXunt6aMXypRS7PiAXq951AX1/9EcaHx+nSLhOVVk6KgHFIh99srqC4CVaogn0++079MXmGgozmHQ8M1oGoh7utmTph1QXjmg21wRqaDhER344RpgpOwXe0dV5RtP1VIHgt9i+rKlcbScLHxveUbt9BzU1NanaogoUjUa5ErtcbbLlmFhMMB4DkQiBsD87/F2DI1ZHNh4TW12ziaLRk3JR0l0I1Hepn7ZsrbUtECRZ+rxgcfkHdD0WE1WTEAg74QXvlgg72lWB4PTgQULodkIgRBT8UjtREMLv3ksomiYEwouZ3aFa0WJWmOPJpdHRUcVqRSCEa7xVOlVycz00FL+paJ4iEFpiR+1UcbtcQtOEQMIeDq/4fwC5XBk0Mjzs2LX4+59RcgncTnGFEN16e885FggRDpFOSRSB0JBlYDR3tkoKp6IMES4zM1NxKCHQ/OJi9uN1X7GT3YXYoBYV5iuaIQRCVvNsT7diJzsLkQnKyfEIs61CoNKAn9rbThJ23U6Sq1euUKC0TGiSEAhbdZYVZbk38VZdqDVNFcgpfLMnwvIL4l2MEAg2BYNV1HjsqK7kRJoYXlB7vLmVT7Jacl8VCB0rP11DB+sbXlBsxxe4PpI1mGQ1UQVCRyhoZmlfvXkxtcFSqYtEdhM7EBAGA1m3JhBWCelYvXkxWbGV933763le8LONQU21mkDQgLwYXA95bT3JPs1RDTTAuRGeY715QV1AGB8pYOS1pxIKMF+GtvF0sN6XTd1Ak6HUUkkGFkDYFOlnozBQZggIHbBSBYVF/FTg51+bUWSpIJptqKqmrjMdhlZGNsIwEDri/AaHXTj0wuBWREA8m1gVnLniwAsHX3rdTIbB3RQQOhbPL+KD+vILeAQEmJmDX6wIopjP5+N5glRPBXUfeAFismB79PmmjTy72tHZTdHWFu73SDPhfaWw4NmOeK43jycs8dw9fvyE8IKWSCTo5uAAvxBBAYJJSlVSApIHB9i6tZX8wowPDMa5wUis41wJm1wIOy2nhYH3+NsmgHG8bwWEbAfulgBNVIgf4uS9VnRik7R+Nv0MpdWqFJS/BEph8qasq5+NNC3+0Thr1quxpw8VBnvd/ej3AAAAAElFTkSuQmCC" id="12"/></item></list></costumes><sounds><list struct="atomic" id="13"></list></sounds><blocks></blocks><variables><variable name="position"><l>0</l></variable></variables><scripts><script x="10" y="10"><block s="receiveGo"></block><block s="removeClone"><comment w="118" collapsed="true">This affects only clones, not the original sprite.</comment></block></script><script x="15.019047619047626" y="100.46666666666664"><block s="receiveGo"></block><block s="clear"></block><block s="doWait"><l>.1</l><comment w="181.33333333333334" collapsed="true">Wait for old clones to be deleted.</comment></block><block s="doSetVar"><l>board</l><block s="reportNewList"><list><l>e</l><l>e</l><l>e</l><l>e</l><l>e</l><l>e</l><l>e</l><l>e</l><l>e</l></list></block></block><custom-block s="makeBoard"></custom-block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script x="423.73333333333335" y="382.6666666666667"><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><script></script><list></list></block><list><l/></list></custom-block></script><script x="68" y="604.6666666666666"><custom-block s="status of triple %l"><l/></custom-block></script><script x="78" y="568.6666666666666"><custom-block s="status of all winning triples"></custom-block></script><script x="425" y="113.66666666666663"><block s="clear"></block><block s="doIfElse"><block s="reportEquals"><custom-block s="wins? %s"><l>X</l></custom-block><block s="reportBoolean"><l><bool>true</bool></l></block></block><script><block s="gotoXY"><l>-100</l><l>-100</l></block><block s="write"><l>X&apos;s have won! good job!</l><l>12</l></block></script><script><block s="doIfElse"><block s="reportEquals"><custom-block s="wins? %s"><l>O</l></custom-block><block s="reportBoolean"><l><bool>true</bool></l></block></block><script><block s="gotoXY"><l>-100</l><l>-100</l></block><block s="write"><l>O&apos;&apos;s have won! good job!</l><l>12</l></block></script><script><block s="gotoXY"><l>-100</l><l>-100</l></block><block s="write"><l>it&apos;s a tie! </l><l>12</l></block></script></block></script></block></script><script x="15.447619047619014" y="261.85714285714295"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportEquals"><block s="getCostumeIdx"></block><l>1</l></block><script><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="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="doReplaceInList"><block var="position"/><block var="board"/><l>O</l></block></script></block></script></block></script></scripts></sprite><watcher var="X&apos;s turn?" style="normal" x="5.19791666666606" y="5.197916666666693" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="294.25567010309214" y="21.606185567010243" color="243,118,29" extX="80" extY="70"/><watcher scope="Square" var="position" style="normal" x="10.288659793813395" y="10.288659793814418" color="243,118,29" hidden="true"/><watcher var="turn" style="normal" x="10" y="10" 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="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="show"></block><block s="doSwitchToCostume"><l>Empty</l></block><block s="gotoXY"><l>-100</l><l>100</l></block><block s="doSetVar"><l>position</l><l>0</l></block><block s="doRepeat"><l>3</l><script><block s="doRepeat"><l>3</l><script><block s="doChangeVar"><l>position</l><l>1</l></block><block s="createClone"><l><option>myself</option></l></block><block s="changeXPosition"><l>50</l></block></script></block><block s="setXPosition"><l>-100</l></block><block s="changeYPosition"><l>-50</l></block></script></block><block s="doSetVar"><l>position</l><l>0</l></block><block s="hide"></block></script></block-definition><block-definition s="possible wins" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>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></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="wins? %&apos;turn&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportGreaterThan"><block s="reportListLength"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportEquals"><block s="reportNewList"><list><block var="turn"/><block var="turn"/><block var="turn"/></list></block><l></l></block></autolambda><list></list></block><custom-block s="status of all winning triples"></custom-block></block></block><l>0</l></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><scripts><script x="30.000001999999995" y="320.16666966666656"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportEquals"><block s="reportNewList"><list><l>X</l><l>X</l><l>X</l></list></block><l></l></block></autolambda><list></list></block><custom-block s="status of all winning triples"></custom-block></block></script></scripts></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 wins"></custom-block></block></block></script></block-definition></blocks><variables><variable name="X&apos;s turn?"><bool>false</bool></variable><variable name="board"><list struct="atomic" id="904">X,X,O,X,O,O,X,X,O</list></variable><variable name="turn"><l>0</l></variable></variables></project><media name="tic tac toe" app="Snap! 5.1, http://snap.berkeley.edu" version="1"></media></snapdata>