<snapdata remixID="14558500"><project name="APCSP_Robot_Maze_Exercises" app="Snap! 11.0.4, https://snap.berkeley.edu" version="2"><notes>This is a Snap! version of the AP CSP Reference Sheet (July 2015 eduction).&#xD;&#xD;Enjoy using it to prepare for the CSP exam!&#xD;&#xD;-The BJC (Beauty and Joy of Computing) team</notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAEiUlEQVR4AeydPU7kQBBGuzYkh4SYGImUwyHuRoxEzAGQICedXSONmGWwy+Oer12uftK2mO1218+rJ0RgwZ9Syo6VmsG/8cb9NwgYtzoqS08AAdOPOHaDCBh7PumrQ8D0I47dIALGnk/66voVMP1ot9EgAm5jTmmrdAXc7XZFuTyyytxD7Oj5vfq2fu4KuPUGqT82AQSMPZ/01SFg+hHHbhABY89HUV2omAgYahz9FYOA/c08VMcIGGoc/RVTLaCZFbPxpUZqNp7bzNTpJ3s30+eXNyhOUC2guD7CJyeAgMkHHL29pgJGh0F97QkgYHvmZDwggIAHMPjYngACtmdOxgMCCHgAg4/tCSBge+ZkPCCAgAcwdB+JPEYAAcfIsN+EAAI2wUySMQIIOEaG/SYEELAJZpKMEUDAMTLsNyGAgE0w95vE6xwBPUKcSwkgoBQvwT0CCOgR4lxKAAGleAnuEUBAjxDnUgIIKMVLcI9AXgG9zjkPQQABQ4yh3yJWF3D4HX1TSz2aqdzDWfb86v68+KsL6BXIeW4CCJh7vuG7Q8DwI8pdIALmm++mOkLATY0rX7EImG+mm+oIATc1rnzFygU0M/d36Jktf8Ybidny2Gb+3dr83v3s53IBswOkvzoCCFjHj9uVBM4qYGUtXO+QAAJ2OPRILSNgpGl0WAsCdjj0SC0jYKRpdFhLtYDDO3Os8b+p3KFTJ7VcLeBJ2dI+TGNLCSDgUnLcOwsBBDwLRoIsJYCAS8lx7ywEEPAsGAmylAACLiXHvbMQQMCzYOw3SG3nroBm/jtxZv0+UzuA3u+7AvYOiP61BBBQy5foDgEEdABxrCWAgFq+RHcIIKADiGMtge0KqOVC9EYEELARaNL8TsAVsPZdv9/Tfu/Wxlff/66UTwoCroCKpMSEwJ4AAu5J8HUVAgi4CnaS7gkg4J7Edr6mqhQBU41ze80g4PZmlqpiBEw1zu014wpoNv2un7pls+n8ZnXn6vqJP03AFXD6OqcQqCOAgHX8uF1J4CQBK3NxHQJHBBDwCAkbLQkgYEva5DoigIBHSNhoSQABW9Im1xGB8ALWvu931DEboQiEFzAGLapQEUBAFVniziKAgLMw8ZCKAAKqyBJ3FgEEnIWJh1QEEFBFlrizCCDgLEz9PqTufHUBzXifTz3kyPFXFzAyHGrTE0BAPWMyTBBAwAk4HOkJIKCeMRkmCCDgBByO9ATiCqjvnQwBCCBggCH0XIJcwNr3+bz76uGtnf/h4aFMLXX/6vhyAdUNEH/bBBAw+Pw+Pj7K09NTeX19DV7psvIQcBm3ZrcuLy/L9fV1+fz8LC8vL1/r+fm5vL+/N6tBmQgBlXSXxT66Nfwc+nPTzH5ubfL/CBh8bMN3ure3t3JxcVFub2+/1t3dXRm+MwYvfVZ5CDgL03oPXV1dlfv7+3Jzc7NeEcLMCCiES2ifQLWAZlbM4i4PgZm29tr8j4+PZWp58aOfVwsYvUHqi00AAWPPJ311/wmYvlsaDEcAAcONpK+CELCveYfrFgHDjaSvghCwr3mH6/YvAAAA//94BtfkAAAABklEQVQDAPyn4abeNU3kAAAAAElFTkSuQmCC</thumbnail><scenes select="1"><scene name="APCSP_Robot_Maze_Exercises"><notes>This is a Snap! version of the AP CSP Reference Sheet (July 2015 eduction).&#xD;&#xD;Enjoy using it to prepare for the CSP exam!&#xD;&#xD;-The BJC (Beauty and Joy of Computing) team</notes><palette><category name="AP Robot" color="0,161,120,1"/></palette><hidden></hidden><headers></headers><code></code><blocks><block-definition s="%&apos;variable&apos; $arrowLeft %&apos;value&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%s"></input></inputs><script><block s="doSetVar"><l>variable</l><block var="value"/></block></script></block-definition><block-definition s="RANDOM %&apos;a&apos; , %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportRandom"><block var="a"/><block var="b"/></block></block></script></block-definition><block-definition s="%&apos;A&apos; ≠ %&apos;B&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportNot"><block s="reportVariadicEquals"><list><l></l><l></l></list></block></block></block></script></block-definition><block-definition s="%&apos;A&apos; ≥ %&apos;B&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="A"/><block var="B"/></list></block><block s="reportVariadicEquals"><list><block var="A"/><block var="B"/></list></block></list></block></block></script></block-definition><block-definition s="%&apos;A&apos; ≤ %&apos;B&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="A"/><block var="B"/></list></block><block s="reportVariadicEquals"><list><block var="A"/><block var="B"/></list></block></list></block></block></script></block-definition><block-definition s="INPUT" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doAsk"><l></l></block><block s="doReport"><block s="getLastAnswer"></block></block></script></block-definition><block-definition s="REPEAT %&apos;N&apos; TIMES %&apos;BLOCK&apos;" type="command" category="AP Robot"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%cs"></input></inputs><script><block s="doRepeat"><block var="N"/><script><block s="doRun"><block var="BLOCK"/><list></list></block></script></block></script></block-definition><block-definition s="%&apos;data&apos; %&apos;index&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportListItem"><block var="index"/><block var="data"/></block></block></script></block-definition><block-definition s="%&apos;datain&apos; %&apos;indexin&apos; $arrowLeft %&apos;dataout&apos; %&apos;indexout&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n"></input><input type="%l"></input><input type="%n"></input></inputs><script><block s="doReplaceInList"><block var="indexin"/><block var="datain"/><custom-block s="%l %n"><block var="dataout"/><block var="indexout"/></custom-block></block></script></block-definition><block-definition s="%&apos;data&apos; $arrowLeft %&apos;arg&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%mult%s"></input></inputs><script><block s="doSetVar"><l>data</l><block var="arg"/></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><list></list></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><list></list></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="reportVariadicEquals"><list><block var="data"/><block s="reportNewList"><list></list></block></list></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><list></list></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><list></list></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="reportVariadicGreaterThan"><list><block var="start"/><block var="end"/></list></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportVariadicLessThan"><list><block var="i"/><block var="end"/></list></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="reportVariadicGreaterThan"><list><block var="i"/><block var="end"/></list></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><list></list></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="words"/></block><l> </l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></list></block></block></script></block></script></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></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><list></list></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="FOR EACH %&apos;item&apos; IN %&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="INSERT %&apos;data&apos; %&apos;i&apos; %&apos;value&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n"></input><input type="%s"></input></inputs><script><block s="doInsertInList"><block var="value"/><block var="i"/><block var="data"/></block></script></block-definition><block-definition s="APPEND %&apos;data&apos; %&apos;value&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s"></input></inputs><script><block s="doAddToList"><block var="value"/><block var="data"/></block></script></block-definition><block-definition s="REMOVE %&apos;data&apos; %&apos;i&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n"></input></inputs><script><block s="doDeleteFromList"><block var="i"/><block var="data"/></block></script></block-definition><block-definition s="LENGTH %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></script></block-definition><block-definition s="label %&apos;text&apos; of size %&apos;size&apos;" type="command" category="pen"><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;    ide = this.parentThatIsA(IDE_Morph),&#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="DISPLAY %&apos;expression&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIfElse"><custom-block s="%s ≤ %s"><block s="reportVariadicSum"><list><block var="CHARACTERS"/><block s="reportTextAttribute"><l><option>length</option></l><block var="expression"/></block></list></block><l>20</l></custom-block><script><custom-block s="label %txt of size %n"><block var="expression"/><l>36</l></custom-block><block s="doChangeVar"><l>CHARACTERS</l><block s="reportTextAttribute"><l><option>length</option></l><block var="expression"/></block></block></script><script><block s="doDeclareVariables"><list><l>leftthisrow</l></list></block><block s="doSetVar"><l>leftthisrow</l><block s="reportDifference"><l>20</l><block var="CHARACTERS"/></block></block><custom-block s="label %txt of size %n"><block s="reportJoinWords"><list><custom-block s="JS Substring %s from %n through %n"><block var="expression"/><l>1</l><block var="leftthisrow"/></custom-block><l>\</l></list></block><l>36</l></custom-block><custom-block s="newline"></custom-block><custom-block s="DISPLAY %s"><custom-block s="JS Substring %s from %n through %n"><block var="expression"/><block s="reportVariadicSum"><list><block var="leftthisrow"/><l>1</l></list></block><block s="reportTextAttribute"><l><option>length</option></l><block var="expression"/></block></custom-block></custom-block></script></block></script></block-definition><block-definition s="reset display" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSwitchToCostume"><l>Cursor</l></block><block s="doSetVar"><l>CHARACTERS</l><l>0</l></block><block s="clear"></block><block s="gotoXY"><l>-220</l><l>190</l></block><block s="setPenColorDimension"><l><option>brightness</option></l><l>0</l></block><block s="setHeading"><l>90</l></block><block s="show"></block></script></block-definition><block-definition s="newline" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="gotoXY"><l>-220</l><block s="reportDifference"><block s="yPosition"></block><l>36</l></block></block><block s="doSetVar"><l>CHARACTERS</l><l>0</l></block></script><scripts><script x="151.5" y="17.099999999999994"><custom-block s="tell %s to %cs"><l>Displayer</l><script><block s="gotoXY"><l>-220</l><block s="reportDifference"><block s="yPosition"></block><l>36</l></block></block></script></custom-block><block s="doSetVar"><l>CHARACTERS</l><l>0</l></block></script></scripts></block-definition><block-definition s="$stage draw grid" type="command" category="pen"><comment x="0" y="0" w="128.5" collapsed="false">Draw a grid on the stage. This is an extra block, NOT on the reference sheet.</comment><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="tell %s to %cs"><custom-block s="clone"></custom-block><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>SLOT</l><l>X</l><l>Y</l></list></block><block s="doSetVar"><l>SLOT</l><l>32</l></block><block s="doSetVar"><l>X</l><l>-240</l></block><block s="doSetVar"><l>Y</l><block s="reportVariadicSum"><list><l>-240</l><block var="SLOT"/></list></block></block><block s="setHeading"><l>90</l></block><block s="doRepeat"><l>14</l><script><block s="gotoXY"><block var="X"/><block var="Y"/></block><block s="down"></block><block s="forward"><l>480</l></block><block s="up"></block><block s="doChangeVar"><l>Y</l><block var="SLOT"/></block></script></block><block s="setHeading"><l>0</l></block><block s="doSetVar"><l>X</l><block s="reportVariadicSum"><list><l>-240</l><block var="SLOT"/></list></block></block><block s="doSetVar"><l>Y</l><l>-240</l></block><block s="doRepeat"><l>14</l><script><block s="gotoXY"><block var="X"/><block var="Y"/></block><block s="down"></block><block s="forward"><l>480</l></block><block s="up"></block><block s="doChangeVar"><l>X</l><block var="SLOT"/></block></script></block></script></block><block s="removeClone"></block></script></custom-block></script></block-definition><block-definition s="MOVE_FORWARD" type="command" category="AP Robot"><header></header><code></code><translations></translations><inputs></inputs><script><block s="forward"><l>32</l></block></script></block-definition><block-definition s="$robot reset" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="tell %s to %cs"><l>Displayer</l><script><block s="hide"></block></script></custom-block><block s="gotoXY"><l>0</l><l>0</l></block><block s="setHeading"><l>0</l></block><block s="doSwitchToCostume"><l>Arrow</l></block><block s="goToLayer"><l><option>front</option></l></block><block s="show"></block></script></block-definition><block-definition s="ROTATE_RIGHT" type="command" category="AP Robot"><header></header><code></code><translations></translations><inputs></inputs><script><block s="turn"><l>90</l></block></script></block-definition><block-definition s="ROTATE_LEFT" type="command" category="AP Robot"><header></header><code></code><translations></translations><inputs></inputs><script><block s="turnLeft"><l>90</l></block></script></block-definition><block-definition s="CAN_MOVE %&apos;direction&apos;" type="predicate" category="AP Robot"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">forward<options>left&#xD;right&#xD;forward&#xD;backward</options></input></inputs><script><block s="doDeclareVariables"><list><l>can move?</l></list></block><custom-block s="tell %s to %cs"><custom-block s="clone"></custom-block><script><block s="doWarp"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="direction"/><l>right</l></list></block><script><custom-block s="ROTATE_RIGHT"></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="direction"/><l>left</l></list></block><script><custom-block s="ROTATE_LEFT"></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="direction"/><l>backward</l></list></block><script><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="ROTATE_LEFT"></custom-block></script><list></list></block><custom-block s="MOVE_FORWARD"></custom-block><block s="setScale"><l>10</l></block><block s="doSetVar"><l>can move?</l><block s="reportNot"><block s="reportTouchingColor"><color>0,0,0,1</color></block></block></block></script></block><block s="removeClone"></block></script></custom-block><block s="doReport"><block var="can move?"/></block></script></block-definition><block-definition s="toggle cell state" type="command" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>X</l><l>Y</l><l>state</l></list></block><block s="doWarp"><script><custom-block s="tell %s to %cs"><custom-block s="clone"></custom-block><script><block s="doSetVar"><l>X</l><block s="xPosition"></block></block><block s="doSetVar"><l>Y</l><block s="yPosition"></block></block><block s="gotoXY"><block s="reportVariadicProduct"><list><l>32</l><block s="reportRound"><block s="reportQuotient"><block s="reportMouseX"></block><l>32</l></block></block></list></block><block s="reportVariadicProduct"><list><l>32</l><block s="reportRound"><block s="reportQuotient"><block s="reportMouseY"></block><l>32</l></block></block></list></block></block><block s="doSetVar"><l>state</l><custom-block s="Cell State"></custom-block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="state"/><l>White</l></list></block><script><block s="doSwitchToCostume"><l>Black</l></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="state"/><l>Black</l></list></block><script><block s="doSwitchToCostume"><l>Grey</l></block></script><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="state"/><l>Grey</l></list></block><script><block s="doSwitchToCostume"><l>White</l></block></script><list></list></block></script></block></script></block><block s="doStamp"></block><block s="gotoXY"><block var="X"/><block var="Y"/></block><block s="removeClone"></block></script></custom-block></script></block></script></block-definition><block-definition s="Cell State" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>state</l><l>size</l></list></block><block s="doSetVar"><l>size</l><block s="getScale"></block></block><block s="setScale"><l>50</l></block><block s="doIfElse"><block s="reportTouchingColor"><color>127,127,127,1</color></block><script><block s="doSetVar"><l>state</l><l>Grey</l></block></script><script><block s="doIfElse"><block s="reportTouchingColor"><color>0,0,0,1</color></block><script><block s="doSetVar"><l>state</l><l>Black</l></block></script><script><block s="doSetVar"><l>state</l><l>White</l></block></script></block></script></block><block s="setScale"><block var="size"/></block></script></block><block s="doReport"><block var="state"/></block></script><scripts><script x="240.5" y="13.500000000000007"><block s="doDeclareVariables"><list><l>state</l><l>size</l></list></block><block s="doWarp"><script><block s="hide"></block><custom-block s="tell %s to %cs"><custom-block s="clone"></custom-block><script><block s="doSetVar"><l>size</l><block s="getScale"></block></block><block s="setScale"><l>50</l></block><block s="doIfElse"><block s="reportTouchingColor"><color>127,127,127,1</color></block><script><block s="doSetVar"><l>state</l><l>Grey</l></block></script><script><block s="doIfElse"><block s="reportTouchingColor"><color>0,0,0,1</color></block><script><block s="doSetVar"><l>state</l><l>Black</l></block></script><script><block s="doSetVar"><l>state</l><l>White</l></block></script></block></script></block><block s="removeClone"></block></script></custom-block><block s="show"></block></script></block><block s="doReport"><block var="state"/></block></script></scripts></block-definition><block-definition s="all but first letter of %&apos;string&apos;" type="reporter" category="operators"><comment x="0" y="0" w="199" collapsed="false">Takes a text string as input, and reports a new text string containing all but the first character of the input.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="string"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportVariadicSum"><list><l>0</l><l>0</l></list></block></block></block></script><list></list></block><block s="doSetVar"><l>result</l><l></l></block><block s="doSetVar"><l>i</l><l>2</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportTextAttribute"><l><option>length</option></l><block var="string"/></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportLetter"><block var="i"/><block var="string"/></block></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="all but first word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="223.000001" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing all but the first word, with one space between words and no spaces at the beginning or end. (Note: consider using SENTENCE-&gt;LIST and processing the resulting list instead of doing recursion on sentences in text string form.  List operations are faster.)</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l><l>bf</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>bf</l><l></l></block><block s="doSetVar"><l>index</l><l>1</l></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="sentence"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script><list></list></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="index"/><block s="reportTextAttribute"><l><option>length</option></l><block var="sentence"/></block></list></block><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></list></block></block></list></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script><list></list></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="index"/><block s="reportTextAttribute"><l><option>length</option></l><block var="sentence"/></block></list></block><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></list></block></list></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="index"/><block s="reportTextAttribute"><l><option>length</option></l><block var="sentence"/></block></list></block><script><block s="doReport"><l></l></block></script><list></list></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="index"/><block s="reportTextAttribute"><l><option>length</option></l><block var="sentence"/></block></list></block><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></list></block></block></list></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></list></block><script><block s="doReport"><l></l></block></script><list></list></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="index"/><block s="reportTextAttribute"><l><option>length</option></l><block var="sentence"/></block></list></block><script><block s="doSetVar"><l>bf</l><block s="reportJoinWords"><list><block var="bf"/><block s="reportLetter"><block var="index"/><block var="sentence"/></block></list></block></block><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doReport"><block var="bf"/></block></script></block></script></block-definition><block-definition s="all but last letter of %&apos;string&apos;" type="reporter" category="operators"><comment x="0" y="0" w="218" collapsed="false">Takes a text string as input, and reports a new text string containing all but the last letter of the input.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="string"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportVariadicSum"><list><l>0</l><l>0</l></list></block></block></block></script><list></list></block><block s="doSetVar"><l>result</l><l></l></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicEquals"><list><block var="i"/><block s="reportTextAttribute"><l><option>length</option></l><block var="string"/></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportLetter"><block var="i"/><block var="string"/></block></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="all but last word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="212" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing all but the last word, with one space between words and no spaces at the beginning or end.  (Note: consider using SENTENCE-&gt;LIST and processing the resulting list instead of doing recursion on sentences in text string form.  List operations are faster.)</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l><l>bl</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>bl</l><l></l></block><block s="doSetVar"><l>index</l><block s="reportTextAttribute"><l><option>length</option></l><block var="sentence"/></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="sentence"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script><list></list></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="index"/><l>1</l></list></block><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></list></block></block></list></block><script><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script><list></list></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="index"/><l>1</l></list></block><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></list></block></list></block><script><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="index"/><l>1</l></list></block><script><block s="doReport"><l></l></block></script><list></list></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="index"/><l>1</l></list></block><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></list></block></block></list></block><script><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></list></block><script><block s="doReport"><l></l></block></script><list></list></block><block s="doUntil"><block s="reportVariadicLessThan"><list><block var="index"/><l>1</l></list></block><script><block s="doSetVar"><l>bl</l><block s="reportJoinWords"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><block var="bl"/></list></block></block><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doReport"><block var="bl"/></block></script></block></script></block-definition><block-definition s="first word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="236" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing only the first word, with no spaces before or after it.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l><l>first</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>first</l><l></l></block><block s="doSetVar"><l>index</l><l>1</l></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="sentence"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script><list></list></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="index"/><block s="reportTextAttribute"><l><option>length</option></l><block var="sentence"/></block></list></block><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></list></block></block></list></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script><list></list></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="index"/><block s="reportTextAttribute"><l><option>length</option></l><block var="sentence"/></block></list></block><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></list></block></list></block><script><block s="doSetVar"><l>first</l><block s="reportJoinWords"><list><block var="first"/><block s="reportLetter"><block var="index"/><block var="sentence"/></block></list></block></block><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></list></block></block><script><block s="doSetVar"><l>first</l><block s="reportJoinWords"><list><block var="first"/><block s="reportLetter"><block var="index"/><block var="sentence"/></block></list></block></block></script><list></list></block><block s="doReport"><block var="first"/></block></script></block></script></block-definition><block-definition s="last letter of %&apos;word&apos;" type="reporter" category="operators"><comment x="0" y="0" w="260" collapsed="false">Takes a text string as input, and reports the last character in the string.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportLetter"><block s="reportTextAttribute"><l><option>length</option></l><block var="word"/></block><block var="word"/></block></block></script></block-definition><block-definition s="last word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="262" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing only the last word of the input, with no spaces before or after it.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l><l>last</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>last</l><l></l></block><block s="doSetVar"><l>index</l><block s="reportTextAttribute"><l><option>length</option></l><block var="sentence"/></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="sentence"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script><list></list></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="index"/><l>1</l></list></block><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></list></block></block></list></block><script><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script><list></list></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="index"/><l>1</l></list></block><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></list></block></list></block><script><block s="doSetVar"><l>last</l><block s="reportJoinWords"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><block var="last"/></list></block></block><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></list></block></block><script><block s="doSetVar"><l>last</l><block s="reportJoinWords"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><block var="last"/></list></block></block></script><list></list></block><block s="doReport"><block var="last"/></block></script></block></script></block-definition><block-definition s="empty word? %&apos;word&apos;" type="predicate" category="operators"><comment x="0" y="0" w="208" collapsed="false">Takes a text string as input, and reports TRUE if the string has no characters in it of any kind, otherwise false.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="word"/></block><l>0</l></list></block></block></script></block-definition><block-definition s="empty sentence? %&apos;sentence&apos;" type="predicate" category="operators"><comment x="0" y="0" w="221" collapsed="false">Takes a text string as input, and reports TRUE if the input contains no characters other than spaces (therefore, no words when the string is considered as a sentence), otherwise FALSE.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l></list></block><block s="doSetVar"><l>index</l><l>1</l></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="sentence"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="index"/><block s="reportTextAttribute"><l><option>length</option></l><block var="sentence"/></block></list></block><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></list></block></block></list></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></list></block></block></script></block-definition><block-definition s="Load Maze %&apos;maze&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>X</l><l>Y</l><l>slot</l><l>row</l><l>cursor</l></list></block><block s="doSwitchToCostume"><l>Arrow</l></block><custom-block s="tell %s to %cs"><custom-block s="clone"></custom-block><script><block s="doWarp"><script><block s="clear"></block><custom-block s="$stage draw grid"></custom-block><block s="setHeading"><l>90</l></block><block s="doSetVar"><l>row</l><l>7</l></block><custom-block s="for each %upvar of %l %cs"><l>line</l><block s="reportTextSplit"><block var="maze"/><l><option>line</option></l></block><script><block s="gotoXY"><block s="reportVariadicProduct"><list><l>32</l><l>-7</l></list></block><block s="reportVariadicProduct"><list><l>32</l><block var="row"/></list></block></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><l>15</l><script><block s="doSetVar"><l>slot</l><block s="reportLetter"><block var="i"/><block var="line"/></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="slot"/><l>*</l></list></block><script><block s="doSwitchToCostume"><l>Black</l></block><block s="doStamp"></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="slot"/><l>G</l></list></block><script><block s="doSwitchToCostume"><l>Grey</l></block><block s="doStamp"></block></script><script><block s="doIf"><block s="reportListContainsItem"><block s="reportNewList"><list><l>^</l><l>v</l><l>&lt;</l><l>&gt;</l></list></block><block var="slot"/></block><script><block s="doSetVar"><l>X</l><block s="xPosition"></block></block><block s="doSetVar"><l>Y</l><block s="yPosition"></block></block><block s="doSetVar"><l>cursor</l><block var="slot"/></block></script><list></list></block></script></block></script></block><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block><block s="doChangeVar"><l>row</l><l>-1</l></block></script></custom-block></script></block><block s="removeClone"></block></script></custom-block><block s="gotoXY"><block var="X"/><block var="Y"/></block><block s="setHeading"><custom-block s="if %b then %anyUE else %anyUE"><block s="reportVariadicEquals"><list><block var="cursor"/><l>^</l></list></block><l>0</l><custom-block s="if %b then %anyUE else %anyUE"><block s="reportVariadicEquals"><list><block var="cursor"/><l>&gt;</l></list></block><l>90</l><custom-block s="if %b then %anyUE else %anyUE"><block s="reportVariadicEquals"><list><block var="cursor"/><l>V</l></list></block><l>180</l><l>-90</l></custom-block></custom-block></custom-block></block><block s="show"></block></script></block-definition><block-definition s="$robot at goal?" type="predicate" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><block s="hide"></block><block s="doDeclareVariables"><list><l>at goal</l></list></block><custom-block s="tell %s to %cs"><custom-block s="clone"></custom-block><script><block s="setScale"><l>10</l></block><block s="doSetVar"><l>at goal</l><block s="reportTouchingColor"><color>127,127,127,1</color></block></block><block s="removeClone"></block></script></custom-block><block s="show"></block></script></block><block s="doReport"><block var="at goal"/></block></script></block-definition><block-definition s="$robot follow left wall until goal" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doUntil"><custom-block s="$robot at goal?"></custom-block><script><block s="doIfElse"><custom-block s="CAN_MOVE %s"><l>left</l></custom-block><script><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="MOVE_FORWARD"><comment w="154" collapsed="false">With maze searching using the &quot;follow a wall&quot; approach, it&apos;s critical you rotate AND move when one of the sides is free. </comment></custom-block></script><script><block s="doIfElse"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script><script><block s="doIfElse"><custom-block s="CAN_MOVE %s"><l>right</l></custom-block><script><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="MOVE_FORWARD"><comment w="40" collapsed="false">Ditto</comment></custom-block></script><script><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="ROTATE_LEFT"></custom-block></script></block></script></block></script></block></script></block></script></block-definition><block-definition s="JS Substring %&apos;sentence&apos; from %&apos;start&apos; through %&apos;end&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>string</l><l>start</l><l>end</l></list><l>return string.substring(start-1,end);</l></block><list><block var="sentence"/><block var="start"/><block var="end"/></list></block></block></script></block-definition><block-definition s="Get Maze" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>original X</l><l>original Y</l><l>mazestring</l><l>state</l></list></block><block s="doSetVar"><l>mazestring</l><l></l></block><block s="doSetVar"><l>original X</l><block s="reportRound"><block s="reportQuotient"><block s="xPosition"></block><l>32</l></block></block></block><block s="doSetVar"><l>original Y</l><block s="reportRound"><block s="reportQuotient"><block s="yPosition"></block><l>32</l></block></block></block><custom-block s="tell %s to %cs"><custom-block s="clone"></custom-block><script><block s="doWarp"><script><block s="setHeading"><l>90</l></block><custom-block s="for %upvar = %n to %n %cs"><l>Y</l><l>7</l><l>-7</l><script><custom-block s="for %upvar = %n to %n %cs"><l>X</l><l>-7</l><l>7</l><script><block s="gotoXY"><block s="reportVariadicProduct"><list><l>32</l><block var="X"/></list></block><block s="reportVariadicProduct"><list><l>32</l><block var="Y"/></list></block></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block var="X"/><block var="original X"/></list></block><block s="reportVariadicEquals"><list><block var="Y"/><block var="original Y"/></list></block></list></block><script><block s="doSetVar"><l>state</l><block s="reportModulus"><block s="reportAttributeOf"><l><option>direction</option></l><l>Robot</l></block><l>360</l></block></block><block s="doSetVar"><l>mazestring</l><block s="reportJoinWords"><list><block var="mazestring"/><custom-block s="if %b then %anyUE else %anyUE"><block s="reportVariadicEquals"><list><block var="state"/><l>90</l></list></block><l>&gt;</l><custom-block s="if %b then %anyUE else %anyUE"><block s="reportVariadicEquals"><list><block var="state"/><l>0</l></list></block><l>^</l><custom-block s="if %b then %anyUE else %anyUE"><block s="reportVariadicEquals"><list><block var="state"/><l>180</l></list></block><l>v</l><l>&lt;</l></custom-block></custom-block></custom-block></list></block></block></script><script><block s="doSetVar"><l>state</l><custom-block s="Cell State"></custom-block></block><block s="doSetVar"><l>mazestring</l><block s="reportJoinWords"><list><block var="mazestring"/><custom-block s="if %b then %anyUE else %anyUE"><block s="reportVariadicEquals"><list><block var="state"/><l>Black</l></list></block><l>*</l><custom-block s="if %b then %anyUE else %anyUE"><block s="reportVariadicEquals"><list><block var="state"/><l>Grey</l></list></block><l>G</l><l> </l></custom-block></custom-block></list></block></block></script></block></script></custom-block><block s="doSetVar"><l>mazestring</l><block s="reportJoinWords"><list><block var="mazestring"/><block s="reportUnicodeAsLetter"><l>10</l></block></list></block></block></script></custom-block></script></block><block s="removeClone"></block></script></custom-block><block s="doReport"><block var="mazestring"/></block></script></block-definition><block-definition s="%&apos;x&apos; MOD %&apos;y&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportModulus"><block var="x"/><block var="y"/></block></block></script></block-definition><block-definition s="IF %&apos;test&apos; %&apos;then&apos; ELSE %&apos;else&apos;" type="command" category="AP Robot"><header></header><code></code><translations></translations><inputs><input type="%b"></input><input type="%cs"></input><input type="%cs"></input></inputs><script><block s="doIfElse"><block var="test"/><script><block s="doRun"><block var="then"/><list></list></block></script><script><block s="doRun"><block var="else"/><list></list></block></script></block></script></block-definition><block-definition s="%&apos;x&apos; * %&apos;y&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportVariadicProduct"><list><block var="x"/><block var="y"/></list></block></block></script></block-definition><block-definition s="NOT %&apos;boolean&apos;" type="predicate" category="AP Robot"><header></header><code></code><translations></translations><inputs><input type="%b"></input></inputs><script><block s="doReport"><block s="reportNot"><block var="boolean"/></block></block></script></block-definition><block-definition s="%&apos;x&apos; AND %&apos;y&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%b"></input><input type="%b"></input></inputs><script><block s="doReport"><block s="reportVariadicAnd"><list><block var="x"/><block var="y"/></list></block></block></script></block-definition><block-definition s="%&apos;x&apos; OR %&apos;y&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%b"></input><input type="%b"></input></inputs><script><block s="doReport"><block s="reportVariadicOr"><list><block var="x"/><block var="y"/></list></block></block></script></block-definition><block-definition s="IF %&apos;test&apos; %&apos;then&apos;" type="command" category="AP Robot"><header></header><code></code><translations></translations><inputs><input type="%b"></input><input type="%cs"></input></inputs><script><block s="doIf"><block var="test"/><script><block s="doRun"><block var="then"/><list></list></block></script><list></list></block></script></block-definition><block-definition s="REPEAT UNTIL %&apos;test&apos; %&apos;code&apos;" type="command" category="AP Robot"><header></header><code></code><translations></translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doUntil"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doRun"><block var="code"/><list></list></block></script></block></script></block-definition><block-definition s="clone" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="createClone"><l><option>myself</option></l></block><block s="doReport"><block s="reportListItem"><l><option>last</option></l><block s="reportGet"><l><option>clones</option></l></block></block></block></script></block-definition><block-definition s="%&apos;var&apos; $arrowLeftOutline %&apos;value&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%anyUE"></input><input type="%s"></input></inputs><script><block s="doRun"><block s="reifyScript"><script><block s="doSetVar"><l></l><block var="value"/></block></script><list></list></block><list><block var="var"/></list></block></script></block-definition><block-definition s="MoveAndTurn %&apos;numMoves&apos; %&apos;numTurns&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><custom-block s="REPEAT %n TIMES %cs"><block var="numMoves"/><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block><custom-block s="REPEAT %n TIMES %cs"><block var="numTurns"/><script><custom-block s="ROTATE_RIGHT"></custom-block></script></custom-block></script></block-definition></blocks><primitives></primitives><stage name="Stage" width="480" height="480" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="true" hyperops="true" codify="false" inheritance="false" sublistIDs="false" id="2653"><pentrails>data:image/png;base64,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</pentrails><costumes><list struct="atomic" id="2654"></list></costumes><sounds><list struct="atomic" id="2655"></list></sounds><variables></variables><blocks></blocks><scripts><script x="10" y="10"><block s="receiveKey"><l><option>1</option></l><list></list></block><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><custom-block s="Load Maze %s"><block var="Maze1"/></custom-block></script><list></list></block><list></list></block></script><script x="10" y="86.5"><block s="receiveKey"><l><option>2</option></l><list></list></block><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><custom-block s="Load Maze %s"><block var="Maze2"/></custom-block></script><list></list></block><list></list></block></script><script x="10" y="163.00000000000003"><block s="receiveKey"><l><option>3</option></l><list></list></block><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><custom-block s="Load Maze %s"><block var="Maze3"/></custom-block></script><list></list></block><list></list></block></script><script x="10" y="239.5"><block s="receiveKey"><l><option>4</option></l><list></list></block><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><custom-block s="Load Maze %s"><block var="Maze4"/></custom-block></script><list></list></block><list></list></block></script><script x="10" y="316"><block s="receiveKey"><l><option>5</option></l><list></list></block><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><custom-block s="Load Maze %s"><block var="Maze5"/></custom-block></script><list></list></block><list></list></block></script><script x="10" y="392.49999999999994"><block s="receiveKey"><l><option>s</option></l><list></list></block><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><custom-block s="Load Maze %s"><block var="MazeSample"/></custom-block></script><list></list></block><list></list></block></script><script x="10" y="469"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doBroadcast"><l>Toggle Cell State</l><list></list></block></script></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="192" y="-192" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="0,0,0,1" pen="middle" id="2762"><costumes><list id="2763"><item><ref mediaID="APCSP_Robot_Maze_Exercises_Sprite_cst_Arrow"></ref></item><item><ref mediaID="APCSP_Robot_Maze_Exercises_Sprite_cst_White"></ref></item><item><ref mediaID="APCSP_Robot_Maze_Exercises_Sprite_cst_Grey"></ref></item><item><ref mediaID="APCSP_Robot_Maze_Exercises_Sprite_cst_Black"></ref></item><item><ref mediaID="APCSP_Robot_Maze_Exercises_Sprite_cst_Cursor"></ref></item></list></costumes><sounds><list id="2764"><item><ref mediaID="APCSP_Robot_Maze_Exercises_Sprite_snd_Meow"></ref></item></list></sounds><blocks></blocks><variables></variables><scripts><comment x="10" y="10" w="222.66666666666666" collapsed="true">Press 1, 2, 3, 4, or 5 to load a different maze.  Use AP Robot commands to solve each maze.&#xD;&#xD;A sample maze (press s to reload) and solution have been preloaded as an example.</comment><script x="26.666666666666742" y="42.83333333333235"><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block></script><script x="25" y="705.0000000000014"><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block><custom-block s="REPEAT %n TIMES %cs"><l>12</l><script><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block></script></custom-block></script><script x="29.999999999999943" y="953.5"><custom-block s="MOVE_FORWARD"></custom-block><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block></script><script x="375" y="46.33333333333212"><custom-block s="REPEAT %n TIMES %cs"><l>2</l><script><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block><custom-block s="ROTATE_RIGHT"></custom-block></script></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block><custom-block s="REPEAT %n TIMES %cs"><l>3</l><script><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block></script></custom-block><custom-block s="REPEAT %n TIMES %cs"><l>3</l><script><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block></script></custom-block><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block><custom-block s="REPEAT %n TIMES %cs"><l>2</l><script><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block></script></custom-block><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block></script><script x="378.0000000000002" y="927.1666666666671"><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block><custom-block s="REPEAT %n TIMES %cs"><l>3</l><script><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block></script></custom-block><custom-block s="REPEAT %n TIMES %cs"><l>3</l><script><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block></script></custom-block><custom-block s="REPEAT %n TIMES %cs"><l>3</l><script><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block></script></custom-block><custom-block s="REPEAT %n TIMES %cs"><l>3</l><script><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block></script></custom-block><custom-block s="REPEAT %n TIMES %cs"><l>2</l><script><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block></script></custom-block><custom-block s="REPEAT %n TIMES %cs"><l>2</l><script><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block></script></custom-block><custom-block s="REPEAT %n TIMES %cs"><l>2</l><script><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block></script></custom-block><custom-block s="REPEAT %n TIMES %cs"><l>2</l><script><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block></script></custom-block><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block><custom-block s="ROTATE_RIGHT"></custom-block><custom-block s="REPEAT UNTIL %boolUE %cs"><custom-block s="NOT %b"><custom-block s="CAN_MOVE %s"><l>forward</l></custom-block></custom-block><script><custom-block s="MOVE_FORWARD"></custom-block></script></custom-block><custom-block s="ROTATE_LEFT"></custom-block><custom-block s="MOVE_FORWARD"></custom-block></script></scripts></sprite><watcher scope="Sprite" s="getScale" style="normal" x="4.980014105912915" y="4.980014105902669" color="143,86,227" hidden="true"/><watcher scope="Sprite" s="xPosition" style="normal" x="4.980014105912915" y="23.904068704335913" color="74,108,212" hidden="true"/><watcher scope="Sprite" s="yPosition" style="normal" x="4.980014105912915" y="42.82812330276974" color="74,108,212" hidden="true"/><watcher scope="Sprite" s="getCostumeIdx" style="normal" x="4.980014105912915" y="61.75217790120294" color="143,86,227" hidden="true"/><watcher s="xPosition" style="normal" x="4.80967157109535" y="4.80967157109319" color="74,108,212" hidden="true"/><watcher s="yPosition" style="normal" x="4.80967157109535" y="23.086424503181654" color="74,108,212" hidden="true"/><watcher var="MAZES" style="normal" x="0" y="0" color="243,118,29" hidden="true"/><watcher var="MAZE" style="normal" x="0" y="0" color="243,118,29" hidden="true"/><watcher scope="Sprite" s="direction" style="normal" x="6.425824652778829" y="6.4258246527776635" color="74,108,212" hidden="true"/><watcher s="getScale" style="normal" x="8.635531135533029" y="8.63553113553101" color="143,86,227" hidden="true"/><watcher var="Maze1" style="normal" x="10.412147505425992" y="10.412147505423057" color="243,118,29" hidden="true"/><watcher var="Maze2" style="normal" x="10.412147505425992" y="422.73318663774415" color="243,118,29" hidden="true"/><watcher var="Maze3" style="normal" x="10.412147505425992" y="422.73318663774415" color="243,118,29" hidden="true"/><watcher var="Maze4" style="normal" x="10.000000000000227" y="9.999999999999986" color="243,118,29" hidden="true"/><watcher var="Maze5" style="normal" x="10.000000000000227" y="65.00000199999998" color="243,118,29" hidden="true"/><watcher var="MazeSample" style="normal" x="10.000000000000227" y="424.9999979999998" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="MAZES"><list struct="atomic" id="3190">&quot;***************&#xD;***************&#xD;**   ***G*** **&#xD;** * *** *** **&#xD;**   ***     ** &#xD;** ******* **** &#xD;** *** *** ****&#xD;** *** *** ****&#xD;**           **&#xD;****** ***** **&#xD;****** ***** **&#xD;****** ***** **&#xD;**&gt;      *** **&#xD;***************&#xD;***************&quot;,&quot;***************&#xD;***************&#xD;***         ***&#xD;***** *********&#xD;***** *********&#xD;***** *********&#xD;*G            *&#xD;*** *** *** * *&#xD;*** *** ***   *&#xD;*** *** ***** *&#xD;*         *** *&#xD;*** *** ***** *&#xD;*** *** ***&gt;  *&#xD;***************&#xD;***************&quot;,&quot;               &#xD;               &#xD;               &#xD;               &#xD;               &#xD;      ******   &#xD;      **G **   &#xD;      *^* **   &#xD;      * * **   &#xD;      *   G*   &#xD;      *G****   &#xD;      ******   &#xD;               &#xD;               &#xD;               &#xD;&quot;,&quot;               &#xD; ***  ***  *** &#xD; *    *    * * &#xD; *    ***  *** &#xD; *      *  *   &#xD; ***  ***  *   &#xD;               &#xD; * *  ***  * * &#xD; * *  * *  * * &#xD;  *   ***   *  &#xD;  *   * *   *  &#xD;  *   * *   *  &#xD; *****   ***** &#xD;     G*^*      &#xD;               &#xD;&quot;</list></variable><variable name="MAZE"><l>***************         &#xD;***************    &#xD;***************          &#xD;***************          &#xD;***************    &#xD;*********G*****   &#xD;********  *****    &#xD;*******  ******&#xD;******  *******    &#xD;*****^ ********    &#xD;***************&#xD;***************&#xD;***************&#xD;***************&#xD;***************</l></variable><variable name="Maze1"><l>***************&#xD;*************G*&#xD;************* *&#xD;*         *** *&#xD;* ******* *** *&#xD;* ******* *** *&#xD;*       * *** *&#xD;******* * *** *&#xD;******* * *** *&#xD;******* * *** *&#xD;******* * *** *&#xD;******* * *** *&#xD;******* *     *&#xD;*^      *******&#xD;***************&#xD;</l></variable><variable name="Maze2"><l>***************&#xD;*             *&#xD;* *********** *&#xD;* *         * *&#xD;* * ******* * *&#xD;* * *     * * *&#xD;* * * *** * * *&#xD;* * *  G* * * *&#xD;* * ***** * * *&#xD;* *       * * *&#xD;* ********* * *&#xD;*           * *&#xD;************* *&#xD;*^            *&#xD;***************&#xD;</l></variable><variable name="Maze3"><l>***************&#xD;************ G*&#xD;***********  **&#xD;**********  ***&#xD;*********  ****&#xD;********  *****&#xD;*******  ******&#xD;******  *******&#xD;*****  ********&#xD;****  *********&#xD;***  **********&#xD;**  ***********&#xD;*  ************&#xD;*^*************&#xD;***************&#xD;</l></variable><variable name="Maze4"><l>***************&#xD;**   **********&#xD;** * **********&#xD;** *          *&#xD;*  ********** *&#xD;* *********** *&#xD;*  ********** *&#xD;**        *** *&#xD;********* ***G*&#xD;*********   ***&#xD;*     ***** ***&#xD;* *** ***** ***&#xD;* *** ***** ***&#xD;*^***       ***&#xD;***************&#xD;</l></variable><variable name="Maze5"><l>***************&#xD;*   *   *   ***&#xD;* * * * * * ***&#xD;* * * * * * ***&#xD;* * * * * * ***&#xD;* *   *   *  **&#xD;* ********** **&#xD;*          * **&#xD;********** * **&#xD;*^ *     * * **&#xD;** * *** * * **&#xD;** *   * * * **&#xD;** *** * * * **&#xD;**     *   * G*&#xD;***************&#xD;</l></variable><variable name="MazeSample"><l>***************&#xD;*******      G*&#xD;******* *******&#xD;******* *******&#xD;******* *******&#xD;******* *******&#xD;******* *******&#xD;******* *******&#xD;******* *******&#xD;******* *******&#xD;******* *******&#xD;******* *******&#xD;******* *******&#xD;*^      *******&#xD;***************&#xD;</l></variable></variables></scene></scenes></project><media name="APCSP_Robot_Maze_Exercises" app="Snap! 11.0.4, https://snap.berkeley.edu" version="2"><costume name="Arrow" center-x="16" center-y="16" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACw0lEQVR4AeyVPUgrQRDH/xMUQUFBBQtBRFBEQUWwsFCxEEFbUQstFAvBQgRrFWxVLBWxstHeD0S0EETwCy1EkyaEJEVISJOkyOe8nUUOc4kvL/HFWCTc3O3ezs78bjI7YwHASgp1sQBQobwrvyQA6lm4qwhQjMDviMD09DR3dXXx7OwsHx4e/mhd0BE4ODigcDgMv9+Po6Mj9PT0cG9vLy8uLvLp6WlegTSAVIG3tzfy+XxgZtTX16Ourg4OhwM7Oztob2/nwcFBXltbY9H9n2IAiNHV1VXE43EZGmKxWNDc3Iyqqio8Pz9jdHSUW1paWJ6bm5vfBkoCGBoaooGBAZSWlhoA5oGstbW1aZ2bmxuoPdzR0cHj4+O8t7eXNVASgDhbXl6myspKlJSUyPSvkkgkUFFRgaamJkQiEZydnaG/v5+7u7v/OaFTAMTj/v4+SULKOBsRoOrqajQ0NKRN6JOTk5QIpQUQp1dXV2Sz2WSYs7ApoXd3d9HZ2clyyra3tzXMlwA5e82wMRaLgYggcKL6JYAcO5XtopOzEBHcbjc8Hg8aGxsxPz+P19dXuru7o6WlJRLDFrmZZWZmhmtqasyvM87lyEruOJ1OyP7JyUnc39/T7e0tqZDTyMiIdvrZUArAxsYGB4NBSKg+K6Ybi8NQKAS73Y6ysjIoB7i+vqbHx0eSRJ6YmEhxaLaTBHB+fs7KAKLRqFnPmMtxe39/14B9fX24uLigl5cXUiWc5ubmMjo0DH0MkgDW19chX/Wxph9ytKxWKwKBANT5huoNpADo+PjY+B+1Yo43A6C1tZVra2u1GZfLBa/XqwvMwsICpE9cXl7SyspK1l+IDD8NIO24vLxcN6CpqSk8PDyQKrO0tbVFw8PDlMHGt5Y1gLTjp6cnUoWCxsbG8urQTKsBzC9/cl4EKEbgV0RA9+V8ZX4Gu/wHAAD//09bV/0AAAAGSURBVAMAHgwSTuYuruIAAAAASUVORK5CYII=" mediaID="APCSP_Robot_Maze_Exercises_Sprite_cst_Arrow"/><costume name="White" center-x="16" center-y="16" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAASElEQVR4AezXMQ4AIAhDUfD+d67tBdxMl08wbqS8jTMz8mu1EmBVKm+9CeC/1wRAAAEEEEAAAQQQQAABBBBAIALaj/Ua7ZNYFwAA//9G+479AAAABklEQVQDAABgfD/LWbuJAAAAAElFTkSuQmCC" mediaID="APCSP_Robot_Maze_Exercises_Sprite_cst_White"/><costume name="Grey" center-x="16" center-y="16" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAOElEQVR4AezXsQkAQAgDwMfFM/o7gqUgF0gfrksl+VlsveUYQIAAAQIECBAgQIAAAQIE7gtM57sBAAD//8WfBCAAAAAGSURBVAMAPpBPwcAH/eAAAAAASUVORK5CYII=" mediaID="APCSP_Robot_Maze_Exercises_Sprite_cst_Grey"/><costume name="Black" center-x="16" center-y="16" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAO0lEQVR4AezXwQkAMAgDwND9d27rBD4FOdB3wv1yktzJrwI/f+4UIECAAAECBAgQIECAAAEC+wW63f0AAAD//+3aM8YAAAAGSURBVAMABkQgIT13JVIAAAAASUVORK5CYII=" mediaID="APCSP_Robot_Maze_Exercises_Sprite_cst_Black"/><costume name="Cursor" center-x="5" center-y="19.5" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAnCAYAAAA2ANlVAAABbElEQVR4AeyUPSuFYRjH77xFMnpJPoBiNAiRiJRkUQYpydkMEimFZNIZTQYlg5RFwsKEr2FgwmJQXsPv/9R9dT/H/UxnPXX9rtf/ec7Tfa5zlznncvANIxCzdZoPEu6SrMA5LEFoexQbkJOQ6PK4XtiGeZAd4GagES68kNxd40ZhGQ6hH5rgCVwoVH2GO4JJ0AceiYkVCtW8wt3DKZjFhG9Mn+ELzGLCCqbVUA5mMaENw6QkDE/jX17U8XzwuFf4BDP/xEo6fdABnaD1GiYOQCvYmtVSrME+zIKWdZOoeoxowhcK/WfaiAtwB4PQAtp+E1I7/07vFHpPrRup+5Hz76jco/WqokjNUgXDTCsJM49Gg6zj+dUwJCbUDaGfT3emaWPCBqbtUAdmMeE40xqYA7NC4RaTbpgA3bTJLpKn1kyDVZpTcAyLcAKJWE/U11zS0KXeQ7wB2Q5uGiTOS6h7up5GM9xCaLrHh2h0/QEAAP//23TVbgAAAAZJREFUAwCiijeuHMsKbQAAAABJRU5ErkJggg==" mediaID="APCSP_Robot_Maze_Exercises_Sprite_cst_Cursor"/><sound name="Meow" sound="http://snap.berkeley.edu/snapsource/Sounds/Meow.wav" mediaID="APCSP_Robot_Maze_Exercises_Sprite_snd_Meow"/></media></snapdata>