<snapdata remixID="8511295"><project name="for-animationremix" app="Snap! 5.1, http://snap.berkeley.edu" version="1"><notes>animation of spirals using the for-loop</notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAE0UlEQVR4Xu2d30vVdxjHn65WncVyg40T0tWkE2OtXWdmOgqkorxILFxpLKZCxIqoLop1USO2EYEaRT+lhruoaCEUaVZ23Y8RGe4qxCgog2VELBoFA8FxrjzP+zl+Xv4B39f7vJ4XB5OjTbEPsm+NLwyIDEwhQJF5sO8NECAhSA0QoFQ/cAKkAakBApTqB06ANCA1QIBS/cAJkAakBghQqh84AdKA1AABSvUDJ0AakBogQKl+4ARIA1IDBCjVD5wAaUBqgACl+oETIA1IDRCgVD9wAqQBqQEClOoHToA0IDVAgFL9wAmQBqQGCFCqHzgB0oDUAAFK9QMnQBqQGiBAqX7gBEgDUgMEKNUPnABpQGqAAKX6gRMgDUgNEKBUP3ACpAGpAQKU6gdOgDQgNUCAUv3ACZAGpAYIUKofOAHSgNQAAUr1AydAGpAaIECpfuAESANSAwQo1Q+cAGlAaoAApfqBEyANSA0QoFQ/cAKkAakBApTqB06ANCA1QIBS/cAJkAakBghQqh84AdKA1AABSvUDJ8AJaOCjadOsranRmg4dttdv/pmAJ6bzCAKc4Fuvq6iwk9evT/BTJ+/jCLBAt91XV2c7uroK9PTJ81gCLOAtm6u/sY6eKwUkFP+jCbDAN/xq9my78/BhgSnF+3gCdLjdnGzWHjx65EAqPgQBOt1s2fyv7eLtW0604sEQoOOtOtY3WvOJ447E+CgCdL5Rw4IF1nnzpjM1Lo4A494miWUEKDjzj6tqbfe5swJyPCQBim7ySeZDezr6QkSPgyVA0S2aFi6yYzeuiehxsAQovEVJJmMjo6PCBXo0AQpvsHPZCtt78YJwgR5NgPobJL2AAMXnb1lcbe1Xe8QrdHgC1Ll/T67M5axvYEC8QocnQJ17yGZGgAEyKC8rs/7BwQBL/CcQoL/zccQz37fYmkPtAZb4TyBAf+fjiLls1gYS/bwgAQYIMOUJBJjy9QO8dgIMcIR3E8o+/cwGnzwOssZvBgH6uc5Laq6sto6+9H4gTYBBAjzbuslq2w4GWeM3gwD9XOcldTSss+bOk0HW+M0gQD/XeUk/19Xb1q7fgqzxm0GAfq7zkvasrLVd59P7mD4BBglwe81y+6n7jyBr/GYQoJ/rvKRN1UvsYM/lIGv8ZhCgn+u8pF9W19uW3/keMMg50pvRuWGjNRw9nNwL5x0wyMl/WLLUfr18KcgavxkE6Oc6L6kqN9d6B+4HWeM3gwD9XOclfZzJ2LMEf0WTAIMEmOoMAkz18kFeNwEGOERj+UI73n8jwBL/CQTo73wcsW3tt9Z6+lSAJf4TCNDf+TjiF7Nm2b3h4QBL/CcQoL9ziGMMEKA4h/LPy6z/rzR/J/idegIUB7hnxUrbdeG8eIUOT4A695B5B9Q2MK+01O4ODWlHiOm8AwoPcKCu3jYn+DH8scoJUBggaP4RImugtbLK2vp6ZfwoYN4BRZconVliQ89HRPQ4WAIU3CL1n/3xPaAgurHImi/nWfefd8UrYuB5B3S+w4ypU+3vV6+cqXFxBOh8m+/KF9mRfv6HpP+0E6BjgFVzctb7IN2/iP9/qgnQMcCS6dNt5OVLR2J8FAE63ah9TYO1nOl0ohUPhgCL51aTcikBOpx129Ia23+p24FUfIh/AWiIHRA1EibnAAAAAElFTkSuQmCC</thumbnail><stage name="Bühne" width="480" height="360" costume="1" color="255,255,255,1" tempo="60" threadsafe="false" volume="100" pan="0" lines="round" ternary="true" codify="false" inheritance="true" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAc9UlEQVR4Xu3df7Cld10f8O9z7u4SGNvKWAptlplW+VExrYJAh19jFWYEk+w5N4Fgg0JF+WGnAe+558c9m9Y0kL3n993FIBQoFIswdFP2PGeXhNUqJWQoThua2mpiYZxIQQLaSIWAkt17ns7WjhaTTe7uved8n+c5L//lPN/P5/P6fGbes4PsJsH/ESBAgAABAgsXSBZeUUECBAgQIEAgCGBHQIAAAQIEIggI4AjoShIgQIAAAQHsBggQIECAQAQBARwBXUkCBAgQICCA3QABAgQIEIggIIAjoCtJgAABAgQEsBsgQIAAAQIRBARwBHQlCRAgQICAAHYDBAgQIEAggoAAjoCuJAECBAgQEMBugAABAgQIRBAQwBHQlSRAgAABAgLYDRAgQIAAgQgCAjgCupIECBAgQEAAuwECBAgQIBBBQABHQFeSAAECBAgIYDdAgAABAgQiCAjgCOhKEiBAgAABAewGCBAgQIBABAEBHAFdSQIECBAgIIDdAAECBAgQiCAggCOgK0mAAAECBASwGyBAgAABAhEEBHAEdCUJECBAgIAAdgMECBAgQCCCgACOgK4kAQIECBAQwG6AAAECBAhEEBDAEdCVJECAAAECAtgNECBAgACBCAICOAK6kgQIECBAQAC7AQIECBAgEEFAAEdAV5IAAQIECAhgN0CAAAECBCIICOAI6EoSIECAAAEB7AYIECBAgEAEAQEcAV1JAgQIECAggN0AAQIECBCIICCAI6ArSYAAAQIEBLAbIECAAAECEQQEcAR0JQkQIECAgAB2AwQIECBAIIKAAI6AriQBAgQIEBDAboAAAQIECEQQEMAR0JUkQIAAAQIC2A0QIECAAIEIAgI4ArqSBAgQIEBAALsBAgQIECAQQUAAR0BXkgABAgQICGA3QIAAAQIEIggI4AjoShIgQIAAAQHsBggQIECAQAQBARwBXUkCBAgQICCA3QABAgQIEIggIIAjoCtJgAABAgQEsBsgQIAAAQIRBARwBHQlCRAgQICAAHYDBAgQIEAggoAAjoCuJAECBAgQEMBugAABAgQIRBAQwBHQlSRAgAABAgLYDRAgQIAAgQgCAjgCupIECBAgQEAAuwECBAgQIBBBQABHQFeSAAECBAgIYDdAgAABAgQiCAjgCOhKEiBAgAABAewGCBAgQIBABAEBHAFdSQIECBAgIIDdAAECBAgQiCAggCOgK0mAAAECBASwGyBAgAABAhEEBHAEdCUJECBAgIAAdgMECBAgQCCCgACOgK4kAQIECBAQwG6AAAECBAhEEBDAEdCVJECAAAECAtgNECBAgACBCAICOAK6kgQIECBAQAC7AQIECBAgEEFAAEdAV5IAAQIECAhgN0CAAAECBCIICOAI6EoSIECAAAEB7AYIECBAgEAEAQEcAV1JAgQIECAggN0AAQIECBCIICCAI6ArSYAAAQIEBLAbIECAAAECEQQEcAR0JQkQIECAgAB2AwQIECBAIIKAAI6AriQBAgQIEBDAboAAAQIECEQQEMAR0JUkQIAAAQIC2A0QIECAAIEIAgI4ArqSBAgQIEBAALsBAgQIECAQQUAAR0BXkgABAgQICGA3QIAAAQIEIggI4AjoShIgQIAAAQHsBggQIECAQAQBARwBXUkCBAgQICCA3QABAgQIEIggIIAjoCtJgAABAgQEsBsgQIAAAQIRBARwBHQlCRAgQICAAHYDBAgQIEAggoAAjoCuJAECBAgQEMBugAABAgQIRBAQwBHQlSRAgAABAgLYDRAgQIAAgQgCAjgCupIECBAgQEAAuwECBAgQIBBBQABHQFeSAAECBAgIYDdAgAABAgQiCAjgCOhKEiBAgAABAewGCBAgQIBABAEBHAFdSQIECBAgIIDdAAECBAgQiCAggCOgK0mAAAECBASwGyBAgAABAhEEBHAEdCUJECBAgIAAdgMECBAgQCCCgACOgK4kAQIECBAQwG6AAAECBAhEEBDAEdCVJECAAAECAtgNECBAgACBCAICOAK6kgQIECBAQAC7AQIECBAgEEFAAEdAV5IAAQIECAhgN0CAAAECBCIICOAI6EoSIECAAAEB7AYIECBAgEAEAQEcAV1JAgQIECAggN0AAQIECBCIICCAI6ArSYAAAQIEBLAbIECAAAECEQQEcAR0JQkQIECAgAB2AwQIECBAIIKAAI6AriQBAgQIEBDAboAAAQIECEQQEMAR0JUkQIAAAQIC2A0QIECAAIEIAgI4ArqSBAgQIEBAALsBAgQIECAQQUAAR0BXkgABAgQICGA3QIAAAQIEIggI4AjoShIgQIAAAQHsBggQIECAQAQBARwBXUkCBAgQICCA3QAB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</pentrails><costumes><list id="2"><item><costume name="Untitled" center-x="240" center-y="180" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOjklEQVR4Xu3VwQkAIBAEMX1Zg/0XqmARzifXwEI4mDnWPsMRIECAAAECXwWmAH/1NkaAAAECBJ6AAHsEAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+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+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIXFnUlRA7sXrvAAAAAElFTkSuQmCC" id="3"/></item></list></costumes><sounds><list struct="atomic" id="4"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Objekt" idx="1" x="1368.5778963114271" y="739.6857951636364" heading="152.99999999999477" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="176,28.160000000000746,79.03039999999979,1" pen="tip" id="9"><costumes><list struct="atomic" id="10"></list></costumes><sounds><list struct="atomic" id="11"></list></sounds><blocks></blocks><variables></variables><scripts><script x="30" y="30"><block s="receiveGo"></block><block s="setColor"><color>38,0,176,1</color></block><block s="setSize"><l>1</l></block><block s="doDeclareVariables"><list><l>i</l></list></block><block s="down"></block><block s="doForever"><script><block s="setPenHSVA"><l><option>saturation</option></l><l>30</l></block><block s="changePenHSVA"><l><option>hue</option></l><l>1</l></block><block s="setHeading"><l>90</l></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="clear"></block><block s="doWarp"><script><custom-block s="for %upvar = %n to %n %cs"><l>k</l><l>1</l><l>180</l><script><block s="forward"><block var="k"/></block><block s="turn"><block var="i"/></block><block s="changePenHSVA"><l><option>saturation</option></l><l>0.3</l></block></script></custom-block></script></block><block s="doChangeVar"><l>i</l><l>.05</l></block></script></block></script></scripts></sprite><watcher scope="Objekt" s="xPosition" style="normal" x="14" y="14" color="74,108,212" hidden="true"/><watcher scope="Objekt" s="yPosition" style="normal" x="14" y="67.2000028" color="74,108,212" hidden="true"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="label %&apos;text&apos; of size %&apos;size&apos;" type="command" category="pen"><comment x="0" y="0" w="90" collapsed="false">LABEL will stamp text on the stage at the given font size. The direction of the text is the direction the sprite is facing, and color will match the pen color.</comment><header></header><code></code><translations>de:drucke _ in Größe _&#xD;</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),    context = stage.penTrails().getContext(&apos;2d&apos;),    rotation = radians(this.direction() - 90),    trans = new Point(      this.center().x - stage.left(),      this.center().y - stage.top()    ),    isWarped = this.Warped,    len,    pos;if (isWarped) {endWarp(); }context.save();context.font = size + &apos;px monospace&apos;;context.textAlign = &apos;left&apos;;context.textBaseline = &apos;alphabetic&apos;;context.fillStyle = this.color.toString();len = context.measureText(text).width;trans = trans.multiplyBy(1 / stage.scale);context.translate(trans.x, trans.y);context.rotate(rotation);context.fillText(text, 0, 0);context.translate(-trans.x, -trans.y);context.restore();pos = new Point(  len * Math.sin(radians(this.direction())),  len * Math.cos(radians(this.direction())));pos = pos.add(new Point(this.xPosition(), this.yPosition()));this.gotoXY(pos.x, pos.y, false);this.changed();if (isWarped) {this.startWarp(); }stage.changed();</l></block><list><block var="text"/><block var="size"/></list></block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations>de:ist _ leer?&#xD;</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>de:behalte Elemente, die _ aus _&#xD;</translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><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-definition><block-definition s="combine with %&apos;function&apos; items of %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:kombiniere mit _ die Elemente von _&#xD;</translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><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-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>de:wenn _ dann _ sonst _&#xD;</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>de:für _ = _ bis _ _&#xD;</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>de:füge Wörter zusammen _&#xD;</translations><inputs><input type="%mult%txt"></input></inputs><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"><list><l></l></list></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"><list><l></l></list></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"><list><l></l></list></custom-block></list></block></block></script><scripts><script x="229.000003" y="196.77778077777762"><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>de:Liste $arrowRight Satz _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="join words %mult%txt"><list><l></l></list></custom-block></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Satz $arrowRight Liste _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>de:fange _ _&#xD;</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>de:wirf _&#xD;</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>de:fange _ _&#xD;</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>de:wirf _ _&#xD;</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>de:für jedes _ von _ _&#xD;</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>de:falls _ dann _ und pause $pause-1-255-220-0&#xD;</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>de:Wort $arrowRight Liste _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations>de:ignoriere _&#xD;</translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Liste $arrowRight Wort _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block-definition><block-definition s="%&apos;x&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block var="x"/></block></script></block-definition><block-definition s="numbers from %&apos;from&apos; to %&apos;to&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:Zahlen von _ bis _&#xD;</translations><inputs><input type="%n">1</input><input type="%n">10</input></inputs><script><block s="doIf"><block s="reportGreaterThan"><block var="from"/><block var="to"/></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block var="from"/><custom-block s="numbers from %n to %n"><block s="reportSum"><block var="from"/><l>1</l></block><block var="to"/></custom-block></block></block></script></block-definition><block-definition s="map %&apos;func&apos; over %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:wende _ an auf _&#xD;</translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block var="data"/></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="func"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><custom-block s="map %repRing over %l"><block var="func"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script></block-definition><block-definition s="cascade %&apos;num&apos; times %&apos;function&apos; %&apos;init&apos; %&apos;#&apos;" type="reporter" category="control"><comment x="0" y="0" w="138" collapsed="false">Call f(f(f(...(f(x))))) n times where the three input slots are n, f, and x from left to right.  The # variable can be used inside f to represent how many times f has been called.</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%repRing"></input><input type="%s"></input><input type="%upvar"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><block var="init"/></block><block s="doSetVar"><l>#</l><l>0</l></block><block s="doRepeat"><block var="num"/><script><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doSetVar"><l>result</l><block s="evaluate"><block var="function"/><list><block var="result"/></list></block></block></script></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="cascade until %&apos;pred&apos; %&apos;function&apos; %&apos;init&apos; %&apos;#&apos;" type="reporter" category="control"><comment x="0" y="0" w="90" collapsed="false">Call f(f(f(...(f(x))))) until condition is true, where the three input slots are condition, f, and x from left to right.  The # variable can be used inside f or condition to indicate how many times f has been called.</comment><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%repRing"></input><input type="%s"></input><input type="%upvar"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><block var="init"/></block><block s="doSetVar"><l>#</l><l>0</l></block><block s="doUntil"><block s="evaluate"><block var="pred"/><list><block var="result"/></list></block><script><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doSetVar"><l>result</l><block s="evaluate"><block var="function"/><list><block var="result"/></list></block></block></script></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="compose %&apos;f&apos; %&apos;g&apos;" type="reporter" category="control"><comment x="0" y="0" w="90" collapsed="false">Returns the function f(g(x)) where f and g are the two inputs.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="f"/><list><block s="evaluate"><block var="g"/><list><l></l></list></block></list></block></autolambda><list></list></block></block></script></block-definition><block-definition s="repeat %&apos;action&apos; until %&apos;pred&apos;" type="command" category="control"><comment x="0" y="0" w="90" collapsed="false">Like the built-in REPEAT UNTIL block, except that the ending condition is not tested until the script has been run the first time.  So the script is run at least once.</comment><header></header><code></code><translations></translations><inputs><input type="%cs"></input><input type="%boolUE"></input></inputs><script><block s="doRun"><block var="action"/><list></list></block><block s="doUntil"><block s="evaluate"><block var="pred"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="repeat %&apos;action&apos; while %&apos;pred&apos;" type="command" category="control"><comment x="0" y="0" w="90" collapsed="false">Run the script repeatedly, as long as the given condition is true.  Runs the script at least once before testing the condition.</comment><header></header><code></code><translations></translations><inputs><input type="%cs"></input><input type="%boolUE"></input></inputs><script><block s="doRun"><block var="action"/><list></list></block><block s="doUntil"><block s="reportNot"><block s="evaluate"><block var="pred"/><list></list></block></block><script><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="repeat while %&apos;pred&apos; %&apos;action&apos;" type="command" category="control"><comment x="0" y="0" w="90" collapsed="false">Runs the script repeatedly, as long as the condition is true.  Tests the condition before the first time the script is run.  Like the built in REPEAT UNTIL except that in this block the condition must be true, not false.</comment><header></header><code></code><translations></translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doUntil"><block s="reportNot"><block s="evaluate"><block var="pred"/><list></list></block></block><script><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="repeat %&apos;num&apos; %&apos;#&apos; %&apos;action&apos;" type="command" category="control"><comment x="0" y="0" w="171" collapsed="false">Runs the script the specified number of times, like the built-in REPEAT block, but this one provides the # variable that can be used inside the script.  TryREPEAT (200)                MOVE (#) STEPS   RIGHT 92with the pen down.</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doSetVar"><l>#</l><l>0</l></block><block s="doRepeat"><block var="num"/><script><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; step %&apos;step&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">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>test</l></list></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doIfElse"><block s="reportLessThan"><block var="step"/><l>0</l></block><script><block s="doSetVar"><l>test</l><block s="reifyPredicate"><autolambda><block s="reportLessThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>test</l><block s="reifyPredicate"><autolambda><block s="reportGreaterThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script></block><block s="doUntil"><block s="evaluate"><block var="test"/><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="let %&apos;a&apos; be %&apos;val&apos; in %&apos;loop&apos; %&apos;body&apos;" type="command" category="control"><comment x="0" y="0" w="238.66666666666666" collapsed="false">Provides LOOP as a function of one input that runsthe body of the LET with A set to the function input,so the body can run itself recursively.See COPY block in Variables for an example of use.</comment><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%s"></input><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doSetVar"><l>a</l><block var="val"/></block><block s="doSetVar"><l>loop</l><block s="reifyScript"><script><block s="doSetVar"><l>a</l><block var="new value"/></block><block s="doRun"><block var="body"/><list><block var="a"/></list></block></script><list><l>new value</l></list></block></block><block s="doRun"><block var="loop"/><list><block var="a"/></list></block></script></block-definition><block-definition s="copy %&apos;value&apos; %&apos;n&apos; times" type="reporter" category="lists"><comment x="0" y="0" w="133.33333333333334" collapsed="false">copy VALUE N timesreports a list containing N (identical) copies of VALUE</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%n"></input></inputs><script><custom-block s="let %upvar be %s in %upvar %cs"><l>result</l><block s="reportNewList"><list></list></block><l>loop</l><script><block s="doChangeVar"><l>n</l><l>-1</l></block><block s="doIf"><block s="reportLessThan"><block var="n"/><l>0</l></block><script><block s="doReport"><block var="result"/></block></script></block><block s="doRun"><block var="loop"/><list><block s="reportCONS"><block var="value"/><block var="result"/></block></list></block></script></custom-block></script></block-definition></blocks><variables></variables></project><media name="for-animationremix" app="Snap! 5.1, http://snap.berkeley.edu" version="1"></media></snapdata>