<snapdata remixID="8987273"><project name="L10 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,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAgAElEQVR4Xu3deXgtZ30f8O9I1wuY4GIgCWELmC0YMAaesAe86AizlFKWhIYACaGEQGkawNaRocZg68gmIW1Y0gCBkjQQMA8hbLaOrh07CVt4WBq2JgUKaZoWg1lNco2vzvQZ6V7pnCPdKx1J975C9zN/2Vcz85v5zO/RV2fOO+9UsRAgQIAAAQJHXaA66hUVJECAAAECBCKANQEBAgQIECggIIALoCtJgAABAgQEsB4gQIAAAQIFBARwAXQlCRAgQICAANYDBAgQIECggIAALoCuJAECBAgQEMB6gAABAgQIFBAQwAXQlSRAgAABAgJYDxAgQIAAgQICArgAupIECBAgQEAA6wECBAgQIFBAQAAXQFeSAAECBAgIYD1AgAABAgQKCAjgAuhKEiBAgAABAawHCBAgQIBAAQEBXABdSQIECBAgIID1AAECBAgQKCAggAugK0mAAAECBASwHiBAgAABAgUEBHABdCUJECBAgIAA1gMECBAgQKCAgAAugK4kAQIECBAQwHqAAAECBAgUEBDABdCVJECAAAECAlgPECBAgACBAgICuAC6kgQIECBAQADrAQIECBAgUEBAABdAV5IAAQIECAhgPUCAAAECBAoICOAC6EoSIECAAAEBrAcIECBAgEABAQFcAF1JAgQIECAggPUAAQIECBAoICCAC6ArSYAAAQIEBLAeIECAAAECBQQEcAF0JQkQIECAgADWAwQIECBAoICAAC6AriQBAgQIEBDAeoAAAQIECBQQEMAF0JUkQIAAAQICWA8QIECAAIECAgK4ALqSBAgQIEBAAOsBAgQIECBQQEAAF0BXkgABAgQICGA9QIAAAQIECggI4ALoShIgQIAAAQGsBwgQIECAQAEBAVwAXUkCBAgQICCA9QABAgQIECggIIALoCtJgAABAgQEsB4gQIAAAQIFBARwAXQlCRAgQICAANYDBAgQIECggIAALoCuJAECBAgQEMB6gAABAgQIFBAQwAXQlSRAgAABAgJYDxAgQIAAgQICArgAupIECBAgQEAA6wECBAgQIFBAQAAXQFeSAAECBAgIYD1AgAABAgQKCAjgAuhKEiBAgAABAawHCBAgQIBAAQEBXABdSQIECBAgIID1AAECBAgQKCAggAugK0mAAAECBASwHiBAgAABAgUEBHABdCUJECBAgIAA1gMECBAgQKCAgAAugK4kAQIECBAQwHqAAAECBAgUEBDABdCVJECAAAECAlgPECBAgACBAgICuAC6kgQIECBAQADrAQIECBAgUEBAABdAV5IAAQIECAhgPUCAAAECBAoICOAC6EoSIECAAAEBrAcIECBAgEABAQFcAF1JAgQIECAggPUAAQIECBAoICCAC6ArSYAAAQIEBLAeIECAAAECBQQEcAF0JQkQIECAgADWAwQIECBAoICAAC6AriQBAgQIEBDAeoAAAQIECBQQEMAF0JUkQIAAAQICWA8QIECAAIECAgK4ALqSBAgQIEBAAOsBAgQIECBQQEAAF0BXkgABAgQICGA9QIAAAQIECggI4ALoShIgQIAAAQGsBwgQIECAQAEBAVwAXUkCBAgQICCA9QABAgQIECggIIALoCtJgAABAgQEsB4gQIAAAQIFBARwAXQlCRAgQICAANYDBAgQIECggIAALoCuJAECBAgQEMB6gAABAgQIFBAQwAXQlSRAgAABAgJYDxAgQIAAgQICArgAupIECBAgQEAA6wECBAgQIFBAQAAXQFeSAAECBAgIYD1AgAABAgQKCAjgAuhKEiBAgAABAawHCBAgQIBAAQEBXABdSQIECBAgIID1AAECBAgQKCAggAugK0mAAAECBASwHiBAgAABAgUEBHABdCUJECBAgIAA1gMECBAgQKCAgAAugK4kAQIECBAQwHqAAAECBAgUEBDABdCVJECAAAECAlgPECBAgACBAgICuAC6kgQIECBAQADrAQIECBAgUEBAABdAV5IAAQIECAhgPUCAAAECBAoICOAC6EoSIECAAAEBrAcIECBAgEABAQFcAF1JAgQIECAggPUAAQIECBAoICCAC6ArSYAAAQIEBLAeIECAAAECBQQEcAF0JQkQIECAgADWAwQIECBAoICAAC6AriQBAgQIEBDAeoAAAQIECBQQEMAF0JUkQIAAAQICWA8QIECAAIECAgK4ALqSBAgQIEBAAOsBAgQIECBQQEAAF0BXkgABAgQICGA9QIAAAQIECggI4ALoShIgQIAAAQGsBwgQIECAQAEBAVwAXUkCBAgQICCA9QABAgQIECggIIALoCtJgAABAgQEsB4gQIAAAQIFBARwAXQlCRAgQICAANYDBAgQIECggIAALoCuJAECBAgQEMB6gAABAgQIFBAQwAXQlSRAgAABAgJYDxAgQIAAgQICArgAupIECBAgQEAA6wECBAgQIFBAQAAXQFeSAAECBAgIYD1AgAABAgQKCAjgAuhKEiBAgAABAawHCBAgQIBAAQEBXABdSQIECBAgIID1AAECBAgQKCAggAugK0mAAAECBASwHiBAgAABAgUEBHABdCUJECBAgIAA1gMECBAgQKCAgAAugK4kAQIECBAQwHqAAAECBAgUEBDABdCVJECAAAECAlgPECBAgACBAgICuAC6kgQIECBAQADrAQIECBAgUEBAABdAV5IAAQIECAhgPUCAAAECBAoICOAC6EoSIECAAAEBrAcIECBAgEABAQFcAF1JAgQIECAggPUAAQIECBAoICCAC6ArSYAAAQIEBLAeIECAAAECBQQEcAF0JQkQIECAgADWAwQIECBAoICAAC6AriQBAgQIEBDAeoAAAQIECBQQEMAF0JUkQIAAAQICWA8QIECAAIECAgK4ALqSBAgQIEBAAOsBAgQIECBQQEAAF0BXkgABAgQICGA9QIAAAQIECggI4ALoShIgQIAAAQGsBwgQIECAQAEBAVwAXUkCBAgQICCA9QABAgQIECggIIALoCtJgAABAgQEsB4gQIAAAQIFBARwAXQlCRAgQICAANYDBAgQIECggIAALoCuJAECBAgQEMB6gAABAgQIFBAQwAXQlSRAgAABAgJYDxAgQIAAgQICArgAupIECBAgQEAA6wECBAgQIFBAQAAXQFeSAAECBAgIYD1AgAABAgQKCAjgAuhKEiBAgAABAawHCBAgQIBAAQEBXABdSQIECBAgIID1AAECBAgQKCAggAugK0mAAAECBASwHiBAgAABAgUEBHABdCUJECBAgIAA1gMECBAgQKCAgAAugK4kAQIECBAQwHqAAAECBAgUEBDABdCVJECAAAECAlgPECBAgACBAgICuAC6kgQIECBAQADrAQIECBAgUEBAABdAV5IAAQIECAhgPUCAAAECBAoICOAC6EoSIECAAAEBrAcIECBAgEABAQFcAF1JAgQIECAggPUAAQIECBAoICCAC6ArSYAAAQIEBLAeIECAAAECBQQEcAF0JQkQIECAgADWAwQIECBAoICAAC6AriQBAgQIEBDAeoAAAQIECBQQEMAF0JUkQIAAAQICWA8QIECAAIECAgK4ALqSBAgQIEBAAOsBAgQIECBQQEAAF0BXkgABAgQICGA9QIAAAQIECggI4ALoShIgQIAAAQGsBwgQIECAQAEBAVwAXUkCBAgQICCA9QABAgQIECggIIALoCtJgAABAgQEsB4gQIAAAQIFBARwAXQlCRAgQICAANYDBAgQIECggIAALoCuJAECBAgQEMB6gAABAgQIFBAQwAXQlSRAgAABAgJYDxAgQIAAgQICArgAupIECBAgQEAA6wECBAgQIFBAQAAXQFeSAAECBAgIYD1AgAABAgQKCAjgAuhKEiBAgAABAawHCBAgQIBAAQEBXABdSQIECBAgIID1AAECBAgQKCAggAugK0mAAAECBASwHiBAgAABAgUEBHABdCUJECBAgIAA1gMECBAgQKCAgAAugK4kAQIECBAQwHqAAAECBAgUEBDABdCVJECAAAECAlgPECBAgACBAgICuAC6kgQIECBAQADrAQIECBAgUEBAABdAV5IAAQIECAhgPUCAAAECBAoICOAC6EoSIECAAAEBrAcIECBAgEABAQFcAF1JAgQIECAggPUAAQIECBAoICCAC6ArSYAAAQIEBLAeIECAAAECBQQEcAF0JQkQIECAgADWAwQIECBAoICAAC6AriQBAgQIEBDAeoAAAQIECBQQEMAF0JUkQIAAAQICWA8QIECAAIECAgK4ALqSBAgQIEBAAOsBAgQIECBQQEAAF0BXkgABAgQICGA9QIAAAQIECggI4ALoShIgQIAAAQGsBwgQIECAQAEBAVwAXUkCBAgQICCA9QABAgQIECggIIALoCtJgAABAgQEsB4gQIAAAQIFBARwAXQlCRAgQICAANYDBAgQIECggIAALoCuJAECBAgQEMB6gAABAgQIFBAQwAXQlSRAgAABAgJYDxAgQIAAgQICArgAupIECBAgQEAA6wECBAgQIFBAQAAXQFeSAAECBAgIYD1AgAABAgQKCAjgAuhKEiBAgAABAawHCBAgQIBAAQEBXABdSQIECBAgIID1AAECBAgQKCAggAugK0mAAAECBASwHiBAgAABAgUEBHABdCUJECBAgIAA1gMECBAgQKCAgAAugK4kAQIECBAQwHqAAAECBAgUEBDABdC3veQ5l/5MUt96YL9j459O96U/2PZadkiAAAEC2yIggLeFsfBOWp33JnniwFHU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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="Square" idx="1" x="999" y="999" 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="29" center-y="28" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA5CAYAAACMGIOFAAABJklEQVRoQ+2bsQ2DMBBFfzbIBklJl0hUVA6V18gISAyAGQCJdVwRV1RIKSnJBowQOUJICUnqs/WZ4N79/3SN2QEwAE4Azojzu+8WSAXgEicjbp+Qk9YaWZYdQwbu+36y1noEz/EOqbWe2rZFkiRBQ47jOBVFAWvtFtIYg6qqQg5xnb2ua3ieTZKEDCxfJkknA6os68q6sq6yNkAn6aSsRv6dhnVlXVlXWRugk3RSViN5QugknaSTsjZAJ+mkrEbyTtJJOkknZW2ATtJJWY3knaSTdJJOytoAnaSTshrJO0kn6WQMTiql5qZpkKbpPiCezajDMMxlWcI55zk2z7NnpRTyPA8asuu62Tnn4b9Chhzgr9lfSV6XB+mHGAkBPDxkrL9KrJk9AbeDqAKws++iAAAAAElFTkSuQmCC" id="10"/></item><item><costume name="X" center-x="29" center-y="29" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA6CAYAAAAKjPErAAADwElEQVRoQ93bvU/bQBgG8IdWIgyVYOiQLRkq1oS9kERd0gn4C4CNEdSFDdgYYWCBIcnGRsYuFQyMVQWCCTHAxlBVsAFSpepxOcs57LN9H3ack1hiB/t37917x90xhtEsUwAeBG0MwBaAGoD6iHjfASgDeAHwB8AvgWwAaI4IUmacysiXUqmE9fX18YmJiUKZn56e0O12cX9/H4v0bqjX6zg5OcHUFJt2Mcri4iL6/b7/stPT07+vr68/AngTSf+mIkFXVla8KIrS6XRwd3eHrS2mGwm5sLAwUBtFgMrAzc1ND7e9vR2O5MVKpQJ+UZRhhsrApaUlP6JKJGuCoR92qArIAMUieVMYlG2dkc27xAETI8OgzLbMunlCkwBTIb3UdHoKJqTHx0cvgHlC5dYV7INy60rUXINfOj8/R7PZzBWaBpg6kgKbJ1QGNhoNr4WpSupI5gmVgbVazQPGzca0kcRmGVFdoHZzzbqPmgCtIF1H1BRoDekKyu7QarXw8PD/D/ukfdB4CFFlMZt91BbQaiRtZl0ZODk56SW5arWqNYs0yq5RTzSJaBiQw4TJ9NEJMqqPclLPaaGqcoJ9kBE0BTpprqrhhdcIXV5efuN0EUHxEGeRFA+4vb31ondxceHDZCjvmZmZ8bOorQhmhuSDOARwUh8G5TU2UUaSxTbQeXMNtskw6P7+Pg4PD50CM0VGRTRYEcfHx8rEpDV+JF3+0P3lYd9jRGdnZ3F1dTVwOSoh2Xi288QjvySRc3NzuLy8HE2knGTkCnAVzUwjyWFCZFECmXgODg6Uw0uhmmvY8j0nBarhxQYws+waBRQI11DnzTXp2qhLqFNkUqAqotyT4XaFSXGGTAtUQdl3mXl1ixOkLjAIXVtbQ6/X810mUOtIsR8o3k61fB8XGcJsQK0i0y7fxyF53QbUGtIFUFSCKdQK0sbaaFxUTaDGyCyAphE1QmYJNIFqI/MA6kK1kFwm5LqMKLrL93H9UHU9TR9NjbS5fG+CTDO8pELKQJ7z4Wdxm6CmGNOIJka6XPw1rQS56XKdl3NdUfmJkMMMjEpGwdNjscgiAAV0d3eXR1f9hiGge3t70Wfr5ufnBzZBXaxumzZV+fthp8fa7TZ2dnZ46+BR0I2NDRwdHYH7FCxFAAqwDC2Xy+KA7yCyVCr9fX5+fl80YBT09fMzcTz7C4DPwWawuroK1kbRCvNJ8AQz954E8huAD0UDJXzfn0Ryd5RbwV8BjAM4A3CT8BcM822fXl/uB5HiXyX4IX++D/Ob67zbP7txN3DfPsf4AAAAAElFTkSuQmCC" id="11"/></item><item><costume name="O" center-x="28" center-y="28" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA5CAYAAACMGIOFAAAEX0lEQVRoQ+2aizUsQRCGeyJABGwEiAARsBEgAkSwuxEgAjYCRGA3AkSACBDB3PPNubWnts2juuexa6lznPsw091//VV/V1dP4pwbOuf23OraNPkPcrC6GN3oV4IcpWn641lNkmTknBMc80ymaboyUZskBGlm3YF8e3tz7+/v2aybm5tua2urVYe2DnI6nbr7+3s3mUzc8/NzKZidnR23v7/vjo6O3N5ecyLfCkiYGo1GGbjPz88oltbX1zOwg8GgNtONggTQ9fW1Gw7ZbotNh6gO3aI3GO/s7MwBPMYaA3l7e+suLi6+MQcgGJEwLFukhDV/Ss7K8wC8vLx0JycnwTgbAQm4q6urucnJKRgAXIyRw7xPTms7Pz/PwIZYLZCE5+npaZZ7YjAHYNhrwhgbYJpZxr65uTGHbzRIAB4cHMwp5vHxcQYwNneKnMJcAB2Px7NHUOLHx0fTXNEgYZA8FEMFqwSnLrOMj2qLkZ8wWmVRIP3JmChGEKoWl/d7HIuDQ5wbDJIc6ff7s0mQdl90YhYf8g6hy1Yldnd3V6oBwSB7vZ5jb8MODw/nRCdkoXWfRXweHh6yYSgLX19fC4cMAgljbBfY2tpaBrZpkbGCR4wA9/X1lb3CtgLDeWYGyaCwKGVa2aDWhdZ9TjsdZ8NmntPNIPWA7IUSsnUXWvd92JQ9tMjxZpC7u7uzPbFLNa1yglZbqiwqJd9MIAnRjY2N2bsfHx8Ly0UfgGVtJpAWb1V5vM3fU/28vLxkU+RFmQkkG72UVMsgOL7DtF5QWupKjGdNIDlJyGmAejH2ZNEWm+QhdTSWl5d/IMXziI7sj8skOrI+LT7sk6xRm4lJ9ZBb1lZl2Rr/QArlWqKfnp4c/14mo9VJsYJtb29/a32amFwhdR3OXfjo3NMgq85ui2BYn3GjtxDdCcjbbBcBTM+pi5W8NowK12ImdcxXHVAXAVhvcXmaYcpJFs7+IwfUZRIfTUDREdAMUofEMoWsZV1mkLo+hFlO4W1fuVWFPgd3uhViRXW1GSQDaZXl7wy6SKMol0Ny0YHZfAoRIL7nFrmd+P3XssgKYhKwOgcQI9jsugJCbGBRDg1VGhEMkoEJVTmJk5eobVetSb9rSBlHyJbNHwwSNvEkQGVLCbl8qZPDpAvde7mWp/cLwKpIigLJQn21bTt0/RBlDdYuRTRIJvGTH6By9V2HMf9d7j387nhIW7QWyLzQ5f8IHxpedXtBRAvXEvqrEWuIBncGqlghV7iAETGS5wGJGrOHWQsHxqJpRpT4jWJEhhOHdSxZR20mZSBUj9YgPyJI2jmwK1fsLFIWCii5cgBA3rc+sEe48hOj4o2B1GD9q++qSCj7fRNX9I2D1NWRfLIi94hWsNx7yicxoaGZN0drIPVkhLL+7EyHqA5d+ewsJiTLHNgJSCuDbT1n6gy0NXlX4/42Jr99nj1J0zTum7GuKDLMkyQJt7KC43d+g27w0497JGtJ/vjwrHL7P5XNSaMYdLI4AAAAAElFTkSuQmCC" id="12"/></item></list></costumes><sounds><list struct="atomic" id="13"></list></sounds><blocks></blocks><variables><variable name="id"><l>0</l></variable></variables><scripts><script x="30" y="356.99999999999966"><block s="receiveGo"></block><block s="doSetVar"><l>wincalc</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="setEffect"><l><option>ghost</option></l><l>0</l></block><block s="doSwitchToCostume"><l>Empty</l></block><block s="show"></block><block s="gotoXY"><l>-50</l><l>50</l></block><block s="doWait"><l>.1</l><comment w="181.33333333333334" collapsed="true">Wait for old clones to be deleted.</comment></block><custom-block s="makeBoard"></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="gotoXY"><l>999</l><l>999</l></block><block s="doForever"><script><custom-block s="wincondition %n"><l>3</l></custom-block></script></block></script><script x="36.266666666666765" y="220.53333333333308"><block s="receiveGo"></block><block s="removeClone"><comment w="118" collapsed="false">This affects only clones, not the original sprite.</comment></block></script><script x="38.266666666666765" y="24.66666666666626"><block s="doWearNextCostume"></block></script><comment x="142.00000000000045" y="337.0000000000001" w="156.66666666666666" collapsed="false">Connect this to the script below it in For You To Do 4.</comment><script x="43.93333333333342" y="128.66666666666444"><block s="doIf"><l/><script></script></block></script><script x="599.9333343333333" y="168.83333433333382"><block s="doSayFor"><block var="LocalSpaceNumber"/><l>2</l></block></script><script x="96.93333533333384" y="74.00000199999837"><block s="doInsertInList"><l>2</l><l>1</l><block var="wincalc"/></block></script><script x="110.93333533333373" y="180.00000199999886"><block s="doInsertInList"><l>1</l><l>1</l><block var="wincalc"/></block></script><script x="329.9333333333341" y="29.99999999999997"><block s="receiveOnClone"></block><block s="goToLayer"><l><option>back</option></l></block><block s="doDeclareVariables"><list><l>LocalSpaceNumber</l></list></block><block s="doSetVar"><l>LocalSpaceNumber</l><block var="SpaceNumber"/></block><block s="doUntil"><block s="reportEquals"><l>1</l><l>0</l></block><script><custom-block s="if clicked %cs"><script><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="doReplaceInList"><block var="LocalSpaceNumber"/><block var="wincalc"/><l>1</l></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="LocalSpaceNumber"/><block var="wincalc"/><l>2</l></block></script></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportNot"><block var="X&apos;s turn?"/></block></block></script></block></script></custom-block></script></block></script></scripts></sprite><sprite name="Sprite" idx="2" x="-19.9658203125" y="-170" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="0,70.27800000000006,135.15,1" pen="tip" id="126"><costumes><list struct="atomic" id="127"></list></costumes><sounds><list struct="atomic" id="128"></list></sounds><blocks></blocks><variables></variables><scripts><script x="283" y="21"><block s="receiveGo"></block><block s="clear"></block><block s="setEffect"><l><option>ghost</option></l><l>100</l></block></script><script x="257" y="264"><block s="gotoXY"><l>-230</l><l>-170</l></block><block s="write"><l>O Wins!</l><l>50</l></block><block s="doStopThis"><l><option>all</option></l></block></script><script x="62" y="263"><block s="gotoXY"><l>-230</l><l>-170</l></block><block s="write"><l>X Wins!</l><l>50</l></block><block s="doStopThis"><l><option>all</option></l></block></script><script x="319" y="394.3333333333334"><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><block s="gotoXY"><l>-230</l><l>-170</l></block><block s="write"><l>Draw!</l><l>50</l></block><block s="doStopThis"><l><option>all</option></l></block></script><list></list></block><list></list></block></script></scripts></sprite><watcher var="X&apos;s turn?" style="normal" x="2.5000000000002274" y="2.5" color="243,118,29" hidden="true"/><watcher scope="Square" var="id" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher var="SpaceNumber" style="normal" x="10" y="31.00000200000001" color="243,118,29" hidden="true"/><watcher var="wincalc" style="normal" x="6.999999999999773" y="49.00000399999996" color="243,118,29" hidden="true"/></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.7777807777777"><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="doSetVar"><l>SpaceNumber</l><l>0</l></block><custom-block s="for %upvar = %n to %n %cs"><l>row</l><l>1</l><l>3</l><script><custom-block s="for %upvar = %n to %n %cs"><l>column</l><l>1</l><l>3</l><script><block s="doChangeVar"><l>SpaceNumber</l><l>1</l></block><block s="createClone"><l><option>myself</option></l></block><block s="changeYPosition"><l>-50</l></block></script></custom-block><block s="changeYPosition"><l>150</l></block><block s="changeXPosition"><l>50</l></block></script></custom-block><block s="hide"></block></script></block-definition><block-definition s="clone demonstration" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="createClone"><l><option>myself</option></l></block><block s="bubble"><l>You clicked me!</l></block><block s="doGlide"><l>1</l><block s="reportRandom"><l>-200</l><l>200</l></block><block s="reportRandom"><l>-150</l><l>150</l></block></block><block s="bubble"><l></l></block></script></block-definition><block-definition s="global variables %&apos;names&apos;" type="command" category="variables"><header></header><code></code><translations>pt:cria as variáveis globais _&#xD;</translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doForEach"><l>each item</l><block var="names"/><script><block s="doRun"><block s="reportJSFunction"><list><l>name</l></list><l>if ((typeof name) != "string") {&#xD;    throw new Error("name isn&apos;t a string: " + name);&#xD;}&#xD;if (name != "") this.addVariable(name, true);</l></block><list><block var="each item"/></list></block></script></block><block s="doRun"><block s="reportJSFunction"><list></list><l>var ide = this.parentThatIsA(IDE_Morph);&#xD;ide.flushBlocksCache(&apos;variables&apos;); // b/c of inheritance&#xD;ide.refreshPalette();</l></block><list></list></block></script></block-definition><block-definition s="sprite-local variables %&apos;names&apos;" type="command" category="variables"><header></header><code></code><translations>pt:cria as variáveis de objecto _&#xD;</translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doForEach"><l>each item</l><block var="names"/><script><block s="doRun"><block s="reportJSFunction"><list><l>name</l></list><l>if ((typeof name) != "string") {&#xD;    throw new Error("name isn&apos;t a string: " + name);&#xD;}&#xD;if (name != "") this.addVariable(name, false);</l></block><list><block var="each item"/></list></block></script></block><block s="doRun"><block s="reportJSFunction"><list></list><l>var ide = this.parentThatIsA(IDE_Morph);&#xD;ide.flushBlocksCache(&apos;variables&apos;); // b/c of inheritance&#xD;ide.refreshPalette();</l></block><list></list></block></script></block-definition><block-definition s="does variable %&apos;var&apos; exist?" type="predicate" category="variables"><header></header><code></code><translations>pt:a variável _ existe&#xD;</translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>varname</l></list><l>if ((typeof varname) != "string") {&#xD;    throw new Error("name isn&apos;t a string: " + varname);&#xD;}&#xD;return this.isVariableNameInUse(varname, true);</l></block><list><block var="var"/></list></block></block></script></block-definition><block-definition s="if clicked %&apos;command&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%cs"></input></inputs><script><block s="doIf"><block s="reportAnd"><block s="reportTouchingObject"><l><option>mouse-pointer</option></l></block><block s="reportMouseDown"></block></block><script><block s="doRun"><block var="command"/><list></list></block></script></block></script></block-definition><block-definition s="wincondition %&apos;delay&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doIf"><block s="reportOr"><block s="reportOr"><block s="reportOr"><block s="reportOr"><block s="reportAnd"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="wincalc"/></block><l>1</l></block><block s="reportEquals"><block s="reportListItem"><l>4</l><block var="wincalc"/></block><l>1</l></block></block><block s="reportEquals"><block s="reportListItem"><l>7</l><block var="wincalc"/></block><l>1</l></block></block><block s="reportAnd"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><l>2</l><block var="wincalc"/></block><l>1</l></block><block s="reportEquals"><block s="reportListItem"><l>5</l><block var="wincalc"/></block><l>1</l></block></block><block s="reportEquals"><block s="reportListItem"><l>8</l><block var="wincalc"/></block><l>1</l></block></block></block><block s="reportAnd"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><l>3</l><block var="wincalc"/></block><l>1</l></block><block s="reportEquals"><block s="reportListItem"><l>6</l><block var="wincalc"/></block><l>1</l></block></block><block s="reportEquals"><block s="reportListItem"><l>9</l><block var="wincalc"/></block><l>1</l></block></block></block><block s="reportOr"><block s="reportOr"><block s="reportAnd"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="wincalc"/></block><l>1</l></block><block s="reportEquals"><block s="reportListItem"><l>2</l><block var="wincalc"/></block><l>1</l></block></block><block s="reportEquals"><block s="reportListItem"><l>3</l><block var="wincalc"/></block><l>1</l></block></block><block s="reportAnd"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><l>4</l><block var="wincalc"/></block><l>1</l></block><block s="reportEquals"><block s="reportListItem"><l>5</l><block var="wincalc"/></block><l>1</l></block></block><block s="reportEquals"><block s="reportListItem"><l>6</l><block var="wincalc"/></block><l>1</l></block></block></block><block s="reportAnd"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><l>7</l><block var="wincalc"/></block><l>1</l></block><block s="reportEquals"><block s="reportListItem"><l>8</l><block var="wincalc"/></block><l>1</l></block></block><block s="reportEquals"><block s="reportListItem"><l>9</l><block var="wincalc"/></block><l>1</l></block></block></block></block><block s="reportOr"><block s="reportAnd"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="wincalc"/></block><l>1</l></block><block s="reportEquals"><block s="reportListItem"><l>5</l><block var="wincalc"/></block><l>1</l></block></block><block s="reportEquals"><block s="reportListItem"><l>9</l><block var="wincalc"/></block><l>1</l></block></block><block s="reportAnd"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><l>3</l><block var="wincalc"/></block><l>1</l></block><block s="reportEquals"><block s="reportListItem"><l>5</l><block var="wincalc"/></block><l>1</l></block></block><block s="reportEquals"><block s="reportListItem"><l>7</l><block var="wincalc"/></block><l>1</l></block></block></block></block><script><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><block s="gotoXY"><l>-230</l><l>-170</l></block><block s="write"><l>X wins!</l><l>50</l></block><block s="doWait"><block var="delay"/></block><block s="doStopThis"><l><option>all</option></l></block></script><list></list></block><list></list></block></script></block><block s="doIf"><block s="reportOr"><block s="reportOr"><block s="reportOr"><block s="reportOr"><block s="reportAnd"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="wincalc"/></block><l>2</l></block><block s="reportEquals"><block s="reportListItem"><l>4</l><block var="wincalc"/></block><l>2</l></block></block><block s="reportEquals"><block s="reportListItem"><l>7</l><block var="wincalc"/></block><l>2</l></block></block><block s="reportAnd"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><l>2</l><block var="wincalc"/></block><l>2</l></block><block s="reportEquals"><block s="reportListItem"><l>5</l><block var="wincalc"/></block><l>2</l></block></block><block s="reportEquals"><block s="reportListItem"><l>8</l><block var="wincalc"/></block><l>2</l></block></block></block><block s="reportAnd"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><l>3</l><block var="wincalc"/></block><l>2</l></block><block s="reportEquals"><block s="reportListItem"><l>6</l><block var="wincalc"/></block><l>2</l></block></block><block s="reportEquals"><block s="reportListItem"><l>9</l><block var="wincalc"/></block><l>2</l></block></block></block><block s="reportOr"><block s="reportOr"><block s="reportAnd"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="wincalc"/></block><l>2</l></block><block s="reportEquals"><block s="reportListItem"><l>2</l><block var="wincalc"/></block><l>2</l></block></block><block s="reportEquals"><block s="reportListItem"><l>3</l><block var="wincalc"/></block><l>2</l></block></block><block s="reportAnd"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><l>4</l><block var="wincalc"/></block><l>2</l></block><block s="reportEquals"><block s="reportListItem"><l>5</l><block var="wincalc"/></block><l>2</l></block></block><block s="reportEquals"><block s="reportListItem"><l>6</l><block var="wincalc"/></block><l>2</l></block></block></block><block s="reportAnd"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><l>7</l><block var="wincalc"/></block><l>2</l></block><block s="reportEquals"><block s="reportListItem"><l>8</l><block var="wincalc"/></block><l>2</l></block></block><block s="reportEquals"><block s="reportListItem"><l>9</l><block var="wincalc"/></block><l>2</l></block></block></block></block><block s="reportOr"><block s="reportAnd"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="wincalc"/></block><l>2</l></block><block s="reportEquals"><block s="reportListItem"><l>5</l><block var="wincalc"/></block><l>2</l></block></block><block s="reportEquals"><block s="reportListItem"><l>9</l><block var="wincalc"/></block><l>2</l></block></block><block s="reportAnd"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><l>3</l><block var="wincalc"/></block><l>2</l></block><block s="reportEquals"><block s="reportListItem"><l>5</l><block var="wincalc"/></block><l>2</l></block></block><block s="reportEquals"><block s="reportListItem"><l>7</l><block var="wincalc"/></block><l>2</l></block></block></block></block><script><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><block s="gotoXY"><l>-230</l><l>-170</l></block><block s="write"><l>O wins!</l><l>50</l></block><block s="doWait"><block var="delay"/></block><block s="doStopThis"><l><option>all</option></l></block></script><list></list></block><list></list></block></script></block><block s="doIf"><block s="reportAnd"><block s="reportNot"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="wincalc"/></block><l></l></block></block><block s="reportAnd"><block s="reportNot"><block s="reportEquals"><block s="reportListItem"><l>2</l><block var="wincalc"/></block><l></l></block></block><block s="reportAnd"><block s="reportNot"><block s="reportEquals"><block s="reportListItem"><l>3</l><block var="wincalc"/></block><l></l></block></block><block s="reportAnd"><block s="reportNot"><block s="reportEquals"><block s="reportListItem"><l>4</l><block var="wincalc"/></block><l></l></block></block><block s="reportAnd"><block s="reportNot"><block s="reportEquals"><block s="reportListItem"><l>5</l><block var="wincalc"/></block><l></l></block></block><block s="reportAnd"><block s="reportNot"><block s="reportEquals"><block s="reportListItem"><l>6</l><block var="wincalc"/></block><l></l></block></block><block s="reportAnd"><block s="reportNot"><block s="reportEquals"><block s="reportListItem"><l>7</l><block var="wincalc"/></block><l></l></block></block><block s="reportAnd"><block s="reportNot"><block s="reportEquals"><block s="reportListItem"><l>8</l><block var="wincalc"/></block><l></l></block></block><block s="reportNot"><block s="reportEquals"><block s="reportListItem"><l>9</l><block var="wincalc"/></block><l></l></block></block></block></block></block></block></block></block></block></block><script><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><block s="gotoXY"><l>-230</l><l>-170</l></block><block s="write"><l>Draw!</l><l>50</l></block><block s="doWait"><block var="delay"/></block><block s="doStopThis"><l><option>all</option></l></block></script><list></list></block><list></list></block></script></block></script></block-definition></blocks><variables><variable name="X&apos;s turn?"><bool>false</bool></variable><variable name="SpaceNumber"><l>9</l></variable><variable name="wincalc"><list struct="atomic" id="1475">1,2,1,2,1,2,1,1,2</list></variable></variables></project><media name="L10 Tic-Tac-Toe" app="Snap! 5.1, http://snap.berkeley.edu" version="1"></media></snapdata>