<snapdata remixID="8627191"><project name="U1L2-GreetPlayer" 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,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOhUlEQVR4Xu3VwQkAAAjEMN1/abewn7jAQRC64wgQIECAAIF3gX1fNEiAAAECBAiMAHsCAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIHLFxAWmhEwHPAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Sprite" idx="1" x="0.2702702702702027" y="-0.8108108108093859" heading="90.00000000000023" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="80,80,80,1" pen="tip" id="8"><costumes><list struct="atomic" id="9"></list></costumes><sounds><list struct="atomic" id="10"></list></sounds><blocks></blocks><variables></variables><scripts><script x="30" y="30"><custom-block s="greet player"></custom-block></script><script x="30" y="108.00000000000001"><block s="doSetVar"><l>player list</l><block s="reportNewList"><list></list></block></block></script></scripts></sprite><watcher var="player list" style="normal" x="10" y="10" color="243,118,29" extX="80" extY="70"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="greet player" type="command" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doAsk"><l>What&apos;s your name?</l></block><block s="doIfElse"><block s="reportListContainsItem"><block var="player list"/><block s="getLastAnswer"></block></block><script><block s="doSayFor"><block s="reportJoinWords"><list><l>Nice to see you again, </l><block s="getLastAnswer"></block><l>.</l></list></block><l>2</l></block></script><script><block s="doSayFor"><block s="reportJoinWords"><list><l>Hi, </l><block s="getLastAnswer"></block><l>! Nice to meet you!</l></list></block><l>2</l></block><block s="doAddToList"><block s="getLastAnswer"></block><block var="player list"/></block></script></block></script></block-definition><block-definition s="greet player (TIF version 1)" type="command" category="sensing"><comment x="0" y="0" w="190" collapsed="false">It&apos;s not surprising if students find this hard -- they need techniques we haven&apos;t taught yet.  The KEEP block is part of the tool library (File menu, Import Tools).</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>found</l><l>name</l><l>pet</l></list></block><block s="doAsk"><l>What&apos;s your name?</l></block><block s="doSetVar"><l>name</l><block s="getLastAnswer"></block></block><block s="doSetVar"><l>found</l><custom-block s="keep items such that %predRing from %l"><block s="reifyPredicate"><autolambda><block s="reportEquals"><block s="reportListItem"><l>1</l><l/></block><block var="name"/></block></autolambda><list></list></block><block var="player list"/></custom-block></block><block s="doIfElse"><custom-block s="empty? %l"><block var="found"/></custom-block><script><block s="doSayFor"><block s="reportJoinWords"><list><l>Hi, </l><block var="name"/><l>! Nice to meet you!</l></list></block><l>2</l></block><block s="doAsk"><l>Do you have a pet?</l></block><block s="doSetVar"><l>pet</l><block s="getLastAnswer"></block></block><block s="doIfElse"><block s="reportEquals"><block var="pet"/><l>no</l></block><script><block s="doAddToList"><block s="reportNewList"><list><block var="name"/><l>NONE</l></list></block><block var="player list"/></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="pet"/><l>yes</l></block><script><block s="doAsk"><l>What kind?</l></block><block s="doAddToList"><block s="reportNewList"><list><block var="name"/><block s="getLastAnswer"></block></list></block><block var="player list"/></block></script><script><block s="doAddToList"><block s="reportNewList"><list><block var="name"/><block var="pet"/></list></block><block var="player list"/><comment w="161.9999980000001" collapsed="false">If neither yes nor no, assume it&apos;s a pet name.</comment></block></script></block></script></block></script><script><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="found"/></block></block></block><block s="doSetVar"><l>pet</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="found"/></block></block></block><block s="doSayFor"><block s="reportJoinWords"><list><l>Nice to see you again, </l><block var="name"/><l>.</l></list></block><l>2</l></block><block s="doIf"><block s="reportNot"><block s="reportEquals"><block var="pet"/><l>NONE</l></block></block><script><block s="doAsk"><block s="reportJoinWords"><list><l>How&apos;s your </l><block var="pet"/><l>?</l></list></block><comment w="148" collapsed="false">We ignore the answer, just as in real life.  :-)</comment></block></script></block></script></block></script></block-definition><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.000003" y="196.77778077777774"><block s="reportJoinWords"><list><l></l><l></l></list></block></script></scripts></block-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></script></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doRun"><block var="action"/><list></list></block></script><list><l>cont</l></list></block></block><custom-block s="ignore %s"><l>3</l></custom-block></script></block-definition><block-definition s="throw %&apos;cont&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">catchtag</input></inputs><script><block s="doRun"><block var="cont"/><list></list></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;value&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doReport"><block s="evaluate"><block var="value"/><list></list></block></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;tag&apos; %&apos;value&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">catchtag</input><input type="%s"></input></inputs><script><block s="doRun"><block var="tag"/><list><block var="value"/></list></block></script></block-definition><block-definition s="for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%l"></input><input type="%cs"></input></inputs><script><block s="doUntil"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doRun"><block var="action"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>breakpoint</l></list></block><block s="doIf"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doSetVar"><l>breakpoint</l><block var="test"/></block><block s="doShowVar"><l>breakpoint</l></block><block s="doRun"><block var="action"/><list></list></block><block s="doPauseAll"></block><block s="doHideVar"><l></l></block></script></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="tell %&apos;sprite&apos; to %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%cs"></input></inputs><script><block s="doRun"><block s="reportAttributeOf"><block var="action"/><block var="sprite"/></block><list></list></block></script></block-definition><block-definition s="ask %&apos;sprite&apos; for %&apos;expression&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportAttributeOf"><block var="expression"/><block var="sprite"/></block><list></list></block></block></script></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block></script></block-definition><block-definition s="greet player (TIF version 2)" type="command" category="sensing"><comment x="0" y="0" w="148" collapsed="false">This version also requires Import Tools, for the FOR EACH block.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>found</l><l>name</l><l>pet</l></list></block><block s="doAsk"><l>What&apos;s your name?</l></block><block s="doSetVar"><l>name</l><block s="getLastAnswer"></block></block><custom-block s="for each %upvar of %l %cs"><l>name-and-pet</l><block var="player list"/><script><block s="doIf"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="name-and-pet"/></block><block var="name"/></block><script><block s="doSetVar"><l>found</l><block var="name-and-pet"/></block><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block var="found"/></block></block><block s="doSetVar"><l>pet</l><block s="reportListItem"><l>2</l><block var="found"/></block></block><block s="doSayFor"><block s="reportJoinWords"><list><l>Nice to see you again, </l><block var="name"/><l>.</l></list></block><l>2</l></block><block s="doIf"><block s="reportNot"><block s="reportEquals"><block var="pet"/><l>NONE</l></block></block><script><block s="doAsk"><block s="reportJoinWords"><list><l>How&apos;s your </l><block var="pet"/><l>?</l></list></block><comment w="148" collapsed="false">We ignore the answer, just as in real life.  :-)</comment></block></script></block><block s="doStopThis"><l><option>this block</option></l></block></script></block></script></custom-block><block s="doSayFor"><block s="reportJoinWords"><list><l>Hi, </l><block var="name"/><l>! Nice to meet you!</l></list></block><l>2</l><comment w="90" collapsed="false">Not found.</comment></block><block s="doAsk"><l>Do you have a pet?</l></block><block s="doSetVar"><l>pet</l><block s="getLastAnswer"></block></block><block s="doIfElse"><block s="reportEquals"><block var="pet"/><l>no</l></block><script><block s="doAddToList"><block s="reportNewList"><list><block var="name"/><l>NONE</l></list></block><block var="player list"/></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="pet"/><l>yes</l></block><script><block s="doAsk"><l>What kind?</l></block><block s="doAddToList"><block s="reportNewList"><list><block var="name"/><block s="getLastAnswer"></block></list></block><block var="player list"/></block></script><script><block s="doAddToList"><block s="reportNewList"><list><block var="name"/><block var="pet"/></list></block><block var="player list"/><comment w="161.9999980000001" collapsed="false">If neither yes nor no, assume it&apos;s a pet name.</comment></block></script></block></script></block></script></block-definition></blocks><variables><variable name="player list"><list struct="atomic" id="912"></list></variable></variables></project><media name="U1L2-GreetPlayer" app="Snap! 5.1, http://snap.berkeley.edu" version="1"></media></snapdata>