<snapdata remixID="14997898"><project name="Bizarre triangle effect" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="Bizarre triangle effect"><notes></notes><palette><category name="IDE tools" color="230,230,34,1"/><category name="Local blocks" color="0,116,143,1"/><category name="Design helpers" color="74,108,212,1"/><category name="String" color="98,194,19,1"/><category name="Music" color="195,0,204,1"/></palette><hidden> playSound reportJSFunction receiveMenuRequest receiveSlotEdit doExpandSlot reportPoll</hidden><headers></headers><code></code><blocks><block-definition s="new position of %&apos;small&apos; in %&apos;large&apos;" type="reporter" category="String"><comment w="294" collapsed="false">Reports the character position (starting from 1) of the beginning of the first input string inside the second input string.&#xD;If it&apos;s not found, reports 0.</comment><header></header><code></code><translations>pt:a posição de _ em _&#xD;</translations><inputs><input type="%s"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicNotEquals"><list><block var="small"/><l></l></list></block><block s="reportIfElse"><custom-block s="use case-independent comparison"></custom-block><block s="reportApplyExtension"><l>txt_indexof(sub, txt)</l><list><custom-block s="to lower case %txt"><block var="small"/></custom-block><custom-block s="to lower case %txt"><block var="large"/></custom-block></list></block><block s="reportApplyExtension"><l>txt_indexof(sub, txt)</l><list><block var="small"/><block var="large"/></list></block></block><l>0</l></block></block></script><scripts><comment x="453.5714285714286" y="85.33333333333341" w="166.42857142857144" collapsed="false">addign the 1st if:&#xD;if small=null return 0&#xD;&#xD;By Loucheman</comment></scripts></block-definition><block-definition s="Delete all clones from this sprite" type="command" category="control"><comment x="0" y="0" w="174.2857142857143" collapsed="false">Delete all clones from the current sprite.&#xD;&#xD;Block by Loucheman</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><block s="doForEach"><l>clone</l><block s="reportGet"><l><option>clones</option></l></block><script><block s="doTellTo"><block var="clone"/><block s="reifyScript"><script><block s="removeClone"></block></script><list></list></block><list></list></block></script></block></script></block></script></block-definition><block-definition s="Delete all clones from %&apos;sprite&apos;" type="command" category="control"><comment x="0" y="0" w="194.2857142857143" collapsed="false">Delete all clones from a selected sprite.&#xD;&#xD;Block by Loucheman</comment><header></header><code></code><translations></translations><inputs><input type="%s"><options>§_objectsMenu</options></input></inputs><script><block s="doWarp"><script><block s="doForEach"><l>clone</l><block s="reportAskFor"><block var="sprite"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>clones</option></l></block></autolambda><list></list></block><list></list></block><script><block s="doTellTo"><block var="clone"/><block s="reifyScript"><script><block s="removeClone"></block></script><list></list></block><list></list></block></script></block></script></block></script></block-definition><block-definition s="Delete all clones from all sprites" type="command" category="control"><comment x="0" y="0" w="174.2857142857143" collapsed="false">Delete all clones from all sprites.&#xD;&#xD;Block by Loucheman</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><block s="doForEach"><l>clone</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportAskFor"><block var="value"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>temporary?</option></l></block></autolambda><list></list></block><list></list></block></autolambda><list><l>value</l></list></block><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>other sprites</option></l></block></autolambda><list></list></block><list></list></block></block><script><block s="doTellTo"><block var="clone"/><block s="reifyScript"><script><block s="removeClone"></block></script><list></list></block><list></list></block></script></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>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;pt:captura _ _&#xD;pl:przechwyć _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%cs"></input></inputs><script><custom-block s="run %cmdRing with continuation"><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></custom-block></script></block-definition><block-definition s="throw %&apos;cont&apos;" type="command" category="control"><header></header><code></code><translations>de:wirf _&#xD;ca:llança _&#xD;es:lanzar _&#xD;fr:lance _&#xD;pt:lança _&#xD;pl:wyrzuć _&#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;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;pt:captura _ _&#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;ca:llança _ _&#xD;es:lanzar _ _&#xD;fr:lance _ _&#xD;pt:lança _ _&#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="ignore %&apos;x&apos;" type="command" category="control"><comment x="0" y="0" w="206.66666666666666" collapsed="false">This block does nothing.&#xD;Use it when you are calling a reporter&#xD;for its side effect and don&apos;t care about&#xD;its return value.</comment><header></header><code></code><translations>de:ignoriere _&#xD;ca:ignora _&#xD;es:ignorar _&#xD;fr:ignore _&#xD;pt:ignora _&#xD;</translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="compose %&apos;f&apos; %&apos;g&apos;" type="reporter" category="control"><comment x="0" y="0" w="151.33333333333334" collapsed="false">Returns the function x↦f(g(x)) where f and g are the two inputs.</comment><header></header><code></code><translations>pt:a composição de _ com _&#xD;ca:composa _ _&#xD;</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="202.66666666666666" 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>pt:repete _ até que _ $loop-0.7&#xD;ca:repeteix _ fins _&#xD;</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;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&#xD;REPEAT (200)&#xD;                MOVE (#) STEPS&#xD;   RIGHT 92&#xD;with the pen down.</comment><header></header><code></code><translations>pt:repete _ vezes _ _ $loop-0.7&#xD;ca:repeteix _ _ _&#xD;</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"><comment x="0" y="0" w="247.33333333333334" collapsed="false">The primitive FOR block uses an implicit step of ±1 depending on which of the starting and ending values is larger.  This version allows you to provide an explicit step value.  If the sign of the step input is incompatible with the ordering of the starting and ending values, the script will not be run at all.</comment><header></header><code></code><translations>pt:para _ de _ com passo _ a _ _ $loop-0.7&#xD;ca:per _ = _ incrementant _ fins _ _&#xD;</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="reportVariadicLessThan"><list><block var="step"/><l>0</l></list></block><script><block s="doSetVar"><l>test</l><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>test</l><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="end"/></list></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="xTell %&apos;obj&apos; to %&apos;cmd&apos;" type="command" category="control"><comment x="0" y="0" w="192.61904761904768" collapsed="false">Extended Tell&#xD;===========&#xD;&#xD;Same as tell block, but accept list as input&#xD;&#xD;Avoiding error when object doesn&apos;t exist (like a deleted clone)&#xD;&#xD;Block by Loucheman</comment><header></header><code></code><translations></translations><inputs><input type="%s"><options>§_objectsMenu</options></input><input type="%cmdRing"></input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportIsA"><block var="obj"/><l><option>list</option></l></block></block><script><custom-block s="safely try %cs then if %upvar %cs"><script><block s="doTellTo"><block var="obj"/><block var="cmd"/><list></list></block></script><l>error</l><script><custom-block s="// %mlt"><l>Keep this block here ! (bug in the safety try block!)</l></custom-block></script></custom-block></script><script><block s="doWarp"><script><block s="doForEach"><l>item</l><block var="obj"/><script><custom-block s="safely try %cs then if %upvar %cs"><script><block s="doTellTo"><block var="item"/><block var="cmd"/><list></list></block></script><l>error</l><script><custom-block s="// %mlt"><l>Keep this block here ! (bug in the safety try block!)</l></custom-block></script></custom-block></script></block></script></block></script></block></script></block-definition><block-definition s="multi-ask %&apos;sprites&apos; for %&apos;predicate&apos;" type="reporter" category="control"><comment x="0" y="0" w="188.57142857142858" collapsed="false">Like the ask block, but accept a &#xD;list of sprite as input...&#xD;&#xD;(always report a list)&#xD;&#xD;Example:&#xD;multi-ask MY CLONES for POSITION&#xD;    &#xD;Should return:&#xD;(0,0)&#xD;(100,0)&#xD;(123,123)&#xD;&#xD;Block by Loucheman</comment><header></header><code></code><translations></translations><inputs><input type="%s">myself<options>§_objectsMenu</options></input><input type="%repRing"></input></inputs></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; $nl in %&apos;time&apos; secs easing %&apos;easing&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>de:für _ = _ bis _ _ in _ Sek. beschleunigt: _ _&#xD;ca:per _ = _ fins _ _ en _ segons de forma _ _&#xD;pt:para _ de _ a _ _ em _ s de forma _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%n">0</input><input type="%n">100</input><input type="%n">1</input><input type="%txt" readonly="true">linear<options>linear&#xD;quadratic={&#xD;quadratic-in&#xD;quadratic-out&#xD;quadratic-in-out&#xD;}&#xD;cubic={&#xD;cubic-in&#xD;cubic-out&#xD;cubic-in-out&#xD;}&#xD;quart={&#xD;quart-in&#xD;quart-out&#xD;quart-in-out&#xD;}&#xD;sinusoidal={&#xD;sine-in&#xD;sine-out&#xD;sine-in-out&#xD;}&#xD;elastic</options></input><input type="%ca"></input></inputs><script><block s="doSetVar"><l>i</l><block var="start"/></block><custom-block s="animate setter %cmdRing getter %repRing delta %n over %n secs easing %repRing"><block s="reifyScript"><script><block s="doSetVar"><l>i</l><l></l></block><block s="doRun"><block var="action"/><list></list></block></script><list></list></block><block s="reifyReporter"><autolambda><block var="i"/></autolambda><list></list></block><block s="reportDifference"><block var="end"/><block var="start"/></block><block var="time"/><block s="reportIfElse"><block s="reportIsA"><block var="easing"/><l><option>reporter</option></l></block><block var="easing"/><custom-block s="easing %txt"><block var="easing"/></custom-block></block></custom-block></script></block-definition><block-definition s="error %&apos;msg&apos;" type="command" category="control"><header></header><code></code><translations>de:Fehler _&#xD;pt:assinala o erro _&#xD;</translations><inputs><input type="%s"></input></inputs><script><block s="doApplyExtension"><l>err_reset</l><list></list></block><block s="doApplyExtension"><l>err_error(msg)</l><list><block var="msg"/></list></block></script></block-definition><block-definition s="animate setter %&apos;setter&apos; getter %&apos;getter&apos; delta %&apos;delta&apos; over %&apos;duration&apos; secs easing %&apos;easing&apos;" type="command" category="control"><header></header><code></code><translations>de:animiere Setter _ Getter _ Delta _ über _ Sek. beschleunigt _&#xD;ca:modifica setter _ i getter _ amb delta _ en _ segons de forma _&#xD;pt:anima com modificador _ e inspector _ de _ em _ s de forma _&#xD;</translations><inputs><input type="%cmdRing"></input><input type="%repRing"></input><input type="%n">50</input><input type="%n">1</input><input type="%repRing"></input></inputs><script><block s="doDeclareVariables"><list><l>end time</l><l>destination</l></list></block><block s="doSetVar"><l>end time</l><block s="reportVariadicSum"><list><block s="reportDate"><l><option>time in milliseconds</option></l></block><block s="reportVariadicProduct"><list><block var="duration"/><l>1000</l></list></block></list></block></block><block s="doSetVar"><l>destination</l><block s="reportVariadicSum"><list><block s="evaluate"><block var="getter"/><list></list></block><block var="delta"/></list></block></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block s="reportDate"><l><option>time in milliseconds</option></l></block><block var="end time"/></list></block><script><block s="doRun"><block var="setter"/><list><block s="reportDifference"><block var="destination"/><block s="reportVariadicProduct"><list><block var="delta"/><block s="evaluate"><block var="easing"/><list><block s="reportQuotient"><block s="reportDifference"><block var="end time"/><block s="reportDate"><l><option>time in milliseconds</option></l></block></block><block s="reportVariadicProduct"><list><block var="duration"/><l>1000</l></list></block></block></list></block></list></block></block></list></block></script></block><block s="doRun"><block var="setter"/><list><block var="destination"/></list></block></script></block-definition><block-definition s="a blank %&apos;clone&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar" initial="1"></input></inputs><script><block s="doSetVar"><l>clone</l><block s="reportAskFor"><l>Sprite</l><block s="reifyReporter"><autolambda><custom-block s="a new sprite"></custom-block></autolambda><list></list></block><list></list></block></block></script><scripts><script x="241.71428571428578" y="22.88095238095238"><block s="reportGet"><l><option>other sprites</option></l></block></script><script x="155" y="110.30952380952381"><block s="reportAskFor"><block s="reportListItem"><l>1</l><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>other sprites</option></l></block></autolambda><list></list></block><list></list></block></block><block s="reifyReporter"><autolambda><custom-block s="a new sprite"></custom-block></autolambda><list></list></block><list></list></block></script><script x="47.14285714285713" y="97.33333333333326"><block s="doReport"><l></l></block></script></scripts></block-definition><block-definition s="safely try %&apos;action&apos; then if %&apos;error&apos; %&apos;handler&apos;" type="command" category="control"><comment x="0" y="0" w="276" collapsed="false">Catch errors.&#xD;&#xD;Runs the first script.  If it succeeds, nothing else happens.&#xD;But if it has an error (something that would otherwise result&#xD;in a red halo around the block), then the second script is run,&#xD;with the text of the error message that would have been shown in the variable ERROR.</comment><header></header><code></code><translations>pt:tenta executar _ e, em caso de erro _ , executa _&#xD;ca:prova de forma segura _ i si _ _&#xD;</translations><inputs><input type="%cs"></input><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doApplyExtension"><l>err_try(cmd, catch, err)</l><list><block var="action"/><block var="handler"/><block var="error"/></list></block><block s="doApplyExtension"><l>err_reset</l><list></list></block></script></block-definition><block-definition s="pipe %&apos;value&apos; $arrowRight %&apos;pipe&apos;" type="reporter" category="control"><header></header><code></code><translations>pt:a aplicação a _ de _&#xD;</translations><inputs><input type="%s"></input><input type="%mult%repRing"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="pipe"/></block><script><block s="doReport"><block var="value"/></block></script><list></list></block><block s="doReport"><custom-block s="pipe %s $arrowRight %mult%repRing"><block s="evaluate"><block s="reportListItem"><l>1</l><block var="pipe"/></block><list><block var="value"/></list></block><block s="reportCDR"><block var="pipe"/></block></custom-block></block></script></block-definition><block-definition s="wait for %&apos;n&apos; secs or until %&apos;pred&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">10</input><input type="%boolUE" initial="1"></input></inputs><script><block s="doDeclareVariables"><list><l>time</l></list></block><block s="doSetVar"><l>time</l><block s="reportDate"><l><option>time in milliseconds</option></l></block></block><block s="doWaitUntil"><block s="reportVariadicOr"><list><block s="evaluate"><block var="pred"/><list></list></block><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportDifference"><block s="reportDate"><l><option>time in milliseconds</option></l></block><block var="time"/></block><block s="reportVariadicProduct"><list><block var="n"/><l>1000</l></list></block></list></block></list></block></block></script><scripts><comment x="368.3724609375" y="27.68333333333334" w="90" collapsed="false">Thl to cymplecy and mark4sisb for the block !</comment></scripts></block-definition><block-definition s="run but exit if %&apos;condition&apos; %&apos;script&apos; $-- %&apos;option&apos;" type="command" category="control"><comment x="0" y="0" w="197.5" collapsed="false">similar to&#xD;repeat&#xD;...&#xD;until&#xD;but will exit straight away if condition is true</comment><header></header><code></code><translations></translations><inputs><input type="%boolUE" initial="1"></input><input type="%cs" irreplaceable="true" initial="1"></input><input type="%mult%cs" irreplaceable="true" expand="and run " max="1"></input></inputs><script><custom-block s="catch %upvar %cs"><l>tag</l><script><block s="doForEach"><l>item</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><block s="reportIfElse"><block s="reportListContainsItem"><block s="reportNewList"><list><block s="reifyScript"><script><block s="doWait"><l></l></block></script><list></list></block><block s="reifyScript"><script><block s="doSayFor"><l></l><l></l></block></script><list></list></block><block s="reifyScript"><script><block s="doThinkFor"><l></l><l></l></block></script><list></list></block><block s="reifyScript"><script><block s="doGlide"><l></l><l></l><l></l></block></script><list></list></block></list></block><block s="reportListItem"><l>1</l><l/></block></block><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reportListItem"><block s="reportListIndex"><block s="reportListItem"><l>1</l><l/></block><block s="reportNewList"><list><block s="reifyScript"><script><block s="doWait"><l></l></block></script><list></list></block><block s="reifyScript"><script><block s="doSayFor"><l></l><l></l></block></script><list></list></block><block s="reifyScript"><script><block s="doThinkFor"><l></l><l></l></block></script><list></list></block><block s="reifyScript"><script><block s="doGlide"><l></l><l></l><l></l></block></script><list></list></block></list></block></block><block s="reportNewList"><list><block s="reifyScript"><script><custom-block s="wait for %n secs or until %boolUE"><l></l><l/></custom-block></script><list></list></block><block s="reifyScript"><script><custom-block s="say %s for %n secs or until %boolUE"><l></l><l></l><l/></custom-block></script><list></list></block><block s="reifyScript"><script><custom-block s="think %s for %n secs or until %boolUE"><l></l><l></l><l/></custom-block></script><list></list></block><block s="reifyScript"><script><custom-block s="glide %n secs to x: %n y: %n and stop when %boolUE"><l></l><l></l><l></l><l/></custom-block></script><list></list></block></list></block></block></list></block><block s="reportCDR"><l/></block><block s="reportNewList"><list><block var="condition"/></list></block></list></block><l></l></block></block></autolambda><list></list></block><block s="reportTextSplit"><block var="script"/><l><option>blocks</option></l></block></block><script><block s="doIf"><block s="evaluate"><block var="condition"/><list></list></block><script><block s="doRun"><block s="reportListItem"><l>1</l><block var="option"/></block><list></list></block><custom-block s="throw %s"><block var="tag"/></custom-block></script><list></list></block><block s="doRun"><block var="item"/><list></list></block></script></block></script></custom-block></script><scripts><comment x="570.12158203125" y="112.19999999999999" w="90" collapsed="false">Thl to cymplecy and mark4sisb for the block !</comment></scripts></block-definition><block-definition s="run %&apos;action&apos; with continuation" type="command" category="control"><header></header><code></code><translations>de:führe _ mit Continuation aus&#xD;</translations><inputs><input type="%cmdRing" initial="1"></input></inputs><script><block s="doRun"><block var="action"/><list><block s="reportEnvironment"><l><option>continuation</option></l></block></list></block></script></block-definition><block-definition s="do in parallel %&apos;actions&apos; and wait" type="command" category="control"><comment x="0" y="0" w="238.66666666666666" collapsed="false">Accepts any number of scripts as inputs.  Launches a separate thread for each of them, so they are done in parallel, then waits for them all to complete.&#xD;&#xD;This doesn&apos;t change how the Snap! scheduler works; the threads are not truly asynchronous. And there is no increase in speed.  Rather, the point of this block is to allow starting synchronized but independent scripts.</comment><header></header><code></code><translations>pt:executa _ em paralelo e espera&#xD;ca:executa en paral·lel _ i espera&#xD;pl:wykonaj równolegle _ i czekaj&#xD;</translations><inputs><input type="%mult%cs" initial="1"></input></inputs><script><block s="doDeclareVariables"><list><l>threads</l></list></block><block s="doSetVar"><l>threads</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block s="reifyScript"><script><block s="doDeclareVariables"><list><l>is running?</l></list></block><block s="doSetVar"><l>is running?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="fork"><block s="reifyScript"><script><block s="doRun"><block var="each script"/><list></list></block><block s="doSetVar"><l>is running?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><list></list></block><block s="doReport"><block s="reifyScript"><script><block s="doReport"><block var="is running?"/></block></script><list></list></block></block></script><list></list></block><list></list></block></autolambda><list><l>each script</l></list></block><block var="actions"/></block></block><block s="doWaitUntil"><block s="reportListIsEmpty"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="evaluate"><block var="test"/><list></list></block></autolambda><list><l>test</l></list></block><block var="threads"/></block></block></block></script></block-definition><block-definition s="do in parallel %&apos;actions&apos;" type="command" category="control"><comment x="0" y="0" w="238.66666666666666" collapsed="false">Accepts any number of scripts as inputs.  Launches a separate thread for each of them, so they are done in parallel, then continues with the current script while they all run.&#xD;&#xD;This doesn&apos;t change how the Snap! scheduler works; the threads are not truly asynchronous. And there is no increase in speed.  Rather, the point of this block is to allow starting synchronized but independent scripts.</comment><header></header><code></code><translations>pt:executa _ em paralelo&#xD;ca:executa en paral·lel _&#xD;pl:wykonaj równolegle _&#xD;</translations><inputs><input type="%mult%cs" initial="1"></input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="actions"/></block><l>0</l></list></block><script><block s="fork"><block s="reportListItem"><l>1</l><block var="actions"/></block><list></list></block><custom-block s="do in parallel %mult%cs"><block s="reportCDR"><block var="actions"/></block></custom-block></script><list></list></block></script></block-definition><block-definition s="clones of %&apos;sprite&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1"><options>§_clonablesMenu</options></input></inputs><script><block s="doReport"><block s="reportAskFor"><block var="sprite"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>clones</option></l></block></autolambda><list></list></block><list></list></block></block></script></block-definition><block-definition s="$arrowLeftOutline %&apos;NbMove&apos;" type="command" category="Design helpers"><header></header><code></code><translations></translations><inputs><input type="%n">10</input></inputs><script><block s="changeXPosition"><block s="reportMonadic"><l><option>neg</option></l><block var="NbMove"/></block></block></script></block-definition><block-definition s="$arrowRightOutline %&apos;NbMove&apos;" type="command" category="Design helpers"><header></header><code></code><translations></translations><inputs><input type="%n">10</input></inputs><script><block s="changeXPosition"><block var="NbMove"/></block></script></block-definition><block-definition s="$arrowUpOutline %&apos;NbMove&apos;" type="command" category="Design helpers"><header></header><code></code><translations></translations><inputs><input type="%n">10</input></inputs><script><block s="changeYPosition"><block var="NbMove"/></block></script></block-definition><block-definition s="$arrowDownOutline %&apos;NbMove&apos;" type="command" category="Design helpers"><header></header><code></code><translations></translations><inputs><input type="%n">10</input></inputs><script><block s="changeYPosition"><block s="reportMonadic"><l><option>neg</option></l><block var="NbMove"/></block></block></script></block-definition><block-definition s="$arrowLeftOutline" type="command" category="Design helpers"><header></header><code></code><translations></translations><inputs></inputs><script><block s="changeXPosition"><l>-1</l></block></script></block-definition><block-definition s="$arrowRightOutline" type="command" category="Design helpers"><header></header><code></code><translations></translations><inputs></inputs><script><block s="changeXPosition"><l>1</l></block></script></block-definition><block-definition s="$arrowUpOutline" type="command" category="Design helpers"><header></header><code></code><translations></translations><inputs></inputs><script><block s="changeYPosition"><l>1</l></block></script></block-definition><block-definition s="$arrowDownOutline" type="command" category="Design helpers"><header></header><code></code><translations></translations><inputs></inputs><script><block s="changeYPosition"><l>-1</l></block></script></block-definition><block-definition s="$arrowRightOutline center $arrowLeftOutline" type="command" category="Design helpers"><comment x="0" y="0" w="232.39999999999995" collapsed="false">Center this sprite horizontally on the stage&#xD;&#xD;Block by Loucheman v1.0</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="changeXPosition"><block s="reportMonadic"><l><option>neg</option></l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportGet"><l><option>left</option></l></block><block s="reportGet"><l><option>right</option></l></block></list></block><l>2</l></block></block></block></script></block-definition><block-definition s="$arrowUpOutline center $arrowDownOutline" type="command" category="Design helpers"><comment x="0" y="0" w="208.39999999999998" collapsed="false">Center this sprite vertically on the stage&#xD;&#xD;Block by Loucheman v1.0</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="changeYPosition"><block s="reportMonadic"><l><option>neg</option></l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportGet"><l><option>bottom</option></l></block><block s="reportGet"><l><option>top</option></l></block></list></block><l>2</l></block></block></block></script></block-definition><block-definition s="%&apos;alignment&apos; alignement of %&apos;spriteToAlign&apos; with %&apos;sprite2&apos; offset %&apos;offset&apos;" type="command" category="Design helpers"><comment x="0" y="0" w="269" collapsed="false">Do an aligment on sprite1 over sprite 2&#xD;&#xD;left-left mean left of the 1st sprite will be align with left of the 2nd sprite&#xD;&#xD;Block by Loucheman (v1.03)</comment><header></header><code></code><translations></translations><inputs><input type="%txt">left-left<options>left-left&#xD;right-right&#xD;top-top&#xD;bottom-bottom&#xD;center horizontal&#xD;center vertical&#xD;center h &amp; v&#xD;left-right&#xD;right-left&#xD;top-bottom&#xD;bottom-top&#xD;pivot-pivot</options></input><input type="%mult%s">myself<options>§_objectsMenu</options></input><input type="%s">choose...<options>§_objectsMenu</options></input><input type="%n">0</input></inputs><script><block s="doWarp"><script><block s="doSetVar"><l>spriteToAlign</l><block s="reportListAttribute"><l><option>flatten</option></l><block var="spriteToAlign"/></block><comment w="571" collapsed="true">to accept a list into the slot: you can mix list and object (you can use block like &quot;my other sprites&quot; directly into a slot</comment></block><block s="doSetVar"><l>spriteToAlign</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><block var="value"/><l><option>sprite</option></l></block><block var="value"/><block s="reportObject"><block var="value"/></block></block></autolambda><list><l>value</l></list></block><block var="spriteToAlign"/></block><comment w="90" collapsed="false">convert descriptions into object if not already an real object: so you can mix real object with sprites names (description)</comment></block><block s="doSetVar"><l>sprite2</l><block s="reportObject"><block var="sprite2"/></block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIsA"><block var="value"/><l><option>sprite</option></l></block></autolambda><list><l>value</l></list></block><block var="spriteToAlign"/></block></block></block><script><custom-block s="error %s"><l>Only sprites are allowed...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="sprite2"/><l><option>sprite</option></l></block></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="sprite2"/><block s="reportObject"><l>Stage</l></block></list></block></block><script><custom-block s="error %s"><l>Only sprite or stage allowed...</l></custom-block></script><list></list><comment w="118.99999999999999" collapsed="false">the 2nd sprite can be the stage... no error in this case...</comment></block></script><list></list></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListIndex"><block var="sprite2"/><block var="spriteToAlign"/></block><l>0</l></list></block><script><block s="doDeleteFromList"><block s="reportListIndex"><block var="sprite2"/><block var="spriteToAlign"/></block><block var="spriteToAlign"/></block></script><list></list><comment w="90" collapsed="false">can&apos;t align a sprite with itself: remove it from the list...</comment></block><block s="doForEach"><l>sprite1</l><block var="spriteToAlign"/><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="alignment"/><l>left-left</l></list></block><script><block s="doTellTo"><block var="sprite1"/><block s="reifyScript"><script><block s="changeXPosition"><block s="reportVariadicSum"><list><block s="reportDifference"><block s="reportAttributeOf"><l><option>left</option></l><block var="sprite2"/></block><block s="reportAttributeOf"><l><option>left</option></l><block var="sprite1"/></block></block><block var="offset"/></list></block></block></script><list></list></block><list></list></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="alignment"/><l>right-right</l></list></block><script><block s="doTellTo"><block var="sprite1"/><block s="reifyScript"><script><block s="changeXPosition"><block s="reportDifference"><block s="reportDifference"><block s="reportAttributeOf"><l><option>right</option></l><block var="sprite2"/></block><block s="reportAttributeOf"><l><option>right</option></l><block var="sprite1"/></block></block><block var="offset"/></block></block></script><list></list></block><list></list></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="alignment"/><l>top-top</l></list></block><script><block s="doTellTo"><block var="sprite1"/><block s="reifyScript"><script><block s="changeYPosition"><block s="reportDifference"><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><block var="sprite2"/></block><block s="reportAttributeOf"><l><option>top</option></l><block var="sprite1"/></block></block><block var="offset"/></block></block></script><list></list></block><list></list></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="alignment"/><l>bottom-bottom</l></list></block><script><block s="doTellTo"><block var="sprite1"/><block s="reifyScript"><script><block s="changeYPosition"><block s="reportVariadicSum"><list><block s="reportDifference"><block s="reportAttributeOf"><l><option>bottom</option></l><block var="sprite2"/></block><block s="reportAttributeOf"><l><option>bottom</option></l><block var="sprite1"/></block></block><block var="offset"/></list></block></block></script><list></list></block><list></list></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="alignment"/><l>left-right</l></list></block><script><block s="doTellTo"><block var="sprite1"/><block s="reifyScript"><script><block s="changeXPosition"><block s="reportVariadicSum"><list><block s="reportDifference"><block s="reportAttributeOf"><l><option>right</option></l><block var="sprite2"/></block><block s="reportAttributeOf"><l><option>left</option></l><block var="sprite1"/></block></block><block var="offset"/></list></block></block></script><list></list></block><list></list></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="alignment"/><l>right-left</l></list></block><script><block s="doTellTo"><block var="sprite1"/><block s="reifyScript"><script><block s="changeXPosition"><block s="reportDifference"><block s="reportDifference"><block s="reportAttributeOf"><l><option>left</option></l><block var="sprite2"/></block><block s="reportAttributeOf"><l><option>right</option></l><block var="sprite1"/></block></block><block var="offset"/></block></block></script><list></list></block><list></list></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="alignment"/><l>top-bottom</l></list></block><script><block s="doTellTo"><block var="sprite1"/><block s="reifyScript"><script><block s="changeYPosition"><block s="reportDifference"><block s="reportDifference"><block s="reportAttributeOf"><l><option>bottom</option></l><block var="sprite2"/></block><block s="reportAttributeOf"><l><option>top</option></l><block var="sprite1"/></block></block><block var="offset"/></block></block></script><list></list></block><list></list></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="alignment"/><l>bottom-top</l></list></block><script><block s="doTellTo"><block var="sprite1"/><block s="reifyScript"><script><block s="changeYPosition"><block s="reportVariadicSum"><list><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><block var="sprite2"/></block><block s="reportAttributeOf"><l><option>bottom</option></l><block var="sprite1"/></block></block><block var="offset"/></list></block></block></script><list></list></block><list></list></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="alignment"/><l>pivot-pivot</l></list></block><script><block s="doTellTo"><block var="sprite1"/><block s="reifyScript"><script><block s="doGotoObject"><block var="sprite2"/></block></script><list></list></block><list></list><comment w="90" collapsed="false">no offset in this case</comment></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="alignment"/><l>center horizontal</l></list></block><script><block s="doTellTo"><block var="sprite1"/><block s="reifyScript"><script><block s="changeXPosition"><block s="reportDifference"><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>left</option></l><block var="sprite2"/></block><block s="reportAttributeOf"><l><option>right</option></l><block var="sprite2"/></block></list></block><l>2</l></block><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>left</option></l><block var="sprite1"/></block><block s="reportAttributeOf"><l><option>right</option></l><block var="sprite1"/></block></list></block><l>2</l></block></block></block></script><list></list></block><list></list><comment w="90" collapsed="false">no offset in this case</comment></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="alignment"/><l>center vertical</l></list></block><script><block s="doTellTo"><block var="sprite1"/><block s="reifyScript"><script><block s="changeYPosition"><block s="reportDifference"><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>top</option></l><block var="sprite2"/></block><block s="reportAttributeOf"><l><option>bottom</option></l><block var="sprite2"/></block></list></block><l>2</l></block><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>top</option></l><block var="sprite1"/></block><block s="reportAttributeOf"><l><option>bottom</option></l><block var="sprite1"/></block></list></block><l>2</l></block></block></block></script><list></list></block><list></list><comment w="90" collapsed="false">no offset in this case</comment></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="alignment"/><l>center h &amp; v</l></list></block><script><block s="doTellTo"><block var="sprite1"/><block s="reifyScript"><script><block s="changeXPosition"><block s="reportDifference"><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>left</option></l><block var="sprite2"/></block><block s="reportAttributeOf"><l><option>right</option></l><block var="sprite2"/></block></list></block><l>2</l></block><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>left</option></l><block var="sprite1"/></block><block s="reportAttributeOf"><l><option>right</option></l><block var="sprite1"/></block></list></block><l>2</l></block></block></block><block s="changeYPosition"><block s="reportDifference"><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>top</option></l><block var="sprite2"/></block><block s="reportAttributeOf"><l><option>bottom</option></l><block var="sprite2"/></block></list></block><l>2</l></block><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>top</option></l><block var="sprite1"/></block><block s="reportAttributeOf"><l><option>bottom</option></l><block var="sprite1"/></block></list></block><l>2</l></block></block></block></script><list></list><comment w="90" collapsed="false">no offset in this case</comment></block><list></list></block></script><script><custom-block s="error %s"><l>Unknow alignment...</l></custom-block></script></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block></script><scripts><comment x="482" y="260.20000000000005" w="304" collapsed="false">v1.00 : Original block : only left alignment&#xD;v1.01 : Fusion of 4 blocks (left,right,top,bottom) into 1 block&#xD;            Adding alignment parameter (left,right,top,bottom)&#xD;v1.02 : More alignment parameters (now left-left,right-right,&#xD;            top-top,bottom-bottom,center horizontal,center vertical,&#xD;            left-right,right-left,top-bottom,bottom-top,pivot-pivot)&#xD;v1.03 : Adding offset parameter</comment></scripts></block-definition><block-definition s="distribute sprites: %&apos;sprites&apos; %&apos;direction&apos; on the stage ( keep natural order? %&apos;naturalOrder?&apos; )" type="command" category="Design helpers"><comment x="0" y="0" w="260" collapsed="false">Distribute a list of sprite on the stage with the same spacing between sprites&#xD;&#xD;Sprites: Write sprites name into the variadic slot or you can use the helper block (an object picker).&#xD;&#xD;Sprite can be: the name of a sprite, an object (like my self or a clone), a list of object (like&quot;my other sprites&quot; or your own list)&#xD;&#xD;keep natural order : &#xD;    true: display sprites on the screen in natural order&#xD;    (left to right / top to botton) order to&#xD;    false: display sprites on the screen ordered in order&#xD;    of the parameters&#xD;&#xD;See inside the block for an example of how to use the helper block to pick a sprite.&#xD;&#xD;Block by Loucheman v1.1</comment><header></header><code></code><translations></translations><inputs><input type="%mult%txt"></input><input type="%txt" readonly="true">vertically<options>vertically&#xD;horizontally</options></input><input type="%b">true</input></inputs><script><custom-block s="// %mlt"><l>&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;</l></custom-block><block s="doWarp"><script><block s="doSetVar"><l>sprites</l><block s="reportListAttribute"><l><option>flatten</option></l><block var="sprites"/></block><comment w="571" collapsed="true">to accept a list into the slot: you can mix list and object (you can use block like &quot;my other sprites&quot; directly into a slot</comment></block><block s="doSetVar"><l>sprites</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><block var="value"/><l><option>sprite</option></l></block><block var="value"/><block s="reportObject"><block var="value"/></block></block></autolambda><list><l>value</l></list></block><block var="sprites"/></block><comment w="90" collapsed="false">convert descriptions into object if not already an real object: so you can mix real object with sprites names (description)</comment></block><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIsA"><block var="value"/><l><option>sprite</option></l></block></autolambda><list><l>value</l></list></block><block var="sprites"/></block></block></block><script><custom-block s="error %s"><l>Only sprites are allowed...</l></custom-block></script><list></list></block><block s="doSetVar"><l>sprites</l><custom-block s="$flash remove duplicates from %l"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportObject"><l></l></block></autolambda><list></list></block><block var="sprites"/></block></custom-block><comment w="81" collapsed="false">no duplicated sprites allowed...</comment></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="direction"/><l>vertically</l></list></block><script><custom-block s="// %mlt"><l>vertically</l></custom-block><block s="doIf"><block var="naturalOrder?"/><script><block s="doSetVar"><l>sprites</l><block s="reportListItem"><l>1</l><block s="reportListAttribute"><l><option>columns</option></l><custom-block s="$flash sort %l ordering with %predRing"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><l></l><block s="reportAttributeOf"><l><option>top</option></l><l></l></block></list></block></autolambda><list></list></block><block var="sprites"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>2</l><l/></block><block s="reportListItem"><l>2</l><l/></block></list></block></autolambda><list></list></block></custom-block></block></block></block></script><list></list></block><block s="doSetVar"><l>sprites</l><block s="reportListAttribute"><l><option>reverse</option></l><block var="sprites"/></block><comment w="252.99999999999997" collapsed="true">reverse: because draw botton to top</comment></block><custom-block s="let %upvar be %s"><l>spacing</l><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block s="reportVariadicSum"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportAttributeOf"><l><option>height</option></l><block var="value"/></block></autolambda><list><l>value</l></list></block><block var="sprites"/></block></block></block><block s="reportVariadicSum"><list><block s="reportListAttribute"><l><option>length</option></l><block var="sprites"/></block><l>1</l></list></block></block></custom-block><custom-block s="let %upvar be %s"><l>where to left align</l><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>bottom</option></l><l>Stage</l></block><block var="spacing"/></list></block></custom-block><custom-block s="%upvar for each %upvar of %l %ca"><l>#</l><l>item</l><block var="sprites"/><script><block s="doTellTo"><block var="item"/><block s="reifyScript"><script><block s="changeYPosition"><block s="reportDifference"><block var="where"/><block s="reportAttributeOf"><l><option>bottom</option></l><block s="reportGet"><l><option>self</option></l></block></block></block></block></script><list><l>where</l></list></block><list><block var="where to left align"/></list></block><block s="doChangeVar"><l>where to left align</l><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>height</option></l><block var="item"/></block><block var="spacing"/></list></block></block></script></custom-block></script><script><custom-block s="// %mlt"><l>horizontally</l></custom-block><block s="doIf"><block var="naturalOrder?"/><script><block s="doSetVar"><l>sprites</l><block s="reportListItem"><l>1</l><block s="reportListAttribute"><l><option>columns</option></l><custom-block s="$flash sort %l ordering with %predRing"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><l></l><block s="reportAttributeOf"><l><option>left</option></l><l></l></block></list></block></autolambda><list></list></block><block var="sprites"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>2</l><l/></block><block s="reportListItem"><l>2</l><l/></block></list></block></autolambda><list></list></block></custom-block></block></block></block></script><list></list></block><custom-block s="let %upvar be %s"><l>spacing</l><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block s="reportVariadicSum"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportAttributeOf"><l><option>width</option></l><block var="value"/></block></autolambda><list><l>value</l></list></block><block var="sprites"/></block></block></block><block s="reportVariadicSum"><list><block s="reportListAttribute"><l><option>length</option></l><block var="sprites"/></block><l>1</l></list></block></block></custom-block><custom-block s="let %upvar be %s"><l>where to left align</l><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block><block var="spacing"/></list></block></custom-block><custom-block s="%upvar for each %upvar of %l %ca"><l>#</l><l>item</l><block var="sprites"/><script><block s="doTellTo"><block var="item"/><block s="reifyScript"><script><block s="changeXPosition"><block s="reportDifference"><block var="where"/><block s="reportAttributeOf"><l><option>left</option></l><block s="reportGet"><l><option>self</option></l></block></block></block></block></script><list><l>where</l></list></block><list><block var="where to left align"/></list></block><block s="doChangeVar"><l>where to left align</l><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>width</option></l><block var="item"/></block><block var="spacing"/></list></block></block></script></custom-block></script></block></script></block></script><scripts><script x="556.0000000000001" y="570.1666666666664"><custom-block s="distribute free space between sprites: %mult%txt %txt ( keep natural order? %b )"><list><custom-block s="helper: sprite picker %txt"><l>Sprite</l></custom-block><block s="reportGet"><l><option>other sprites</option></l></block></list><l>vertically</l><l><bool>true</bool></l><comment w="90" collapsed="false">you can mix non-object with real object</comment></custom-block></script><script x="554" y="504.88095238095207"><custom-block s="distribute free space between sprites: %mult%txt %txt ( keep natural order? %b )"><list><custom-block s="helper: sprite picker %txt"><l>Sprite</l></custom-block><l></l></list><l>vertically</l><l><bool>true</bool></l><comment w="122.00000000000001" collapsed="false">how to use helper block</comment></custom-block></script><script x="556.4285714285714" y="639.1666666666669"><custom-block s="distribute free space between sprites: %mult%txt %txt ( keep natural order? %b )"><list><custom-block s="helper: sprite picker %txt"><l>Sprite</l></custom-block><l>Sprite2</l></list><l>vertically</l><l><bool>true</bool></l><comment w="90" collapsed="false">you can write the sprite name directely into the slot</comment></custom-block></script><script x="556.2857142857143" y="707.0571428571428"><custom-block s="distribute free space between sprites: %mult%txt %txt ( keep natural order? %b )"><list><custom-block s="helper: sprite picker %txt"><l>Sprite</l></custom-block><block s="reportNewList"><list><custom-block s="helper: sprite picker %txt"><l>Sprite2</l></custom-block><l>Sprite3</l><block s="reportGet"><l><option>other sprites</option></l></block></list></block></list><l>vertically</l><l><bool>true</bool></l><comment w="90" collapsed="false">you can put list directly into a slot</comment></custom-block></script><script x="556.5714285714284" y="797.4619047619046"><custom-block s="distribute free space between sprites: %mult%txt %txt ( keep natural order? %b )"><block s="reportNewList"><list><custom-block s="helper: sprite picker %txt"><l>Sprite2</l></custom-block><l>Sprite3</l><block s="reportGet"><l><option>other sprites</option></l></block></list></block><l>vertically</l><l><bool>true</bool></l><comment w="90" collapsed="false">you can put list into the variadic control</comment></custom-block></script></scripts></block-definition><block-definition s="distribute free space between sprites: %&apos;sprites&apos; %&apos;direction&apos; ( keep natural order? %&apos;naturalOrder?&apos; )" type="command" category="Design helpers"><comment x="0" y="0" w="260" collapsed="false">Distribute a list of sprite on the stage with the same spacing between sprites&#xD;&#xD;Sprites: Write sprites name into the variadic slot or you can use the helper block (an object picker).  You need at least 3 sprite to see an effect...&#xD;&#xD;Sprite can be: the name of a sprite, an object (like my self or a clone), a list of object (like&quot;my other sprites&quot; or your own list)&#xD;&#xD;keep natural order : &#xD;    true: display sprites on the screen in natural order&#xD;    (left to right / top to botton) order to&#xD;    false: display sprites on the screen ordered in order&#xD;    of the parameters&#xD;&#xD;See inside the block for an example of how to use the helper block to pick a sprite.&#xD;&#xD;Block by Loucheman v1.1</comment><header></header><code></code><translations></translations><inputs><input type="%mult%txt"></input><input type="%txt" readonly="true">vertically<options>vertically&#xD;horizontally</options></input><input type="%b">true</input></inputs><script><custom-block s="// %mlt"><l>&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;</l></custom-block><block s="doWarp"><script><block s="doSetVar"><l>sprites</l><block s="reportListAttribute"><l><option>flatten</option></l><block var="sprites"/></block><comment w="571" collapsed="true">to accept a list into the slot: you can mix list and object (you can use block like &quot;my other sprites&quot; directly into a slot</comment></block><block s="doSetVar"><l>sprites</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><block var="value"/><l><option>sprite</option></l></block><block var="value"/><block s="reportObject"><block var="value"/></block></block></autolambda><list><l>value</l></list></block><block var="sprites"/></block><comment w="90" collapsed="false">convert descriptions into object if not already an real object: so you can mix real object with sprites names (description)</comment></block><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIsA"><block var="value"/><l><option>sprite</option></l></block></autolambda><list><l>value</l></list></block><block var="sprites"/></block></block></block><script><custom-block s="error %s"><l>Only sprites are allowed...</l></custom-block></script><list></list></block><block s="doSetVar"><l>sprites</l><custom-block s="$flash remove duplicates from %l"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportObject"><l></l></block></autolambda><list></list></block><block var="sprites"/></block></custom-block><comment w="81" collapsed="false">no duplicated sprites allowed...</comment></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="direction"/><l>vertically</l></list></block><script><custom-block s="// %mlt"><l>vertically</l></custom-block><block s="doIf"><block var="naturalOrder?"/><script><block s="doSetVar"><l>sprites</l><block s="reportListItem"><l>1</l><block s="reportListAttribute"><l><option>columns</option></l><custom-block s="$flash sort %l ordering with %predRing"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><l></l><block s="reportAttributeOf"><l><option>top</option></l><l></l></block></list></block></autolambda><list></list></block><block var="sprites"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>2</l><l/></block><block s="reportListItem"><l>2</l><l/></block></list></block></autolambda><list></list></block></custom-block></block></block></block></script><list></list><comment w="260" collapsed="true">natural order: order by top of each sprite</comment></block><block s="doSetVar"><l>sprites</l><block s="reportListAttribute"><l><option>reverse</option></l><block var="sprites"/></block><comment w="252.99999999999997" collapsed="true">reverse: because draw botton to top</comment></block><custom-block s="let %upvar be %s"><l>spacing</l><block s="reportQuotient"><block s="reportDifference"><block s="reportDifference"><block s="reportVariadicMax"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportAttributeOf"><l><option>top</option></l><block var="value"/></block></autolambda><list><l>value</l></list></block><block var="sprites"/></block></block><block s="reportVariadicMin"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportAttributeOf"><l><option>bottom</option></l><block var="value"/></block></autolambda><list><l>value</l></list></block><block var="sprites"/></block></block></block><block s="reportVariadicSum"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportAttributeOf"><l><option>height</option></l><block var="value"/></block></autolambda><list><l>value</l></list></block><block var="sprites"/></block></block></block><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="sprites"/></block><l>1</l></block></block></custom-block><custom-block s="let %upvar be %s"><l>where to align</l><block s="reportVariadicMin"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportAttributeOf"><l><option>bottom</option></l><block var="value"/></block></autolambda><list><l>value</l></list></block><block var="sprites"/></block></block><comment w="90" collapsed="false">find the lowest bottom from sprite list, will draw the 1st sprite on the botton from this point</comment></custom-block><custom-block s="%upvar for each %upvar of %l %ca"><l>#</l><l>item</l><block var="sprites"/><script><block s="doTellTo"><block var="item"/><block s="reifyScript"><script><block s="changeYPosition"><block s="reportDifference"><block var="where"/><block s="reportAttributeOf"><l><option>bottom</option></l><block s="reportGet"><l><option>self</option></l></block></block></block></block></script><list><l>where</l></list></block><list><block var="where to align"/></list></block><block s="doChangeVar"><l>where to align</l><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>height</option></l><block var="item"/></block><block var="spacing"/></list></block></block></script></custom-block></script><script><custom-block s="// %mlt"><l>horizontally</l></custom-block><block s="doIf"><block var="naturalOrder?"><comment w="260" collapsed="true">natural order: order by left of each sprite</comment></block><script><block s="doSetVar"><l>sprites</l><block s="reportListItem"><l>1</l><block s="reportListAttribute"><l><option>columns</option></l><custom-block s="$flash sort %l ordering with %predRing"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><l></l><block s="reportAttributeOf"><l><option>left</option></l><l></l></block></list></block></autolambda><list></list></block><block var="sprites"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>2</l><l/></block><block s="reportListItem"><l>2</l><l/></block></list></block></autolambda><list></list></block></custom-block></block></block></block></script><list></list></block><custom-block s="let %upvar be %s"><l>spacing</l><block s="reportQuotient"><block s="reportDifference"><block s="reportDifference"><block s="reportVariadicMax"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportAttributeOf"><l><option>right</option></l><block var="value"/></block></autolambda><list><l>value</l></list></block><block var="sprites"/></block></block><block s="reportVariadicMin"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportAttributeOf"><l><option>left</option></l><block var="value"/></block></autolambda><list><l>value</l></list></block><block var="sprites"/></block></block></block><block s="reportVariadicSum"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportAttributeOf"><l><option>width</option></l><block var="value"/></block></autolambda><list><l>value</l></list></block><block var="sprites"/></block></block></block><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="sprites"/></block><l>1</l></block></block></custom-block><custom-block s="let %upvar be %s"><l>where to align</l><block s="reportVariadicMin"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportAttributeOf"><l><option>left</option></l><block var="value"/></block></autolambda><list><l>value</l></list></block><block var="sprites"/></block></block><comment w="90" collapsed="false">find the leftiest (?) from sprite list, will draw the 1st sprite on the left from this point</comment></custom-block><custom-block s="%upvar for each %upvar of %l %ca"><l>#</l><l>item</l><block var="sprites"/><script><block s="doTellTo"><block var="item"/><block s="reifyScript"><script><block s="changeXPosition"><block s="reportDifference"><block var="where"/><block s="reportAttributeOf"><l><option>left</option></l><block s="reportGet"><l><option>self</option></l></block></block></block></block></script><list><l>where</l></list></block><list><block var="where to align"/></list></block><block s="doChangeVar"><l>where to align</l><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>width</option></l><block var="item"/></block><block var="spacing"/></list></block></block></script></custom-block></script></block></script></block></script><scripts><script x="569" y="514.1666666666665"><custom-block s="distribute free space between sprites: %mult%txt %txt ( keep natural order? %b )"><list><custom-block s="helper: sprite picker %txt"><l>Sprite</l></custom-block><custom-block s="helper: sprite picker %txt"><l>Sprite2</l></custom-block></list><l>vertically</l><l><bool>false</bool></l><comment w="122.00000000000001" collapsed="false">how to use helper block</comment></custom-block></script><script x="569.5714285714287" y="576.595238095238"><custom-block s="distribute free space between sprites: %mult%txt %txt ( keep natural order? %b )"><list><custom-block s="helper: sprite picker %txt"><l>Sprite</l></custom-block><block s="reportGet"><l><option>other sprites</option></l></block></list><l>vertically</l><l><bool>false</bool></l><comment w="90" collapsed="false">you can mix non-object with real object</comment></custom-block></script><script x="568.5714285714286" y="638.4523809523811"><custom-block s="distribute free space between sprites: %mult%txt %txt ( keep natural order? %b )"><list><custom-block s="helper: sprite picker %txt"><l>Sprite</l></custom-block><l>Sprite2</l></list><l>vertically</l><l><bool>false</bool></l><comment w="90" collapsed="false">you can write the sprite name directely into the slot</comment></custom-block></script><script x="569.1428571428571" y="696.342857142857"><custom-block s="distribute free space between sprites: %mult%txt %txt ( keep natural order? %b )"><list><custom-block s="helper: sprite picker %txt"><l>Sprite</l></custom-block><block s="reportNewList"><list><custom-block s="helper: sprite picker %txt"><l>Sprite2</l></custom-block><l>Sprite3</l><block s="reportGet"><l><option>other sprites</option></l></block></list></block></list><l>vertically</l><l><bool>false</bool></l><comment w="90" collapsed="false">you can put list directly into a slot</comment></custom-block></script><script x="569.4285714285713" y="790.3190476190474"><custom-block s="distribute free space between sprites: %mult%txt %txt ( keep natural order? %b )"><block s="reportNewList"><list><custom-block s="helper: sprite picker %txt"><l>Sprite2</l></custom-block><l>Sprite3</l><block s="reportGet"><l><option>other sprites</option></l></block></list></block><l>vertically</l><l><bool>false</bool></l><comment w="90" collapsed="false">you can put list into the variadic control</comment></custom-block></script></scripts></block-definition><block-definition s="helper: sprite picker %&apos;sprite&apos;" type="reporter" category="Design helpers"><comment x="0" y="0" w="182" collapsed="false">Object name picker&#xD;&#xD;It&apos;s an helper block for the distribute horizontally and vertically blocks&#xD;&#xD;See inside the block for more info...&#xD;&#xD;Block by Loucheman</comment><header></header><code></code><translations></translations><inputs><input type="%txt"><options>§_objectsMenu</options></input></inputs><script><block s="doReport"><block var="sprite"/></block></script><scripts><script x="10" y="264.3666666666666"><custom-block s="distribute sprites: %mult%txt %txt on the stage ( keep natural order? %b )"><list><custom-block s="helper: sprite picker %txt"><l>Sprite</l></custom-block></list><l>vertically</l><l/></custom-block></script><comment x="11.999999999999998" y="162.2" w="293" collapsed="true">How to use it ?</comment><comment x="100" y="196.2" w="95.99999999999999" collapsed="false">Drop it into this slot&#xD;&#xD;             V</comment></scripts></block-definition><block-definition s="set pivot to my center" type="command" category="Design helpers"><comment x="0" y="0" w="163" collapsed="false">Set the pivot (rotation center) in the middle of the costume (x &amp; y) &#xD;&#xD;Block by Loucheman v1.0</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l><option>my rotation x</option></l><custom-block s="average %mult%n"><list><block s="reportGet"><l><option>left</option></l></block><block s="reportGet"><l><option>right</option></l></block></list></custom-block></block><block s="doSetVar"><l><option>my rotation y</option></l><custom-block s="average %mult%n"><list><block s="reportGet"><l><option>bottom</option></l></block><block s="reportGet"><l><option>top</option></l></block></list></custom-block></block></script></block-definition><block-definition s="move horizontal pivot to %&apos;where&apos;" type="command" category="Design helpers"><comment x="0" y="0" w="163" collapsed="false">Set the horizontal pivot (rotation center) to the left, center or right of the sprite.&#xD;&#xD;Block by Loucheman v1.0</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">left<options>left&#xD;center&#xD;right</options></input></inputs><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="where"/><l>left</l></list></block><script><block s="doSetVar"><l><option>my rotation x</option></l><block s="reportGet"><l><option>left</option></l></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="where"/><l>center</l></list></block><script><block s="doSetVar"><l><option>my rotation x</option></l><custom-block s="average %mult%n"><list><block s="reportGet"><l><option>left</option></l></block><block s="reportGet"><l><option>right</option></l></block></list></custom-block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="where"/><l>right</l></list></block><script><block s="doSetVar"><l><option>my rotation x</option></l><block s="reportGet"><l><option>right</option></l></block></block></script><script><custom-block s="error %s"><l>Invalid parameter</l></custom-block></script></block></script></block></script></block></script></block-definition><block-definition s="move vertical pivot to %&apos;where&apos;" type="command" category="Design helpers"><comment x="0" y="0" w="163" collapsed="false">Set the vertical pivot (rotation center) to the top, center or bottom of the sprite.&#xD;&#xD;Block by Loucheman v1.0</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">top<options>top&#xD;center&#xD;bottom</options></input></inputs><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="where"/><l>top</l></list></block><script><block s="doSetVar"><l><option>my rotation y</option></l><block s="reportGet"><l><option>top</option></l></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="where"/><l>center</l></list></block><script><block s="doSetVar"><l><option>my rotation y</option></l><custom-block s="average %mult%n"><list><block s="reportGet"><l><option>bottom</option></l></block><block s="reportGet"><l><option>top</option></l></block></list></custom-block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="where"/><l>bottom</l></list></block><script><block s="doSetVar"><l><option>my rotation y</option></l><block s="reportGet"><l><option>bottom</option></l></block></block></script><script><custom-block s="error %s"><l>Invalid parameter</l></custom-block></script></block></script></block></script></block></script></block-definition><block-definition s="set draggable to %&apos;bool&apos; for all sprites" type="command" category="Design helpers"><comment x="0" y="0" w="90" collapsed="false">By Loucheman</comment><header></header><code></code><translations></translations><inputs><input type="%b" initial="1">false</input></inputs><script><block s="doForEach"><l>sprites</l><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>other sprites</option></l></block></autolambda><list></list></block><list></list></block><script><block s="doTellTo"><block var="sprites"/><block s="reifyScript"><script><block s="doSetVar"><l><option>my draggable?</option></l><block var="bool"/></block></script><list></list></block><list></list></block></script></block></script></block-definition><block-definition s="set (draggable=false) for all sprites" type="command" category="Design helpers"><comment x="0" y="0" w="90" collapsed="false">By Loucheman</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l><option>my draggable?</option></l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doForEach"><l>other sprites</l><block s="reportGet"><l><option>other sprites</option></l></block><script><block s="doTellTo"><block var="other sprites"/><block s="reifyScript"><script><block s="doSetVar"><l><option>my draggable?</option></l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><list></list></block></script></block></script></block-definition><block-definition s="$add-1-0-0-0 $color-1-0-0-0 $color-1-0-0-0 $functionality-1-0-0-0" type="command" category="IDE tools"><comment x="0" y="0" w="90" collapsed="false">by dardoro</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRun"><block s="reportJSFunction"><list></list><l>//Based on Snap! code base with minor modification&#xD;&#xD;if( !InputSlotDialogMorph.prototype._createSlotTypeButtons){&#xD;InputSlotDialogMorph.prototype._createSlotTypeButtons = InputSlotDialogMorph.prototype.createSlotTypeButtons  &#xD;}  &#xD;&#xD;InputSlotDialogMorph.prototype.createSlotTypeButtons = function () {&#xD;  this.addSlotTypeButton(&apos;Color&apos;, &apos;%clr&apos;);&#xD;  this._createSlotTypeButtons();  &#xD;}&#xD;&#xD;InputSlotDialogMorph.prototype.fixSlotsLayout = function () {&#xD;    var slots = this.slots,&#xD;        scale = SyntaxElementMorph.prototype.scale,&#xD;        xPadding = 10 * scale,&#xD;        ypadding = 14 * scale,&#xD;        bh = (fontHeight(10) / 1.2 + 15) * scale, // slot type button height&#xD;        ah = (fontHeight(10) / 1.2 + 10) * scale, // arity button height&#xD;        size = 13, // number slot type radio buttons&#xD;        cols = [&#xD;            slots.left() + xPadding,&#xD;            slots.left() + slots.width() / 3,&#xD;            slots.left() + slots.width() * 2 / 3&#xD;        ],&#xD;        rows = [&#xD;            slots.top() + ypadding,&#xD;            slots.top() + ypadding + bh,&#xD;            slots.top() + ypadding + bh * 2,&#xD;            slots.top() + ypadding + bh * 3,&#xD;            slots.top() + ypadding + bh * 4,&#xD;            slots.top() + ypadding + bh * 5,&#xD;&#xD;            slots.top() + ypadding + bh * 5 + ah,&#xD;            slots.top() + ypadding + bh * 5 + ah * 2&#xD;        ],&#xD;        idx,&#xD;        row = -1,&#xD;        col;&#xD;&#xD;    // slot types:&#xD;&#xD;    for (idx = 0; idx &lt; size; idx += 1) {&#xD;        col = idx % 3;&#xD;        if (idx % 3 === 0) {row += 1; }&#xD;        slots.children[idx].setPosition(new Point(&#xD;            cols[col],&#xD;            rows[row]&#xD;        ));&#xD;    }&#xD;&#xD;    // arity:&#xD;    col = 0;&#xD;    row = 5;&#xD;    for (idx = size; idx &lt; size + 3; idx += 1) {&#xD;        slots.children[idx].setPosition(new Point(&#xD;            cols[col],&#xD;            rows[row + idx - size]&#xD;        ));&#xD;    }&#xD;&#xD;    // default input&#xD;    this.slots.defaultInputLabel.setPosition(&#xD;        this.slots.radioButtonSingle.label.topRight().add(new Point(5, 0))&#xD;    );&#xD;    this.slots.defaultInputField.setCenter(&#xD;        this.slots.defaultInputLabel.center().add(new Point(&#xD;            this.slots.defaultInputField.width() / 2&#xD;                + this.slots.defaultInputLabel.width() / 2 + 5,&#xD;            0&#xD;        ))&#xD;    );&#xD;    this.slots.defaultSwitch.setCenter(&#xD;        this.slots.defaultInputLabel.center().add(new Point(&#xD;            this.slots.defaultSwitch.width() / 2&#xD;                + this.slots.defaultInputLabel.width() / 2 + 5,&#xD;            0&#xD;        ))&#xD;    );&#xD;&#xD;    // loop arrow&#xD;    this.slots.loopArrow.setPosition(this.slots.defaultInputLabel.position());&#xD;    this.slots.settingsButton.setPosition(&#xD;        this.slots.bottomRight().subtract(&#xD;            this.slots.settingsButton.extent().add(&#xD;                this.padding + this.slots.border&#xD;            )&#xD;        )&#xD;    );&#xD;&#xD;    this.slots.changed();&#xD;};&#xD;</l></block><list></list></block></script></block-definition><block-definition s="$add-1-0-0-0 $move-1-128-0-0 $to-1-128-0-0 $top-1-128-0-0 $menu-1-0-0-0 $in-1-0-0-0 $snap-1-0-0-0 $(shift+right-1-0-0-0 $click-1-0-0-0 $on-1-0-0-0 $the-1-0-0-0 $block)-1-0-0-0" type="command" category="IDE tools"><comment x="0" y="0" w="174.2857142857143" collapsed="false">Adding a menu item when you shift+right-click on a custum block to change the displayed order in the palette of this block&#xD;&#xD;v1.1 - move to the top, bottom, move up, move down !&#xD;&#xD;Thk to Dardoro</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><custom-block s="is JS enable?"></custom-block><script><block s="doRun"><block s="reportJSFunction"><list></list><l>BlockMorph.prototype._userMenu ??= BlockMorph.prototype.userMenu;&#xD;&#xD;function shiftArrItem( arr, item, shift){&#xD;  let from = arr.indexOf( item);&#xD;  if( from &lt; 0) return;&#xD;  let to = from + shift;&#xD;  to = to &lt; 0 ? 0 : to;&#xD;  arr.splice( to, 0, arr.splice( from, 1)[0]);&#xD;}&#xD;&#xD;function moveBlock( this_block, shift){&#xD; let rcvr = this_block.scriptTarget()&#xD;    ,ide = this_block.parentThatIsA( IDE_Morph)&#xD;    ,def = this_block.isGlobal ? this_block.definition : rcvr.getMethod( self.blockSpec)&#xD;    ,blocks = this_block.isGlobal ? ide.stage.globalBlocks : rcvr.customBlocks&#xD; ;&#xD; &#xD; blocks.sort( (a,b) =&gt; a.category.localeCompare(b.category));//reorder acros categories    &#xD; shiftArrItem( blocks, def, shift);&#xD; // * force refresh *&#xD; ide.recordUnsavedChanges();&#xD; ide.flushPaletteCache();&#xD; ide.refreshPalette();&#xD;}&#xD;&#xD;BlockMorph.prototype.userMenu = function(){&#xD;let menu = this._userMenu()&#xD;   ,shiftClicked = world.currentKey === 16;&#xD;&#xD; if( !(this.isCustomBlock &amp;&amp; shiftClicked)) &#xD;   return menu;&#xD;&#xD; menu.addItem(&#xD;     "move to top ^",&#xD;     ()=&gt;moveBlock( this, Number.MIN_SAFE_INTEGER)&#xD; );&#xD; menu.addItem(&#xD;     "move up",&#xD;     ()=&gt;moveBlock( this, -1)&#xD; );&#xD; menu.addItem(&#xD;     "move down",&#xD;     ()=&gt;moveBlock( this, 1)&#xD; );&#xD; menu.addItem(&#xD;     "move to bottom _",&#xD;     ()=&gt;moveBlock( this, Number.MAX_SAFE_INTEGER)&#xD; );&#xD;&#xD;return menu;&#xD;}&#xD;</l></block><list></list></block></script><script></script></block></script><scripts><script x="832" y="139.63333333333327"><block s="doRun"><block s="reportJSFunction"><list></list><l>if( CustomCommandBlockMorph.prototype._userMenu){&#xD;  CustomCommandBlockMorph.prototype.userMenu = CustomCommandBlockMorph.prototype._userMenu;&#xD;  delete CustomCommandBlockMorph.prototype._userMenu&#xD;}</l></block><list></list><comment w="90" collapsed="false">v1.0 - just move to the top</comment></block><block s="doRun"><block s="reportJSFunction"><list></list><l>if( !CustomCommandBlockMorph.prototype._userMenu){&#xD;  CustomCommandBlockMorph.prototype._userMenu = CustomCommandBlockMorph.prototype.userMenu;&#xD;}&#xD;&#xD;&#xD;&#xD;CustomCommandBlockMorph.prototype.userMenu = function(){&#xD;var&#xD; shiftClicked = world.currentKey === 16 &#xD; ,menu = this._userMenu();&#xD;&#xD; menu.addItem(&#xD;     "move block to top",&#xD;     function (){&#xD;       var rcvr = this.scriptTarget(),&#xD;           ide = this.parentThatIsA(IDE_Morph),&#xD;           def = this.isGlobal ? this.definition : rcvr.getMethod(this.blockSpec),&#xD;           spec = def.spec;&#xD;    &#xD;       if (this.isGlobal) {&#xD;          ide.stage.globalBlocks = ide.stage.globalBlocks.filter(item =&gt; item !== def);&#xD;&#xD;          ide.stage.globalBlocks.unshift(def);&#xD;       } else {&#xD;          rcvr.customBlocks = rcvr.customBlocks.filter(item =&gt; item !== def);&#xD;          rcvr.customBlocks.unshift(def);&#xD;&#xD;       }&#xD;&#xD;       ide.flushPaletteCache();&#xD;       ide.refreshPalette();&#xD;       ide.recordUnsavedChanges();&#xD; &#xD;       }&#xD;    );&#xD;&#xD; menu.addItem(&#xD;     "move block up",&#xD;     function (){&#xD;       var rcvr = this.scriptTarget(),&#xD;           ide = this.parentThatIsA(IDE_Morph),&#xD;           def = this.isGlobal ? this.definition : rcvr.getMethod(this.blockSpec),&#xD;           spec = def.spec;&#xD;       if (this.isGlobal) {&#xD;          let newPos = ide.stage.globalBlocks.indexOf(def);&#xD;          ide.stage.globalBlocks = ide.stage.globalBlocks.filter(item =&gt; item !== def);&#xD;          ide.stage.globalBlocks.splice(newPos-1,0,def);&#xD;       } else {&#xD;          let newPos = rcvr.customBlocks.indexOf(def);&#xD;          rcvr.customBlocks = rcvr.customBlocks.filter(item =&gt; item !== def);&#xD;          rcvr.customBlocks.splice(newPos-1,0,def);&#xD;       }&#xD;&#xD;       ide.flushPaletteCache();&#xD;       ide.refreshPalette();&#xD;       ide.recordUnsavedChanges();&#xD; &#xD;       }&#xD;    );&#xD;&#xD; menu.addItem(&#xD;     "move block down",&#xD;     function (){&#xD;       var rcvr = this.scriptTarget(),&#xD;           ide = this.parentThatIsA(IDE_Morph),&#xD;           def = this.isGlobal ? this.definition : rcvr.getMethod(this.blockSpec),&#xD;           spec = def.spec;&#xD;       if (this.isGlobal) {&#xD;          let newPos = ide.stage.globalBlocks.indexOf(def);&#xD;          ide.stage.globalBlocks = ide.stage.globalBlocks.filter(item =&gt; item !== def);&#xD;          ide.stage.globalBlocks.splice(newPos+1,0,def);&#xD;       } else {&#xD;          let newPos = rcvr.customBlocks.indexOf(def);&#xD;          rcvr.customBlocks = rcvr.customBlocks.filter(item =&gt; item !== def);&#xD;          rcvr.customBlocks.splice(newPos+1,0,def);&#xD;          rcvr.customBlocks.shift(def);&#xD;       }&#xD;&#xD;       ide.flushPaletteCache();&#xD;       ide.refreshPalette();&#xD;       ide.recordUnsavedChanges();&#xD; &#xD;       }&#xD;    );&#xD;&#xD;return menu;&#xD;}&#xD;</l></block><list></list></block><block s="doRun"><block s="reportJSFunction"><list></list><l>if( CustomReporterBlockMorph.prototype._userMenu){&#xD;  CustomReporterBlockMorph.prototype.userMenu = CustomReporterBlockMorph.prototype._userMenu;&#xD;  delete CustomReporterBlockMorph.prototype._userMenu&#xD;}</l></block><list></list></block><block s="doRun"><block s="reportJSFunction"><list></list><l>if( !CustomReporterBlockMorph.prototype._userMenu){&#xD;  CustomReporterBlockMorph.prototype._userMenu = CustomReporterBlockMorph.prototype.userMenu;&#xD;}&#xD;&#xD;&#xD;&#xD;CustomReporterBlockMorph.prototype.userMenu = function(){&#xD;var&#xD; shiftClicked = world.currentKey === 16 &#xD; ,menu = this._userMenu();&#xD;&#xD; menu.addItem(&#xD;     "move block to top",&#xD;     function (){&#xD;       var rcvr = this.scriptTarget(),&#xD;           ide = this.parentThatIsA(IDE_Morph),&#xD;           def = this.isGlobal ? this.definition : rcvr.getMethod(this.blockSpec),&#xD;           spec = def.spec;&#xD;    &#xD;       if (this.isGlobal) {&#xD;          ide.stage.globalBlocks = ide.stage.globalBlocks.filter(item =&gt; item !== def);&#xD;          ide.stage.globalBlocks.unshift(def);&#xD;       } else {&#xD;          rcvr.customBlocks = rcvr.customBlocks.filter(item =&gt; item !== def);&#xD;          rcvr.customBlocks.unshift(def);&#xD;&#xD;       }&#xD;&#xD;       ide.flushPaletteCache();&#xD;       ide.refreshPalette();&#xD;       ide.recordUnsavedChanges();&#xD; &#xD;       }&#xD;    );&#xD;&#xD; menu.addItem(&#xD;     "move block up",&#xD;     function (){&#xD;       var rcvr = this.scriptTarget(),&#xD;           ide = this.parentThatIsA(IDE_Morph),&#xD;           def = this.isGlobal ? this.definition : rcvr.getMethod(this.blockSpec),&#xD;           spec = def.spec;&#xD;       if (this.isGlobal) {&#xD;          let newPos = ide.stage.globalBlocks.indexOf(def);&#xD;          ide.stage.globalBlocks = ide.stage.globalBlocks.filter(item =&gt; item !== def);&#xD;          ide.stage.globalBlocks.splice(newPos-1,0,def);&#xD;       } else {&#xD;          let newPos = rcvr.customBlocks.indexOf(def);&#xD;          rcvr.customBlocks = rcvr.customBlocks.filter(item =&gt; item !== def);&#xD;          rcvr.customBlocks.splice(newPos-1,0,def);&#xD;       }&#xD;&#xD;       ide.flushPaletteCache();&#xD;       ide.refreshPalette();&#xD;       ide.recordUnsavedChanges();&#xD; &#xD;       }&#xD;    );&#xD;&#xD; menu.addItem(&#xD;     "move block down",&#xD;     function (){&#xD;       var rcvr = this.scriptTarget(),&#xD;           ide = this.parentThatIsA(IDE_Morph),&#xD;           def = this.isGlobal ? this.definition : rcvr.getMethod(this.blockSpec),&#xD;           spec = def.spec;&#xD;       if (this.isGlobal) {&#xD;          let newPos = ide.stage.globalBlocks.indexOf(def);&#xD;          ide.stage.globalBlocks = ide.stage.globalBlocks.filter(item =&gt; item !== def);&#xD;          ide.stage.globalBlocks.splice(newPos+1,0,def);&#xD;       } else {&#xD;          let newPos = rcvr.customBlocks.indexOf(def);&#xD;          rcvr.customBlocks = rcvr.customBlocks.filter(item =&gt; item !== def);&#xD;          rcvr.customBlocks.splice(newPos+1,0,def);&#xD;          rcvr.customBlocks.shift(def);&#xD;       }&#xD;&#xD;       ide.flushPaletteCache();&#xD;       ide.refreshPalette();&#xD;       ide.recordUnsavedChanges();&#xD; &#xD;       }&#xD;    );&#xD;&#xD;return menu;&#xD;}&#xD;</l></block><list></list></block></script></scripts></block-definition><block-definition s="$find-1-0-0-0 %&apos;search block&apos; $in-1-0-0-0 $project-1-0-0-0" type="reporter" category="IDE tools"><comment x="0" y="0" w="270.75162760416674" collapsed="false">Finds each instance of a block or variable in a project and shows the script(s) it is in (minus any hat block)&#xD;&#xD;If you enter plain text, it will return scripts that contain that text.&#xD;&#xD;Note:  You need to right-click and ringify the block/variable being searched for&#xD;&#xD;Block by Cymplecy</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportIsA"><block var="search block"/><l><option>text</option></l></block><block s="reportIsA"><block var="search block"/><l><option>number</option></l></block></list></block></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="search block"/><l><option>blocks</option></l></block></block><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block s="reifyReporter"><autolambda><block var="result"/></autolambda><list></list></block><l><option>blocks</option></l></block></block></list></block><script><block s="doSetVar"><l>search block</l><block s="reportListItem"><l>2</l><block s="reportTextSplit"><block var="search block"/><l><option>blocks</option></l></block></block></block></script><script><block s="doSetVar"><l>search block</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="search block"/><l><option>blocks</option></l></block></block></block></script></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportConcatenatedLists"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="key"/></block><l></l></list></block></autolambda><list></list></block><block s="reportCDR"><block var="key"/></block></block></autolambda><list><l>key</l></list></block><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><l>1</l></list></block></autolambda><list><l>result</l></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reportAskFor"><block var="sprite ref"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>name</option></l></block></autolambda><list></list></block><list></list></block></list></block><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportListContainsItem"><block s="reportListAttribute"><l><option>flatten</option></l><block s="reportTextSplit"><block var="value"/><l><option>blocks</option></l></block></block><block var="search block"/></block></autolambda><list><l>value</l></list></block><block s="reportAskFor"><block var="sprite ref"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>scripts</option></l></block></autolambda><list></list></block><list></list></block></block></list></block></autolambda><list><l>sprite ref</l></list></block><block s="reportCONS"><block s="reportGet"><l><option>self</option></l></block><block s="reportCONS"><block s="reportGet"><l><option>stage</option></l></block><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportAskFor"><block var="all sprites"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>parent</option></l></block></autolambda><list></list></block><list></list></block><l></l></list></block></autolambda><list><l>all sprites</l></list></block><block s="reportGet"><l><option>other sprites</option></l></block></block></block></block></block></block></block></block></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="%&apos;type&apos; of category %&apos;category&apos; (js)" type="reporter" category="IDE tools"><comment x="0" y="0" w="90" collapsed="false">Thk to cameron8299 for the block !</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1">color<options>color&#xD;RGBA</options></input><input type="%s" readonly="true" irreplaceable="true" initial="1">motion<options>function() {&#xD;  var sprite = SpriteMorph.prototype;&#xD;  var opts = [];&#xD;  opts = opts.concat(sprite.categories);&#xD;  opts.push(&apos;&#126;&apos;);&#xD;  opts = opts.concat(Array.from(sprite.customCategories.keys()));&#xD;  return opts.reduce((a,v) =&gt; ({...a, [v]: v}), {});&#xD;}</options></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>type</l><l>category</l></list><l>if (type != &apos;color&apos; &amp;&amp; type != &apos;RGBA&apos;) return;&#xD;var sprite = SpriteMorph.prototype, color;&#xD;if (sprite.categories.includes(category)) {&#xD;  color = sprite.blockColor[category];&#xD;} else if (sprite.customCategories.has(category)) {&#xD;  color = sprite.customCategories.get(category);&#xD;}&#xD;if (!color) return;&#xD;if (type == &apos;color&apos;) return color;&#xD;return new List([color.r, color.g, color.b, color.a]);</l></block><list><block var="type"/><block var="category"/></list></block></block></script></block-definition><block-definition s="set color of %&apos;category&apos; category to %&apos;color&apos; (js)" type="command" category="IDE tools"><comment x="0" y="0" w="90" collapsed="false">Thk to cameron8299 for the block !</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1">motion<options>function() {&#xD;  var sprite = SpriteMorph.prototype;&#xD;  var opts = [];&#xD;  opts = opts.concat(sprite.categories);&#xD;  opts.push(&apos;&#126;&apos;);&#xD;  opts = opts.concat(Array.from(sprite.customCategories.keys()));&#xD;  return opts.reduce((a,v) =&gt; ({...a, [v]: v}), {});&#xD;}</options></input><input type="%clr" initial="1"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="color"/><l><option>list</option></l></block><script><block s="doUntil"><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="color"/></block><l>3</l></list></block><script><block s="doAddToList"><l>0</l><block var="color"/></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="color"/></block><l>4</l></list></block><script><block s="doAddToList"><l>1</l><block var="color"/></block></script><list></list></block><block s="doSetVar"><l>color</l><block s="evaluate"><block s="reportJSFunction"><list><l>r</l><l>g</l><l>b</l><l>a</l></list><l>function validateChannel(value, def, min, max) {&#xD;  value = +value;&#xD;  if (isNaN(value)) value = def;&#xD;  return Math.max(min, Math.min(max, value));&#xD;}&#xD;r = validateChannel(r, 0, 0, 255);&#xD;g = validateChannel(g, 0, 0, 255);&#xD;b = validateChannel(b, 0, 0, 255);&#xD;a = validateChannel(a, 1, 0, 1);&#xD;return new Color(r, g, b, a);</l></block><block var="color"/></block></block></script><list></list></block><block s="doSetVar"><l>color</l><block s="evaluate"><block s="reportJSFunction"><list><l>color</l></list><l>if (!(color instanceof Color)) return new Color;&#xD;function validateChannel(value, def, min, max) {&#xD;  value = +value;&#xD;  if (isNaN(value)) value = def;&#xD;  return Math.max(min, Math.min(max, value));&#xD;}&#xD;var r = validateChannel(color.r, 0, 0, 255),&#xD;    g = validateChannel(color.g, 0, 0, 255),&#xD;    b = validateChannel(color.b, 0, 0, 255),&#xD;    a = validateChannel(color.a, 1, 0, 1);&#xD;return new Color(r, g, b, a);</l></block><list><block var="color"/></list></block></block><block s="doRun"><block s="reportJSFunction"><list><l>category</l><l>color</l></list><l>var sprite = SpriteMorph.prototype;&#xD;if (sprite.categories.includes(category)) {&#xD;  sprite.blockColor[category] = color;&#xD;} else if (sprite.customCategories.has(category)) {&#xD;  sprite.customCategories.set(category, color);&#xD;} else {&#xD;  return;&#xD;}</l></block><list><block var="category"/><block var="color"/></list></block><block s="doRun"><block s="reportJSFunction"><list></list><l>world.children[0].refreshIDE()</l></block><list></list></block></script></block-definition><block-definition s="refresh IDE" type="command" category="IDE tools"><comment x="0" y="0" w="404.8285714285716" collapsed="false">thk to cameron8299 for the block !</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRun"><block s="reportJSFunction"><list></list><l>world.children[0].refreshIDE()</l></block><list></list></block></script></block-definition><block-definition s="Set %&apos;mime&apos; %&apos;q&apos; as def image" type="command" category="IDE tools"><header></header><code></code><translations></translations><inputs><input type="%s">image/webp<options>image/webp&#xD;image/webp-lossless&#xD;image/png&#xD;image/jpeg</options></input><input type="%s" initial="1">0.95</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>type</l><l>q</l></list><l>IDE_Morph.prototype.saveCanvasAs = function (canvas, fileName) {&#xD;  this.saveFileAs(canvas.toDataURL( type), type, fileName);&#xD;};&#xD;&#xD;Costume.prototype.toXML = function (serializer) {&#xD;    return serializer.format(&#xD;        &apos;&lt;costume name="@" center-x="@" center-y="@" image="@" &#126;/&gt;&apos;,&#xD;        this.name,&#xD;        this.rotationCenter.x,&#xD;        this.rotationCenter.y,&#xD;        this instanceof SVG_Costume ? this.contents.src&#xD;                : normalizeCanvas(this.contents).toDataURL( type, q)&#xD;    );&#xD;};</l></block><list><block var="mime"/><block var="q"/></list></block></script></block-definition><block-definition s="$flash remove duplicates from %&apos;data&apos;" type="reporter" category="lists"><comment x="0" y="0" w="209" collapsed="false">Reports a new list whose items are the same as in the input list, except that if two or more equal items appear in the input list, only the last one is kept in the result.</comment><header></header><code></code><translations>ca:elimina els duplicats de _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportListAttribute"><l><option>columns</option></l><block s="reportApplyExtension"><l>dta_analyze(list)</l><list><block var="data"/></list></block></block></block></block></script></block-definition><block-definition s="item at col: %&apos;col&apos; line: %&apos;row&apos; of %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><block var="col"/><block s="reportListItem"><block var="row"/><block var="list"/></block></block></block></script></block-definition><block-definition s="%&apos;#&apos; for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><comment x="0" y="0" w="228.57142857142858" collapsed="false">This block carries out the given script for each item of the given list, like the primitive FOR EACH.&#xD;&#xD;What&apos;s different is that it provides the # variable, which will contain the item number in the list of each item in turn, 1 while processing item 1, and so on.</comment><header></header><code></code><translations>ca:_ per cada _ de _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%upvar"></input><input type="%l"></input><input type="%ca"></input></inputs><script><block s="doForEach"><l>inner item</l><block var="data"/><script><block s="doSetVar"><l>item</l><block var="inner item"/></block><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="New delete %&apos;recNo&apos; of %&apos;list&apos;" type="command" category="lists"><comment x="0" y="0" w="90" collapsed="false">Delete multiple records from a list&#xD;&#xD;recNo should be greater than 0 otherwise it will be ignored&#xD;&#xD;by Loucheman</comment><header></header><code></code><translations></translations><inputs><input type="%mult%n"></input><input type="%l"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="recNo"/><l><option>list</option></l></block><script><block s="doWarp"><script><block s="doForEach"><l>record</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l>0</l></list></block></autolambda><list></list></block><custom-block s="$flash sort %l ordering with %predRing"><block var="recNo"/><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l></l></list></block></autolambda><list></list></block></custom-block></block><script><block s="doDeleteFromList"><block var="record"/><block var="list"/></block></script></block></script></block></script><list></list></block></script></block-definition><block-definition s="$flash sort %&apos;data&apos; ordering with %&apos;function&apos;" type="reporter" category="lists"><comment x="0" y="0" w="161.14285714285708" collapsed="false">Reports a sorted version of the list in its first input slot, using the comparison function in the second input slot.  For a list of numbers, using &lt; as the comparison function will sort from low to high; using &gt; will sort from high to low.</comment><header></header><code></code><translations>ca:ordena _ segons criteri _&#xD;pl:$flash sortuj _ za pomocą _&#xD;</translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><block var="data"/><block var="function"/></list></block></block></script></block-definition><block-definition s="$flash assoc %&apos;key&apos; %&apos;a-list&apos;" type="reporter" category="lists"><comment x="0" y="0" w="289.3333333333333" collapsed="false">The second input is an &quot;association list,&quot; a list of two-item lists.  Each of those smaller lists has a &quot;key&quot; as its first item and a &quot;value&quot; as its second.  ASSOC reports the first key-value pair in the association list whose key matches the first input.</comment><header></header><code></code><translations>ca:associació _ _&#xD;</translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportAtomicFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block var="key"/><block s="reportListItem"><l>1</l><l/></block></list></block></autolambda><list></list></block><block var="a-list"/></block></block></script></block-definition><block-definition s="%&apos;value&apos;" type="reporter" category="Local blocks"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input></inputs><script><block s="doReport"><block var="value"/></block></script></block-definition><block-definition s="prev costume" type="command" category="looks"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSwitchToCostume"><block s="reportIfElse"><block s="reportVariadicNotEquals"><list><block s="getCostumeIdx"></block><l>1</l></list></block><block s="reportDifference"><block s="getCostumeIdx"></block><l>1</l></block><block s="reportListAttribute"><l><option>length</option></l><block s="reportGet"><l><option>costumes</option></l></block></block></block></block></script></block-definition><block-definition s="add %&apos;cst&apos; to my costumes" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%obj"></input></inputs><script><block s="doAddToList"><block var="cst"/><block s="reportGet"><l><option>costumes</option></l></block></block></script></block-definition><block-definition s="costume from commands (expand stage before? %&apos;expand&apos; ) %&apos;commands&apos;" type="reporter" category="looks"><comment x="0" y="0" w="134.28571428571436" collapsed="false">Return a costume from commands.Last position will be the pivot.&#xD;&#xD;ex:&#xD;goto 0,0&#xD;pen down&#xD;move 10&#xD;rotate 90&#xD;move 10&#xD;&#xD;By Loucheman</comment><header></header><code></code><translations>de:Kostüm aus Text _ Größe _&#xD;pt:um traje com o texto _ de tamanho _&#xD;ca:vestit amb el text _ i mida _&#xD;</translations><inputs><input type="%b" initial="1">true</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>costume</l><l>x</l><l>y</l><l>dir</l><l>cst</l><l>trails</l><l>pen state</l><l>current stage scale</l></list></block><block s="doIf"><block var="expand"/><script><block s="doSetVar"><l>current stage scale</l><custom-block s="setting %s"><l>Stage scale</l></custom-block></block><custom-block s="set value %s to %s"><l>Stage scale</l><l>2</l></custom-block></script><list></list></block><block s="doWait"><l>0.1</l></block><block s="doWarp"><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>dir</l><block s="direction"></block></block><block s="doSetVar"><l>cst</l><block s="reportGet"><l><option>costume</option></l></block></block><block s="doSetVar"><l>pen state</l><block s="getPenDown"></block></block><block s="up"></block><block s="doGotoObject"><l><option>center</option></l></block><block s="setHeading"><l>90</l></block><block s="doSwitchToCostume"><l><option>Turtle</option></l></block><block s="doSetVar"><l>trails</l><block s="reportPenTrailsAsCostume"></block></block><block s="clear"></block><block s="doRun"><block var="commands"/><list></list></block><block s="doSetVar"><l>costume</l><block s="reportPenTrailsAsCostume"></block></block><block s="clear"></block><block s="doGotoObject"><l><option>center</option></l></block><block s="doSwitchToCostume"><block var="trails"/></block><block s="doStamp"></block><block s="doSwitchToCostume"><block var="cst"/></block><block s="gotoXY"><block var="x"/><block var="y"/></block><block s="setHeading"><block var="dir"/></block><block s="doIf"><block var="pen state"/><script><block s="down"></block></script><list><l><bool>true</bool></l><script><block s="up"></block></script></list></block><block s="doIf"><block var="expand"/><script><custom-block s="set value %s to %s"><l>Stage scale</l><block var="current stage scale"/></custom-block></script><list></list></block><block s="doReport"><block var="costume"/></block></script></block></script></block-definition><block-definition s="export costume list %&apos;costumes&apos; base name %&apos;name&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s">frame</input></inputs><script><block s="doDeclareVariables"><list><l>count</l></list></block><block s="doSetVar"><l>count</l><block s="reportListAttribute"><l><option>length</option></l><block var="costumes"/></block></block><block s="doForEach"><l>item</l><block s="reportListAttribute"><l><option>reverse</option></l><block var="costumes"/></block><script><block s="doApplyExtension"><l>cst_export(cst, name)</l><list><block var="item"/><block s="reportJoinWords"><list><block var="name"/><l> (</l><block var="count"/><l>)</l></list></block></list></block><block s="doChangeVar"><l>count</l><l>-1</l></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="count"/><l>10</l></block><l>0</l></list></block><script><block s="doWait"><l>1</l></block></script><list></list></block></script></block></script></block-definition><block-definition s="costume from text %&apos;text&apos; size %&apos;size&apos; (center pivot)" type="reporter" category="looks"><header></header><code></code><translations>de:Kostüm aus Text _ Größe _&#xD;pt:um traje com o texto _ de tamanho _&#xD;</translations><inputs><input type="%s">A</input><input type="%n">72</input></inputs><script><block s="doDeclareVariables"><list><l>costume</l><l>x</l><l>y</l><l>dir</l><l>cst</l><l>trails</l></list></block><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>dir</l><block s="direction"></block></block><block s="doSetVar"><l>cst</l><block s="getCostumeIdx"></block></block><block s="up"></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="setHeading"><l>90</l></block><block s="doSwitchToCostume"><l><option>Turtle</option></l></block><block s="doSetVar"><l>trails</l><block s="reportPenTrailsAsCostume"></block></block><block s="clear"></block><block s="gotoXY"><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block><l>0</l></block><block s="write"><block var="text"/><block var="size"/></block><block s="gotoXY"><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block><block s="xPosition"></block></list></block><l>2</l></block><l>0</l></block><block s="doSetVar"><l>costume</l><block s="reportPenTrailsAsCostume"></block></block><block s="clear"></block><block s="doRun"><block s="reportJSFunction"><list><l>costume</l><l>name</l></list><l>costume.name = name;</l></block><list><block var="costume"/><block var="text"/></list></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="doSwitchToCostume"><block var="trails"/></block><block s="doStamp"></block><block s="doSwitchToCostume"><block var="cst"/></block><block s="gotoXY"><block var="x"/><block var="y"/></block><block s="setHeading"><block var="dir"/></block><block s="doReport"><block var="costume"/></block></script><scripts><script x="218.57142857142858" y="250.54761904761887"><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block></script></scripts></block-definition><block-definition s="new %&apos;color&apos; costume w %&apos;w&apos; h %&apos;h&apos;" type="reporter" category="looks"><comment x="0" y="0" w="314.65714285714284" collapsed="false">Return a new costume of the color of your choice.&#xD;&#xD;Block by Loucheman</comment><header></header><code></code><translations></translations><inputs><input type="%clr"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doDeclareVariables"><list><l>rgb</l></list></block><block s="doSetVar"><l>rgb</l><block s="reportTextSplit"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block s="reportListItem"><l>2</l><block s="reportTextSplit"><block s="reportJoinWords"><list><block var="color"/></list></block><l>rgba(</l></block></block><l>)</l></block></block><l>,</l></block></block><block s="doReport"><block s="reportNewCostume"><block s="reportReshape"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="rgb"/></block><block s="reportListItem"><l>2</l><block var="rgb"/></block><block s="reportListItem"><l>3</l><block var="rgb"/></block><l>255</l></list></block><list><block s="reportVariadicProduct"><list><block var="w"/><block var="h"/></list></block><l>4</l></list></block><block var="w"/><block var="h"/></block></block></script></block-definition><block-definition s="Show all sprites" type="command" category="looks"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doForEach"><l>sprites</l><block s="reportGet"><l><option>other sprites</option></l></block><script><block s="doTellTo"><block var="sprites"/><block s="reifyScript"><script><block s="show"></block></script><list></list></block><list></list></block></script></block></script><list></list></block><list></list></block></script></block-definition><block-definition s="Hide all sprites" type="command" category="looks"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doForEach"><l>sprites</l><block s="reportGet"><l><option>other sprites</option></l></block><script><block s="doTellTo"><block var="sprites"/><block s="reifyScript"><script><block s="hide"></block></script><list></list></block><list></list></block></script></block></script><list></list></block><list></list></block></script></block-definition><block-definition s="button costume from text %&apos;text&apos; size %&apos;size&apos; MarX %&apos;MarX&apos; MarY %&apos;MarY&apos; pen size %&apos;PenS&apos; box color %&apos;boxColor&apos; bg color %&apos;BgC&apos; txt color %&apos;TxC&apos; PivotX %&apos;PivotX&apos; PivotY %&apos;PivotY&apos;" type="reporter" category="looks"><comment x="0" y="0" w="155.83333333333334" collapsed="false">Button costume from text v1.1&#xD;By Loucheman&#xD;&#xD;Create a costume for any button you want !&#xD;&#xD;text: text on the button&#xD;Size: size of text &#xD;MarX: left and right margin to increase the width of the button&#xD;MarY: save as MarX but fot height&#xD;pensize: thickness of the line&#xD;&#xD;Thk Dardoro for the color picker functionality.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">Button</input><input type="%n">20</input><input type="%n">20</input><input type="%n">10</input><input type="%n">5</input><input type="%clr"></input><input type="%clr"></input><input type="%clr"></input><input type="%txt" readonly="true">center<options>left&#xD;center&#xD;right</options></input><input type="%txt" readonly="true">center<options>upper&#xD;center&#xD;bottom</options></input></inputs><script><block s="doDeclareVariables"><list><l>costume</l><l>x</l><l>y</l><l>dir</l><l>cst</l><l>trails</l><l>MarginX</l><l>MarginY</l><l>PenSize</l><l>SavePensize</l><l>SavePenColor</l></list></block><block s="doSetVar"><l>MarginX</l><block var="MarX"/></block><block s="doSetVar"><l>MarginY</l><block var="MarY"/></block><block s="doSetVar"><l>PenSize</l><block var="PenS"/></block><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>dir</l><block s="direction"></block></block><block s="doSetVar"><l>cst</l><block s="reportGet"><l><option>costume</option></l></block></block><block s="doSetVar"><l>SavePenColor</l><block s="reportNewList"><list><block s="getPenAttribute"><l><option>hue</option></l></block><block s="getPenAttribute"><l><option>saturation</option></l></block><block s="getPenAttribute"><l><option>brightness</option></l></block><block s="getPenAttribute"><l><option>transparency</option></l></block></list></block></block><block s="doSetVar"><l>SavePensize</l><block s="getPenAttribute"><l><option>size</option></l></block></block><block s="setSize"><block var="PenSize"/></block><block s="up"></block><block s="setHeading"><l>90</l></block><block s="doSetVar"><l>trails</l><block s="reportPenTrailsAsCostume"></block></block><block s="clear"></block><block s="doDeclareVariables"><list><l>UpperLeftCorner</l><l>BottomRightCorner</l></list></block><block s="doSetVar"><l>UpperLeftCorner</l><block s="reportNewList"><list><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block><block s="reportRound"><block s="reportQuotient"><block var="PenSize"/><l>2</l></block></block></list></block><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block><block s="reportRound"><block s="reportQuotient"><block var="PenSize"/><l>2</l></block></block></block></list></block></block><block s="doSetVar"><l>BottomRightCorner</l><block s="reportNewList"><list><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block><block var="PenSize"/></list></block><block var="MarginX"/></list></block><block s="reportVariadicProduct"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="text"/></block><custom-block s="letter width at size %n"><block var="size"/></custom-block></list></block></list></block><block var="MarginX"/></list></block><block s="reportRound"><block s="reportQuotient"><block var="PenSize"/><l>2</l></block></block></list></block><block s="reportDifference"><block s="reportDifference"><block s="reportDifference"><block s="reportDifference"><block s="reportDifference"><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block><block var="PenSize"/></block><block var="MarginY"/></block><custom-block s="letter height at size %n"><block var="size"/></custom-block></block><block var="MarginY"/></block><block s="reportRound"><block s="reportQuotient"><block var="PenSize"/><l>2</l></block></block></block><l>1</l></block></list></block></block><block s="gotoXY"><block s="reportListItem"><l>1</l><block var="UpperLeftCorner"/></block><block s="reportListItem"><l>2</l><block var="UpperLeftCorner"/></block></block><custom-block s="set pen color to Dardoro color %s"><block var="boxColor"/></custom-block><block s="down"></block><block s="gotoXY"><block s="reportListItem"><l>1</l><block var="BottomRightCorner"/></block><block s="reportListItem"><l>2</l><block var="UpperLeftCorner"/></block></block><block s="gotoXY"><block s="reportListItem"><l>1</l><block var="BottomRightCorner"/></block><block s="reportListItem"><l>2</l><block var="BottomRightCorner"/></block></block><block s="gotoXY"><block s="reportListItem"><l>1</l><block var="UpperLeftCorner"/></block><block s="reportListItem"><l>2</l><block var="BottomRightCorner"/></block></block><block s="gotoXY"><block s="reportListItem"><l>1</l><block var="UpperLeftCorner"/></block><block s="reportListItem"><l>2</l><block var="UpperLeftCorner"/></block></block><block s="up"></block><block s="gotoXY"><custom-block s="average %mult%n"><list><block s="reportListItem"><l>1</l><block var="UpperLeftCorner"/></block><block s="reportListItem"><l>1</l><block var="BottomRightCorner"/></block></list></custom-block><custom-block s="average %mult%n"><list><block s="reportListItem"><l>2</l><block var="UpperLeftCorner"/></block><block s="reportListItem"><l>2</l><block var="BottomRightCorner"/></block></list></custom-block></block><custom-block s="set pen color to Dardoro color %s"><block var="BgC"/></custom-block><block s="floodFill"></block><block s="gotoXY"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block><block var="MarginX"/></list></block><block s="reportQuotient"><block var="PenSize"/><l>1.5</l></block></list></block><l>0</l></list></block><block s="reportDifference"><block s="reportDifference"><block s="reportDifference"><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block><block var="MarginY"/></block><block s="reportQuotient"><block var="PenSize"/><l>1</l></block></block><custom-block s="letter height at size %n"><block var="size"/></custom-block></block><l>1</l></block></block><custom-block s="set pen color to Dardoro color %s"><block var="TxC"/></custom-block><block s="write"><block var="text"/><block var="size"/></block><block s="setPenColorDimension"><l><option>hue</option></l><block s="reportListItem"><l>1</l><block var="SavePenColor"/></block></block><block s="setPenColorDimension"><l><option>saturation</option></l><block s="reportListItem"><l>2</l><block var="SavePenColor"/></block></block><block s="setPenColorDimension"><l><option>brightness</option></l><block s="reportListItem"><l>3</l><block var="SavePenColor"/></block></block><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>4</l><block var="SavePenColor"/></block></block><block s="setXPosition"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="PivotX"/><l>left</l></list></block><block s="reportListItem"><l>1</l><block var="UpperLeftCorner"/></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="PivotX"/><l>right</l></list></block><block s="reportListItem"><l>1</l><block var="BottomRightCorner"/></block><custom-block s="average %mult%n"><list><block s="reportListItem"><l>1</l><block var="UpperLeftCorner"/></block><block s="reportListItem"><l>1</l><block var="BottomRightCorner"/></block></list></custom-block></block></block><comment w="90" collapsed="false">pivot x</comment></block><block s="setYPosition"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="PivotY"/><l>upper</l></list></block><block s="reportListItem"><l>2</l><block var="UpperLeftCorner"/></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="PivotY"/><l>bottom</l></list></block><block s="reportListItem"><l>2</l><block var="BottomRightCorner"/></block><custom-block s="average %mult%n"><list><block s="reportListItem"><l>2</l><block var="UpperLeftCorner"/></block><block s="reportListItem"><l>2</l><block var="BottomRightCorner"/></block></list></custom-block></block><comment w="90" collapsed="false">pivot y</comment></block></block><block s="doSetVar"><l>costume</l><block s="reportPenTrailsAsCostume"></block></block><block s="clear"></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="doSwitchToCostume"><block var="trails"/></block><block s="doStamp"></block><block s="doSwitchToCostume"><block var="cst"/></block><block s="gotoXY"><block var="x"/><block var="y"/></block><block s="setHeading"><block var="dir"/></block><block s="doReport"><block var="costume"/></block></script><scripts><script x="412" y="903.1999999999999"><block s="setColor"><color>16,4,0,1</color></block></script></scripts></block-definition><block-definition s="export costume %&apos;costume&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_costumesMenu</options></input></inputs><script><block s="doSetVar"><l>costume</l><block s="reportIfElse"><block s="reportIsA"><block var="costume"/><l><option>costume</option></l></block><block var="costume"/><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportGetImageAttribute"><l><option>name</option></l><l></l></block><block var="costume"/></list></block></autolambda><list></list></block><block s="reportGet"><l><option>costumes</option></l></block></block></block></block><block s="doIf"><block s="reportIsA"><block var="costume"/><l><option>costume</option></l></block><script><block s="doApplyExtension"><l>cst_export(cst, name)</l><list><block var="costume"/><l></l></list></block></script><list></list></block></script></block-definition><block-definition s="set name of costume %&apos;costume&apos; to %&apos;name&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_costumesMenu</options></input><input type="%s">thing</input></inputs><script><block s="doSetVar"><l>costume</l><block s="reportIfElse"><block s="reportIsA"><block var="costume"/><l><option>costume</option></l></block><block var="costume"/><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportGetImageAttribute"><l><option>name</option></l><l></l></block><block var="costume"/></list></block></autolambda><list></list></block><block s="reportGet"><l><option>costumes</option></l></block></block></block></block><block s="doIf"><block s="reportIsA"><block var="costume"/><l><option>costume</option></l></block><script><block s="doApplyExtension"><l>obj_name(obj, name)</l><list><block var="costume"/><block var="name"/></list></block></script><list></list></block></script></block-definition><block-definition s="set cursor %&apos;which&apos;" type="command" category="looks" space="true"><comment x="0" y="0" w="214.0712239583334" collapsed="false">Selects the specified costume for the cursor.</comment><header></header><code></code><translations></translations><inputs><input type="%s">pointer<options>auto&#xD;cell&#xD;copy&#xD;crosshair&#xD;default&#xD;grab&#xD;grabbing&#xD;help&#xD;move&#xD;not-allowed&#xD;pointer&#xD;progress&#xD;text&#xD;wait&#xD;zoom-in&#xD;zoom-out&#xD;n-resize&#xD;s-resize&#xD;e-resize&#xD;w-resize&#xD;ne-resize&#xD;se-resize&#xD;nw-resize&#xD;sw-resize</options></input></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/SciSnap3Extensions.js</l></list></block><block s="doApplyExtension"><l>SciS_setCursor(cur,proc)</l><list><block var="which"/><l></l></list><comment w="183.8461538461538" collapsed="false">Many thanks to helicoptur on the Snap! user forum!</comment></block></script></block-definition><block-definition s="think %&apos;msg&apos; for %&apos;time&apos; secs or until %&apos;pred&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s">Hello!</input><input type="%n">2</input><input type="%boolUE" initial="1"></input></inputs><script><block s="doThink"><block var="msg"/></block><custom-block s="wait for %n secs or until %boolUE"><block var="time"/><block s="evaluate"><block var="pred"/><list></list></block></custom-block><block s="doThink"><l></l></block></script><scripts><comment x="364.06269531249995" y="72.69999999999999" w="90" collapsed="false">Thl to cymplecy and mark4sisb for the block !</comment></scripts></block-definition><block-definition s="say %&apos;msg&apos; for %&apos;time&apos; secs or until %&apos;pred&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s">Hello!</input><input type="%n">2</input><input type="%boolUE" initial="1"></input></inputs><script><block s="bubble"><block var="msg"/></block><custom-block s="wait for %n secs or until %boolUE"><block var="time"/><block s="evaluate"><block var="pred"/><list></list></block></custom-block><block s="bubble"><l></l></block></script><scripts><comment x="351.15791015624995" y="104.69999999999999" w="90" collapsed="false">Thl to cymplecy and mark4sisb for the block !</comment></scripts></block-definition><block-definition s="button costume from text %&apos;text&apos; size %&apos;size&apos; MarX %&apos;MarX&apos; MarY %&apos;MarY&apos; pen size %&apos;PenS&apos; box color %&apos;boxColor&apos; bg color %&apos;BgC&apos; txt color %&apos;TxC&apos; PivotX %&apos;PivotX&apos; PivotY %&apos;PivotY&apos; Text X Offset %&apos;TextXOffset&apos;" type="reporter" category="looks"><comment x="0" y="0" w="155.83333333333334" collapsed="false">Button costume from text v1.2&#xD;By Loucheman&#xD;&#xD;Create a costume for any button you want !&#xD;&#xD;text: text on the button&#xD;Size: size of text &#xD;MarX: left and right margin to increase the width of the button&#xD;MarY: save as MarX but fot height&#xD;pensize: thickness of the line&#xD;&#xD;Thk Dardoro for the color picker functionality.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">Button</input><input type="%n">20</input><input type="%n">20</input><input type="%n">10</input><input type="%n">5</input><input type="%clr"></input><input type="%clr"></input><input type="%clr"></input><input type="%txt" readonly="true">center<options>left&#xD;center&#xD;right</options></input><input type="%txt" readonly="true">center<options>upper&#xD;center&#xD;bottom</options></input><input type="%n" initial="1">0</input></inputs><script><block s="doDeclareVariables"><list><l>costume</l><l>x</l><l>y</l><l>dir</l><l>cst</l><l>trails</l><l>MarginX</l><l>MarginY</l><l>PenSize</l><l>SavePensize</l><l>SavePenColor</l></list></block><block s="doSetVar"><l>MarginX</l><block var="MarX"/></block><block s="doSetVar"><l>MarginY</l><block var="MarY"/></block><block s="doSetVar"><l>PenSize</l><block var="PenS"/></block><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>dir</l><block s="direction"></block></block><block s="doSetVar"><l>cst</l><block s="reportGet"><l><option>costume</option></l></block></block><block s="doSetVar"><l>SavePenColor</l><block s="reportNewList"><list><block s="getPenAttribute"><l><option>hue</option></l></block><block s="getPenAttribute"><l><option>saturation</option></l></block><block s="getPenAttribute"><l><option>brightness</option></l></block><block s="getPenAttribute"><l><option>transparency</option></l></block></list></block></block><block s="doSetVar"><l>SavePensize</l><block s="getPenAttribute"><l><option>size</option></l></block></block><block s="setSize"><block var="PenSize"/></block><block s="up"></block><block s="setHeading"><l>90</l></block><block s="doSetVar"><l>trails</l><block s="reportPenTrailsAsCostume"></block></block><block s="clear"></block><block s="doDeclareVariables"><list><l>UpperLeftCorner</l><l>BottomRightCorner</l></list></block><block s="doSetVar"><l>UpperLeftCorner</l><block s="reportNewList"><list><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block><block s="reportRound"><block s="reportQuotient"><block var="PenSize"/><l>2</l></block></block></list></block><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block><block s="reportRound"><block s="reportQuotient"><block var="PenSize"/><l>2</l></block></block></block></list></block></block><block s="doSetVar"><l>BottomRightCorner</l><block s="reportNewList"><list><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block><block var="PenSize"/></list></block><block var="MarginX"/></list></block><block s="reportVariadicProduct"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="text"/></block><custom-block s="letter width at size %n"><block var="size"/></custom-block></list></block></list></block><block var="MarginX"/></list></block><block s="reportRound"><block s="reportQuotient"><block var="PenSize"/><l>2</l></block></block></list></block><block s="reportDifference"><block s="reportDifference"><block s="reportDifference"><block s="reportDifference"><block s="reportDifference"><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block><block var="PenSize"/></block><block var="MarginY"/></block><custom-block s="letter height at size %n"><block var="size"/></custom-block></block><block var="MarginY"/></block><block s="reportRound"><block s="reportQuotient"><block var="PenSize"/><l>2</l></block></block></block><l>1</l></block></list></block></block><block s="gotoXY"><block s="reportListItem"><l>1</l><block var="UpperLeftCorner"/></block><block s="reportListItem"><l>2</l><block var="UpperLeftCorner"/></block></block><custom-block s="set pen color to Dardoro color %s"><block var="boxColor"/></custom-block><block s="down"></block><block s="gotoXY"><block s="reportListItem"><l>1</l><block var="BottomRightCorner"/></block><block s="reportListItem"><l>2</l><block var="UpperLeftCorner"/></block></block><block s="gotoXY"><block s="reportListItem"><l>1</l><block var="BottomRightCorner"/></block><block s="reportListItem"><l>2</l><block var="BottomRightCorner"/></block></block><block s="gotoXY"><block s="reportListItem"><l>1</l><block var="UpperLeftCorner"/></block><block s="reportListItem"><l>2</l><block var="BottomRightCorner"/></block></block><block s="gotoXY"><block s="reportListItem"><l>1</l><block var="UpperLeftCorner"/></block><block s="reportListItem"><l>2</l><block var="UpperLeftCorner"/></block></block><block s="up"></block><block s="gotoXY"><custom-block s="average %mult%n"><list><block s="reportListItem"><l>1</l><block var="UpperLeftCorner"/></block><block s="reportListItem"><l>1</l><block var="BottomRightCorner"/></block></list></custom-block><custom-block s="average %mult%n"><list><block s="reportListItem"><l>2</l><block var="UpperLeftCorner"/></block><block s="reportListItem"><l>2</l><block var="BottomRightCorner"/></block></list></custom-block></block><custom-block s="set pen color to Dardoro color %s"><block var="BgC"/></custom-block><block s="floodFill"></block><block s="gotoXY"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block><block var="MarginX"/></list></block><block s="reportQuotient"><block var="PenSize"/><l>1.5</l></block></list></block><block var="TextXOffset"/></list></block><block s="reportDifference"><block s="reportDifference"><block s="reportDifference"><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block><block var="MarginY"/></block><block s="reportQuotient"><block var="PenSize"/><l>1</l></block></block><custom-block s="letter height at size %n"><block var="size"/></custom-block></block><l>1</l></block></block><custom-block s="set pen color to Dardoro color %s"><block var="TxC"/></custom-block><block s="write"><block var="text"/><block var="size"/></block><block s="setPenColorDimension"><l><option>hue</option></l><block s="reportListItem"><l>1</l><block var="SavePenColor"/></block></block><block s="setPenColorDimension"><l><option>saturation</option></l><block s="reportListItem"><l>2</l><block var="SavePenColor"/></block></block><block s="setPenColorDimension"><l><option>brightness</option></l><block s="reportListItem"><l>3</l><block var="SavePenColor"/></block></block><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>4</l><block var="SavePenColor"/></block></block><block s="setXPosition"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="PivotX"/><l>left</l></list></block><block s="reportListItem"><l>1</l><block var="UpperLeftCorner"/></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="PivotX"/><l>right</l></list></block><block s="reportListItem"><l>1</l><block var="BottomRightCorner"/></block><custom-block s="average %mult%n"><list><block s="reportListItem"><l>1</l><block var="UpperLeftCorner"/></block><block s="reportListItem"><l>1</l><block var="BottomRightCorner"/></block></list></custom-block></block></block><comment w="90" collapsed="false">pivot x</comment></block><block s="setYPosition"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="PivotY"/><l>upper</l></list></block><block s="reportListItem"><l>2</l><block var="UpperLeftCorner"/></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="PivotY"/><l>bottom</l></list></block><block s="reportListItem"><l>2</l><block var="BottomRightCorner"/></block><custom-block s="average %mult%n"><list><block s="reportListItem"><l>2</l><block var="UpperLeftCorner"/></block><block s="reportListItem"><l>2</l><block var="BottomRightCorner"/></block></list></custom-block></block><comment w="90" collapsed="false">pivot y</comment></block></block><block s="doSetVar"><l>costume</l><block s="reportPenTrailsAsCostume"></block></block><block s="clear"></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="doSwitchToCostume"><block var="trails"/></block><block s="doStamp"></block><block s="doSwitchToCostume"><block var="cst"/></block><block s="gotoXY"><block var="x"/><block var="y"/></block><block s="setHeading"><block var="dir"/></block><block s="doReport"><block var="costume"/></block></script><scripts><script x="412" y="903.1999999999958"><block s="setColor"><color>16,4,0,1</color></block></script></scripts></block-definition><block-definition s="rotated cst of %&apos;cst&apos;" type="reporter" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="cst"/><l><option>costume</option></l></block></block><script><custom-block s="error %s"><l>Not a cst !</l></custom-block></script><list></list></block><block s="doReport"><block s="reportNewCostume"><block s="reportListAttribute"><l><option>flatten</option></l><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportListAttribute"><l><option>columns</option></l><block s="reportGetImageAttribute"><l><option>colors</option></l><block var="cst"/></block></block></block></block><block s="reportGetImageAttribute"><l><option>height</option></l><block var="cst"/></block><block s="reportGetImageAttribute"><l><option>width</option></l><block var="cst"/></block></block></block></script></block-definition><block-definition s="simple message %&apos;message&apos; for %&apos;sec&apos; sec" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%mlt">This is a message !</input><input type="%n" initial="1">2</input></inputs><script><block s="doTellTo"><block s="newClone"><l><option>Turtle sprite</option></l></block><block s="reifyScript"><script><block s="gotoXY"><l>-60</l><l>-30</l></block><block s="setEffect"><l><option>ghost</option></l><l>100</l></block><block s="bubble"><block var="message"/></block><block s="doWait"><block var="sec"/></block><block s="removeClone"></block></script><list></list></block><list></list></block></script><scripts><script x="49.16666666666667" y="256.3888888888888"><block s="reportJoinWords"><list><l>hello </l><block s="reportUnicodeAsLetter"><l>10</l></block><block s="reportUnicodeAsLetter"><l>10</l></block><l>(Click to continue)</l></list></block></script></scripts></block-definition><block-definition s="simple message %&apos;message&apos; (click to continue)" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%mlt">This is a message !</input></inputs><script><block s="doTellTo"><block s="newClone"><l><option>Turtle sprite</option></l></block><block s="reifyScript"><script><block s="gotoXY"><l>-60</l><l>-30</l></block><block s="setEffect"><l><option>ghost</option></l><l>100</l></block><block s="bubble"><block s="reportJoinWords"><list><block var="message"/><block s="reportUnicodeAsLetter"><l>10</l></block><block s="reportUnicodeAsLetter"><l>10</l></block><l>(Click to continue)</l></list></block></block><block s="doWaitUntil"><block s="reportVariadicAnd"><list><block s="reportMouseDown"></block><custom-block s="On Stage position: %l"><block s="reportNewList"><list><block s="reportMouseX"></block><block s="reportMouseY"></block></list></block></custom-block></list></block></block><block s="doWaitUntil"><block s="reportNot"><block s="reportMouseDown"></block></block></block><block s="removeClone"></block></script><list></list></block><list></list></block></script><scripts><script x="88.98333333333326" y="352.6472222222222"><block s="bubble"><l></l></block></script></scripts></block-definition><block-definition s="glide %&apos;steps&apos; in %&apos;duration&apos; secs easing %&apos;easing&apos;" type="command" category="motion"><header></header><code></code><translations>de:gleite _ in _ Sek. beschleunigt: _&#xD;ca:llisca _ en _ segons de forma _&#xD;fr:glisser _ en _ sec. accélérer _&#xD;pt:desliza _ em _ s de forma _&#xD;</translations><inputs><input type="%n">50</input><input type="%n">1</input><input type="%s" readonly="true">linear<options>linear&#xD;quadratic={&#xD;quadratic-in&#xD;quadratic-out&#xD;quadratic-in-out&#xD;}&#xD;cubic={&#xD;cubic-in&#xD;cubic-out&#xD;cubic-in-out&#xD;}&#xD;quart={&#xD;quart-in&#xD;quart-out&#xD;quart-in-out&#xD;}&#xD;sinusoidal={&#xD;sine-in&#xD;sine-out&#xD;sine-in-out&#xD;}&#xD;elastic</options></input></inputs><script><block s="doDeclareVariables"><list><l>destX</l><l>destY</l><l>end time</l><l>deltaX</l><l>deltaY</l><l>func</l></list></block><block s="forward"><block var="steps"/></block><block s="doSetVar"><l>destX</l><block s="xPosition"></block></block><block s="doSetVar"><l>destY</l><block s="yPosition"></block></block><block s="forward"><block s="reportVariadicProduct"><list><block var="steps"/><l>-1</l></list></block></block><block s="doSetVar"><l>end time</l><block s="reportVariadicSum"><list><block s="reportDate"><l><option>time in milliseconds</option></l></block><block s="reportVariadicProduct"><list><block var="duration"/><l>1000</l></list></block></list></block></block><block s="doSetVar"><l>deltaX</l><block s="reportDifference"><block var="destX"/><block s="xPosition"></block></block></block><block s="doSetVar"><l>deltaY</l><block s="reportDifference"><block var="destY"/><block s="yPosition"></block></block></block><block s="doIfElse"><block s="reportIsA"><block var="easing"/><l><option>reporter</option></l></block><script><block s="doSetVar"><l>func</l><block var="easing"/></block></script><script><block s="doSetVar"><l>func</l><custom-block s="easing %txt"><block var="easing"/></custom-block></block></script></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block s="reportDate"><l><option>time in milliseconds</option></l></block><block var="end time"/></list></block><script><block s="setXPosition"><block s="reportDifference"><block var="destX"/><block s="reportVariadicProduct"><list><block var="deltaX"/><block s="evaluate"><block var="func"/><list><block s="reportQuotient"><block s="reportDifference"><block var="end time"/><block s="reportDate"><l><option>time in milliseconds</option></l></block></block><block s="reportVariadicProduct"><list><block var="duration"/><l>1000</l></list></block></block></list></block></list></block></block></block><block s="setYPosition"><block s="reportDifference"><block var="destY"/><block s="reportVariadicProduct"><list><block var="deltaY"/><block s="evaluate"><block var="func"/><list><block s="reportQuotient"><block s="reportDifference"><block var="end time"/><block s="reportDate"><l><option>time in milliseconds</option></l></block></block><block s="reportVariadicProduct"><list><block var="duration"/><l>1000</l></list></block></block></list></block></list></block></block></block></script></block><block s="gotoXY"><block var="destX"/><block var="destY"/></block></script></block-definition><block-definition s="animate %&apos;attribute&apos; by %&apos;delta&apos; in %&apos;duration&apos; secs easing %&apos;easing&apos;" type="command" category="motion"><header></header><code></code><translations>de:animiere _ um _ in _ Sek. beschleunigt: _&#xD;ca:modifica _ amb _ en _ segons de forma _&#xD;pt:anima _ de _ em _ s de forma _&#xD;</translations><inputs><input type="%s" readonly="true">x position<options>x position&#xD;y position&#xD;direction&#xD;size&#xD;ghost effect&#xD;color effect&#xD;saturation effect&#xD;brightness effect&#xD;fisheye effect&#xD;whirl effect&#xD;pixelate effect&#xD;mosaic effect&#xD;negative effect&#xD;tempo&#xD;volume&#xD;balance</options></input><input type="%n">50</input><input type="%n">1</input><input type="%s" readonly="true">linear<options>linear&#xD;quadratic={&#xD;quadratic-in&#xD;quadratic-out&#xD;quadratic-in-out&#xD;}&#xD;cubic={&#xD;cubic-in&#xD;cubic-out&#xD;cubic-in-out&#xD;}&#xD;quart={&#xD;quart-in&#xD;quart-out&#xD;quart-in-out&#xD;}&#xD;sinusoidal={&#xD;sine-in&#xD;sine-out&#xD;sine-in-out&#xD;}&#xD;elastic</options></input></inputs><script><block s="doDeclareVariables"><list><l>accessors</l><l>func</l></list></block><block s="doSetVar"><l>accessors</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="attribute"/><l>x position</l></list></block><block s="reportNewList"><list><block s="reifyScript"><script><block s="setXPosition"><l></l></block></script><list></list></block><block s="reifyReporter"><autolambda><block s="xPosition"></block></autolambda><list></list></block></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="attribute"/><l>y position</l></list></block><block s="reportNewList"><list><block s="reifyScript"><script><block s="setYPosition"><l></l></block></script><list></list></block><block s="reifyReporter"><autolambda><block s="yPosition"></block></autolambda><list></list></block></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="attribute"/><l>direction</l></list></block><block s="reportNewList"><list><block s="reifyScript"><script><block s="setHeading"><l></l></block></script><list></list></block><block s="reifyReporter"><autolambda><block s="direction"></block></autolambda><list></list></block></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="attribute"/><l>size</l></list></block><block s="reportNewList"><list><block s="reifyScript"><script><block s="setScale"><l></l></block></script><list></list></block><block s="reifyReporter"><autolambda><block s="getScale"></block></autolambda><list></list></block></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="attribute"/><l>tempo</l></list></block><block s="reportNewList"><list><block s="reifyScript"><script><block s="doSetTempo"><l></l></block></script><list></list></block><block s="reifyReporter"><autolambda><block s="getTempo"></block></autolambda><list></list></block></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="attribute"/><l>volume</l></list></block><block s="reportNewList"><list><block s="reifyScript"><script><block s="setVolume"><l></l></block></script><list></list></block><block s="reifyReporter"><autolambda><block s="getVolume"></block></autolambda><list></list></block></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="attribute"/><l>balance</l></list></block><block s="reportNewList"><list><block s="reifyScript"><script><block s="setPan"><l></l></block></script><list></list></block><block s="reifyReporter"><autolambda><block s="getPan"></block></autolambda><list></list></block></list></block><block s="reportNewList"><list><block s="reifyScript"><script><block s="setEffect"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="attribute"/><l> </l></block></block><l></l></block></script><list></list></block><block s="reifyReporter"><autolambda><block s="getEffect"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="attribute"/><l> </l></block></block></block></autolambda><list></list></block></list></block></block></block></block></block></block></block></block></block><block s="doIfElse"><block s="reportIsA"><block var="easing"/><l><option>reporter</option></l></block><script><block s="doSetVar"><l>func</l><block var="easing"/></block></script><script><block s="doSetVar"><l>func</l><custom-block s="easing %txt"><block var="easing"/></custom-block></block></script></block><custom-block s="animate setter %cmdRing getter %repRing delta %n over %n secs easing %repRing"><block s="reportListItem"><l>1</l><block var="accessors"/></block><block s="reportListItem"><l>2</l><block var="accessors"/></block><block var="delta"/><block var="duration"/><block var="func"/></custom-block></script></block-definition><block-definition s="turn around x %&apos;x&apos; y %&apos;y&apos; radius %&apos;MyRadius&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%n">0</input><input type="%n">0</input><input type="%n">130</input></inputs><script><custom-block s="for %upvar = %n step %n to %n %cs"><l>angle</l><l>0</l><l>2</l><l>359</l><script><custom-block s="let %upvar be %s"><l>position relative to 0,0</l><block s="reportNewList"><list><block s="reportVariadicProduct"><list><block var="MyRadius"/><block s="reportMonadic"><l><option>sin</option></l><custom-block s="degrees %n"><block s="reportQuotient"><block s="reportVariadicProduct"><list><custom-block s="PI"></custom-block><l>2</l><block var="angle"/></list></block><l>360</l></block></custom-block></block></list></block><block s="reportVariadicProduct"><list><block var="MyRadius"/><block s="reportMonadic"><l><option>cos</option></l><custom-block s="degrees %n"><block s="reportQuotient"><block s="reportVariadicProduct"><list><custom-block s="PI"></custom-block><l>2</l><block var="angle"/></list></block><l>360</l></block></custom-block></block></list></block></list></block></custom-block><block s="doGotoObject"><block s="reportVariadicSum"><list><block var="position relative to 0,0"/><block s="reportNewList"><list><block var="x"/><block var="y"/></list></block></list></block></block></script></custom-block></script></block-definition><block-definition s="rotate $turnRight %&apos;degree&apos; ° around x %&apos;x&apos; y %&apos;y&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%n">0</input><input type="%n">0</input></inputs><script><block s="doDeclareVariables"><list><l>myRadius</l><l>angle</l><l>position relative to 0,0</l></list></block><block s="doSetVar"><l>myRadius</l><custom-block s="distance between %s %s"><block s="getPosition"></block><block s="reportNewList"><list><block var="x"/><block var="y"/></list></block></custom-block></block><block s="doSetVar"><l>angle</l><block s="reportVariadicSum"><list><custom-block s="angle between %s %s"><block s="reportNewList"><list><block var="x"/><block var="y"/></list></block><block s="getPosition"></block></custom-block><block var="degree"/></list></block></block><block s="doSetVar"><l>position relative to 0,0</l><block s="reportNewList"><list><block s="reportVariadicProduct"><list><block var="myRadius"/><block s="reportMonadic"><l><option>sin</option></l><custom-block s="degrees %n"><block s="reportQuotient"><block s="reportVariadicProduct"><list><custom-block s="PI"></custom-block><l>2</l><block var="angle"/></list></block><l>360</l></block></custom-block></block></list></block><block s="reportVariadicProduct"><list><block var="myRadius"/><block s="reportMonadic"><l><option>cos</option></l><custom-block s="degrees %n"><block s="reportQuotient"><block s="reportVariadicProduct"><list><custom-block s="PI"></custom-block><l>2</l><block var="angle"/></list></block><l>360</l></block></custom-block></block></list></block></list></block></block><block s="doGotoObject"><block s="reportVariadicSum"><list><block var="position relative to 0,0"/><block s="reportNewList"><list><block var="x"/><block var="y"/></list></block></list></block></block></script></block-definition><block-definition s="glide to %&apos;sprite&apos; in %&apos;sec&apos; sec easing %&apos;easing&apos;" type="command" category="motion"><comment x="0" y="0" w="232.39999999999995" collapsed="false">Glide to sprite&#xD;&#xD;Block by Loucheman v1.0</comment><header></header><code></code><translations></translations><inputs><input type="%s">sprite<options>§_objectsMenu</options></input><input type="%n">1</input><input type="%txt" readonly="true">linear<options>linear&#xD;quadratic={&#xD;quadratic-in&#xD;quadratic-out&#xD;quadratic-in-out&#xD;}&#xD;cubic={&#xD;cubic-in&#xD;cubic-out&#xD;cubic-in-out&#xD;}&#xD;quart={&#xD;quart-in&#xD;quart-out&#xD;quart-in-out&#xD;}&#xD;sinusoidal={&#xD;sine-in&#xD;sine-out&#xD;sine-in-out&#xD;}&#xD;elastic</options></input></inputs><script><block s="doFaceTowards"><block var="sprite"/></block><custom-block s="glide %n in %n secs easing %s"><custom-block s="distance between %s %s"><block s="reportObject"><block var="sprite"/></block><block s="reportGet"><l><option>self</option></l></block></custom-block><block var="sec"/><block var="easing"/></custom-block></script></block-definition><block-definition s="glide %&apos;duration&apos; secs to x: %&apos;x&apos; y: %&apos;y&apos; easing %&apos;easing&apos;" type="command" category="motion"><comment x="0" y="0" w="224.00000000000003" collapsed="false">Thk to ego-lay_atman-bay for the block !</comment><header></header><code></code><translations>de:gleite _ in _ Sek. beschleunigt: _&#xD;ca:llisca _ en _ segons de forma _&#xD;fr:glisser _ en _ sec. accélérer _&#xD;pt:desliza _ em _ s de forma _&#xD;</translations><inputs><input type="%n">1</input><input type="%n">0</input><input type="%n">0</input><input type="%s" readonly="true">linear<options>linear&#xD;quadratic={&#xD;quadratic-in&#xD;quadratic-out&#xD;quadratic-in-out&#xD;}&#xD;cubic={&#xD;cubic-in&#xD;cubic-out&#xD;cubic-in-out&#xD;}&#xD;quart={&#xD;quart-in&#xD;quart-out&#xD;quart-in-out&#xD;}&#xD;sinusoidal={&#xD;sine-in&#xD;sine-out&#xD;sine-in-out&#xD;}&#xD;elastic</options></input></inputs><script><custom-block s="animate setter %cmdRing getter %repRing delta %n over %n secs easing %repRing"><block s="reifyScript"><script><block s="doGotoObject"><l></l></block></script><list></list></block><block s="reifyReporter"><autolambda><block s="getPosition"></block></autolambda><list></list></block><block s="reportVariadicProduct"><list><block s="reportRelationTo"><l><option>distance</option></l><block s="reportNewList"><list><block var="x"/><block var="y"/></list></block></block><block s="reportNewList"><list><block s="reportMonadic"><l><option>sin</option></l><block s="reportRelationTo"><l><option>direction</option></l><block s="reportNewList"><list><block var="x"/><block var="y"/></list></block></block></block><block s="reportMonadic"><l><option>cos</option></l><block s="reportRelationTo"><l><option>direction</option></l><block s="reportNewList"><list><block var="x"/><block var="y"/></list></block></block></block></list></block></list></block><block var="duration"/><custom-block s="easing %txt"><block var="easing"/></custom-block></custom-block></script></block-definition><block-definition s="set y to random position" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="setYPosition"><block s="reportRandom"><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block s="reportGet"><l><option>top</option></l></block><block s="yPosition"></block></block></block></block><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>bottom</option></l><l>Stage</l></block><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block s="reportGet"><l><option>bottom</option></l></block><block s="yPosition"></block></block></block></list></block></block></block></script></block-definition><block-definition s="set x to random position" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="setXPosition"><block s="reportRandom"><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block s="xPosition"></block><block s="reportGet"><l><option>left</option></l></block></block></block></list></block><block s="reportDifference"><block s="reportAttributeOf"><l><option>right</option></l><l>Stage</l></block><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block s="xPosition"></block><block s="reportGet"><l><option>right</option></l></block></block></block></block></block></block></script></block-definition><block-definition s="glide %&apos;span&apos; secs to x: %&apos;x&apos; y: %&apos;y&apos; and stop when %&apos;pred&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%n">0</input><input type="%n">0</input><input type="%boolUE" initial="1"></input></inputs><script><block s="doDeclareVariables"><list><l>pos</l><l>start</l><l>fract</l></list></block><block s="doSetVar"><l>pos</l><block s="getPosition"></block></block><block s="doSetVar"><l>start</l><block s="reportDate"><l><option>time in milliseconds</option></l></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="fract"/><l>1</l></list></block><block s="evaluate"><block var="pred"/><list></list></block></list></block><script><block s="doSetVar"><l>fract</l><block s="reportQuotient"><block s="reportDifference"><block s="reportDate"><l><option>time in milliseconds</option></l></block><block var="start"/></block><block s="reportVariadicProduct"><list><block var="span"/><l>1000</l></list></block></block></block><block s="doGotoObject"><block s="reportVariadicSum"><list><block var="pos"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportNewList"><list><block var="x"/><block var="y"/></list></block><block var="pos"/></block><block var="fract"/></list></block></list></block></block></script></block><block s="doIf"><block s="reportNot"><block s="evaluate"><block var="pred"/><list></list></block></block><script><block s="gotoXY"><block var="x"/><block var="y"/></block></script><list></list></block></script><scripts><comment x="384.35400390625" y="90.8083333333334" w="90" collapsed="false">Thl to cymplecy and mark4sisb for the block !</comment></scripts></block-definition><block-definition s="jump %&apos;dist&apos; in %&apos;delay&apos; sec (size variation %&apos;sv&apos; y variation %&apos;yv&apos; )" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">140</input><input type="%n" initial="1">0.2</input><input type="%n" initial="1">20</input><input type="%n" initial="1">20</input></inputs><script><block s="fork"><block s="reifyScript"><script><custom-block s="animate %s by %n in %n secs easing %s"><l>x position</l><block var="dist"/><block var="delay"/><l>linear</l></custom-block></script><list></list></block><list></list></block><block s="fork"><block s="reifyScript"><script><custom-block s="animate %s by %n in %n secs easing %s"><l>y position</l><block var="yv"/><block s="reportDifference"><block var="delay"/><block s="reportQuotient"><block var="delay"/><l>3</l></block></block><l>quadratic-in</l></custom-block><custom-block s="animate %s by %n in %n secs easing %s"><l>y position</l><block s="reportMonadic"><l><option>neg</option></l><block var="yv"/></block><block s="reportQuotient"><block var="delay"/><l>3</l></block><l>quadratic-in</l></custom-block></script><list></list></block><list></list></block><block s="fork"><block s="reifyScript"><script><custom-block s="animate %s by %n in %n secs easing %s"><l>size</l><block var="sv"/><block s="reportDifference"><block var="delay"/><block s="reportQuotient"><block var="delay"/><l>3</l></block></block><l>quadratic-in</l></custom-block><custom-block s="animate %s by %n in %n secs easing %s"><l>size</l><block s="reportMonadic"><l><option>neg</option></l><block var="sv"/></block><block s="reportQuotient"><block var="delay"/><l>3</l></block><l>quadratic-in</l></custom-block></script><list></list></block><list></list></block><block s="doWait"><block s="reportVariadicSum"><list><block var="delay"/><block s="reportQuotient"><block var="delay"/><l>3</l></block></list></block></block></script></block-definition><block-definition s="Initialize TuneScope" type="command" category="Music"><header></header><code></code><translations></translations><inputs></inputs><script><block s="bubble"><l>TuneScope Initializing...</l></block><custom-block s="Load TuneScope Primitives"></custom-block><block s="bubble"><l></l></block></script></block-definition><block-definition s="Set Instrument To %&apos;Instrument Name&apos;" type="command" category="Music"><comment x="0" y="0" w="226.9811662946428" collapsed="false">Sets the global instrument used for playing notes.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Piano<options>Piano&#xD;Brass={&#xD;French Horn&#xD;Trumpet&#xD;Tuba&#xD;}&#xD;Strings={&#xD;Banjo&#xD;Bass, Acoustic&#xD;Bass, Electric (Finger)&#xD;Cello&#xD;Guitar, Acoustic&#xD;Guitar, Electric&#xD;Harp&#xD;Koto&#xD;Sitar&#xD;Violin&#xD;}&#xD;Woodwinds={&#xD;Bassoon&#xD;Clarinet&#xD;Flute&#xD;Oboe&#xD;Saxophone&#xD;Shakuhachi&#xD;}&#xD;Drums={&#xD;Cabasa&#xD;Snare Drum&#xD;Bass Drum&#xD;Closed Hi-Hat&#xD;Open Hi-Hat&#xD;Mid Tom&#xD;High Tom&#xD;Crash Cymbal&#xD;}&#xD;Other={&#xD;Accordion&#xD;Marimba&#xD;Organ&#xD;Vibraphone&#xD;}</options></input></inputs><script><custom-block s="Load TuneScope Primitives"></custom-block><block s="doApplyExtension"><l>ts_setinst(name)</l><list><block var="Instrument Name"/></list></block></script></block-definition><block-definition s="Set Volume To %&apos;Percent&apos; %" type="command" category="Music"><comment x="0" y="0" w="236.57142857142844" collapsed="false">Sets the global volume to the selected percentage.</comment><header></header><code></code><translations></translations><inputs><input type="%n">50</input></inputs><script><custom-block s="Load TuneScope Primitives"></custom-block><block s="doApplyExtension"><l>ts_setvol(percent)</l><list><block var="Percent"/></list></block></script></block-definition><block-definition s="Set Instrument %&apos;Instrument&apos; Volume to %&apos;VolumePercent&apos; %" type="command" category="Music"><comment x="0" y="0" w="353.7142857142858" collapsed="false">Sets the default volume of the selected instrument to the specified percentage.</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">Piano<options>Piano&#xD;Brass={&#xD;French Horn&#xD;Trumpet&#xD;Tuba&#xD;}&#xD;Strings={&#xD;Banjo&#xD;Bass, Acoustic&#xD;Bass, Electric (Finger)&#xD;Cello&#xD;Guitar, Acoustic&#xD;Guitar, Electric&#xD;Harp&#xD;Koto&#xD;Sitar&#xD;Violin&#xD;}&#xD;Woodwinds={&#xD;Bassoon&#xD;Clarinet&#xD;Flute&#xD;Oboe&#xD;Saxophone&#xD;Shakuhachi&#xD;}&#xD;Drums={&#xD;Cabasa&#xD;Snare Drum&#xD;Bass Drum&#xD;Closed Hi-Hat&#xD;Open Hi-Hat&#xD;Mid Tom&#xD;High Tom&#xD;Crash Cymbal&#xD;}&#xD;Other={&#xD;Accordion&#xD;Marimba&#xD;Organ&#xD;Vibraphone&#xD;}</options></input><input type="%n">50</input></inputs><script><custom-block s="Load TuneScope Primitives"></custom-block><block s="doApplyExtension"><l>ts_setinstvol(name, percent)</l><list><block var="Instrument"/><block var="VolumePercent"/></list></block></script></block-definition><block-definition s="Play Note %&apos;Note&apos; for Duration %&apos;Duration&apos; and Wait" type="command" category="Music"><comment x="0" y="0" w="315.8571428571429" collapsed="false">Plays the selected note for the specified musical duration. This block waits for the selected note to finish playing before moving to the next block.&#xD;&#xD;Notes may be entered as Scientific Pitch Notation (eg. C4) or as MIDI numbers.&#xD;&#xD;Note durations may be entered as duration names (eg. half, quarter, etc...) or as numerical values (eg. .5, .25, etc...)</comment><header></header><code></code><translations></translations><inputs><input type="%txt"><options>C3&#xD;D3&#xD;E3&#xD;F3&#xD;G3&#xD;A3&#xD;B3&#xD;C4&#xD;D4&#xD;E4&#xD;F4&#xD;G4&#xD;A4&#xD;B4&#xD;Sharps={&#xD;C#3&#xD;D#3&#xD;E#3&#xD;F#3&#xD;G#3&#xD;A#3&#xD;B#3&#xD;C#4&#xD;D#4&#xD;E#4&#xD;F#4&#xD;G#4&#xD;A#4&#xD;B#4&#xD;}&#xD;Flats={&#xD;Cb3&#xD;Db3&#xD;Eb3&#xD;Fb3&#xD;Gb3&#xD;Ab3&#xD;Bb3&#xD;Cb4&#xD;Db4&#xD;Eb4&#xD;Fb4&#xD;Gb4&#xD;Ab4&#xD;Bb4&#xD;}</options></input><input type="%txt"><options>Whole&#xD;Half&#xD;Quarter&#xD;Eighth&#xD;Sixteenth&#xD;Thirtysecond&#xD;Dotted Notes={&#xD;Dotted Half&#xD;Dotted Quarter&#xD;Dotted Eighth&#xD;Dotted Sixteenth&#xD;}&#xD;Triplet Notes={&#xD;Half Triplet&#xD;Quarter Triplet&#xD;Eighth Triplet&#xD;Sixteenth Triplet&#xD;}</options></input></inputs><script><custom-block s="Play Note %s for Duration %s"><custom-block s="Convert Note %s to MIDI"><block var="Note"/></custom-block><block var="Duration"/></custom-block><custom-block s="Rest for Note Duration %s"><block var="Duration"/></custom-block></script></block-definition><block-definition s="Play Note %&apos;Note&apos; for Duration %&apos;Duration&apos;" type="command" category="Music"><comment x="0" y="0" w="333.3128348214286" collapsed="false">Plays the selected note for the specified musical duration. &#xD;&#xD;Notes may be entered as Scientific Pitch Notation (eg. C4) or as MIDI numbers.&#xD;&#xD;Note durations may be entered as duration names (eg. half, quarter, etc...) or as numerical values (eg. .5, .25, etc...)</comment><header></header><code></code><translations></translations><inputs><input type="%s"><options>C3&#xD;D3&#xD;E3&#xD;F3&#xD;G3&#xD;A3&#xD;B3&#xD;C4&#xD;D4&#xD;E4&#xD;F4&#xD;G4&#xD;A4&#xD;B4&#xD;Sharps={&#xD;C#3&#xD;D#3&#xD;E#3&#xD;F#3&#xD;G#3&#xD;A#3&#xD;B#3&#xD;C#4&#xD;D#4&#xD;E#4&#xD;F#4&#xD;G#4&#xD;A#4&#xD;B#4&#xD;}&#xD;Flats={&#xD;Cb3&#xD;Db3&#xD;Eb3&#xD;Fb3&#xD;Gb3&#xD;Ab3&#xD;Bb3&#xD;Cb4&#xD;Db4&#xD;Eb4&#xD;Fb4&#xD;Gb4&#xD;Ab4&#xD;Bb4&#xD;}</options></input><input type="%s"><options>Whole&#xD;Half&#xD;Quarter&#xD;Eighth&#xD;Sixteenth&#xD;Thirtysecond&#xD;Dotted Notes={&#xD;Dotted Half&#xD;Dotted Quarter&#xD;Dotted Eighth&#xD;Dotted Sixteenth&#xD;}&#xD;Triplet Notes={&#xD;Half Triplet&#xD;Quarter Triplet&#xD;Eighth Triplet&#xD;Sixteenth Triplet&#xD;}</options></input></inputs><script><custom-block s="Load TuneScope Primitives"></custom-block><block s="doApplyExtension"><l>ts_playnote(note, duration)</l><list><block s="reportIfElse"><block s="reportIsA"><block var="Note"/><l><option>number</option></l></block><custom-block s="Convert MIDI %n to Note using %s"><block var="Note"/><l>Sharps</l></custom-block><block var="Note"/></block><block s="reportIfElse"><block s="reportIsA"><block var="Duration"/><l><option>number</option></l></block><block s="reportVariadicProduct"><list><block var="Duration"/><block s="reportVariadicProduct"><list><l>4</l><block s="reportQuotient"><l>60</l><block s="getTempo"></block></block></list></block></list></block><custom-block s="Note Duration %txt at Current Tempo"><block var="Duration"/></custom-block></block></list></block></script></block-definition><block-definition s="Play Chord %&apos;Chord&apos; for Duration %&apos;Duration&apos;" type="command" category="Music"><comment x="0" y="0" w="160" collapsed="false">Plays a list of notes simultaneously for the specified musical duration.&#xD;&#xD;Chords must be entered as a list.&#xD;&#xD;Durations may be entered as duration names (eg. half, quarter, etc...) or as numerical values (eg. .5, .25, etc...)</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s"><options>Whole&#xD;Half&#xD;Quarter&#xD;Eighth&#xD;Sixteenth&#xD;Thirtysecond&#xD;Dotted Notes={&#xD;Dotted Half&#xD;Dotted Quarter&#xD;Dotted Eighth&#xD;Dotted Sixteenth&#xD;}&#xD;Triplet Notes={&#xD;Half Triplet&#xD;Quarter Triplet&#xD;Eighth Triplet&#xD;Sixteenth Triplet&#xD;}</options></input></inputs><script><block s="doForEach"><l>item</l><block var="Chord"/><script><custom-block s="Play Note %s for Duration %s"><block var="item"/><block var="Duration"/></custom-block></script></block></script></block-definition><block-definition s="Rest for Note Duration %&apos;Duration&apos;" type="command" category="Music"><comment x="0" y="0" w="90" collapsed="false">Waits for the selected musical duration.&#xD;&#xD;Durations may be entered as duration names (eg. half, quarter, etc...) or as numerical values (eg. .5, .25, etc...)</comment><header></header><code></code><translations></translations><inputs><input type="%s"><options>Whole&#xD;Half&#xD;Quarter&#xD;Eighth&#xD;Sixteenth&#xD;Thirtysecond&#xD;Dotted Notes={&#xD;Dotted Half&#xD;Dotted Quarter&#xD;Dotted Eighth&#xD;Dotted Sixteenth&#xD;}&#xD;Triplet Notes={&#xD;Half Triplet&#xD;Quarter Triplet&#xD;Eighth Triplet&#xD;Sixteenth Triplet&#xD;}</options></input></inputs><script><custom-block s="Load TuneScope Primitives"></custom-block><block s="doWait"><block s="reportIfElse"><block s="reportIsA"><block var="Duration"/><l><option>number</option></l></block><block s="reportVariadicProduct"><list><block var="Duration"/><block s="reportVariadicProduct"><list><l>4</l><block s="reportQuotient"><l>60</l><block s="getTempo"></block></block></list></block></list></block><custom-block s="Note Duration %txt at Current Tempo"><block var="Duration"/></custom-block></block></block></script></block-definition><block-definition s="Note Duration %&apos;Note Duration&apos; at Current Tempo" type="reporter" category="Music"><comment x="0" y="0" w="262.8571428571429" collapsed="false">Each note duration is assigned a numerical value, with a whole note equalling &quot;1&quot;.&#xD;&#xD;Dotted Notes are equal to the named note plus half of the named note&apos;s duration.&#xD;&#xD;Triplet notes are equal in duration to two of the named notes divided by three.&#xD;&#xD;Multiplying the numerical value of a note duration by &#xD;4*(60 / tempo) adjusts the note durations to match the current tempo.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">Quarter<options>Whole&#xD;Half&#xD;Quarter&#xD;Eighth&#xD;Sixteenth&#xD;Thirtysecond&#xD;Dotted Notes={&#xD;Dotted Half&#xD;Dotted Quarter&#xD;Dotted Eighth&#xD;Dotted Sixteenth&#xD;}&#xD;Triplet Notes={&#xD;Half Triplet&#xD;Quarter Triplet&#xD;Eighth Triplet&#xD;Sixteenth Triplet&#xD;}</options></input></inputs><script><block s="doReport"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><custom-block s="$flash assoc %s %l"><block var="Note Duration"/><block s="reportNewList"><list><block s="reportNewList"><list><l>Whole</l><l>1</l></list></block><block s="reportNewList"><list><l>Half</l><l>.5</l></list></block><block s="reportNewList"><list><l>Quarter</l><l>.25</l></list></block><block s="reportNewList"><list><l>Eighth</l><l>.125</l></list></block><block s="reportNewList"><list><l>Sixteenth</l><l>.0625</l></list></block><block s="reportNewList"><list><l>Thirtysecond</l><l>.03125</l></list></block><block s="reportNewList"><list><l>Dotted Whole</l><l>1.5</l></list></block><block s="reportNewList"><list><l>Dotted Half</l><l>.75</l></list></block><block s="reportNewList"><list><l>Dotted Quarter</l><l>.375</l></list></block><block s="reportNewList"><list><l>Dotted Eighth</l><l>.1875</l></list></block><block s="reportNewList"><list><l>Dotted Sixteenth</l><l>.09375</l></list></block><block s="reportNewList"><list><l>Dotted Thirtysecond</l><l>.046876</l></list></block><block s="reportNewList"><list><l>Whole Triplet</l><block s="reportQuotient"><l>2</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Half Triplet</l><block s="reportQuotient"><l>1</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Quarter Triplet</l><block s="reportQuotient"><l>.5</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Eighth Triplet</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><l>.25</l><l>2</l></list></block><l>3</l></block></list></block><block s="reportNewList"><list><l>Sixteenth Triplet</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><l>.125</l><l>2</l></list></block><l>3</l></block></list></block><block s="reportNewList"><list><l>Thirtysecond Triplet</l><block s="reportQuotient"><l>.0625</l><l>3</l></block></list></block></list></block></custom-block></block><l>4</l><block s="reportQuotient"><l>60</l><block s="getTempo"></block></block></list></block></block></script></block-definition><block-definition s="%&apos;Scale Type&apos; Scale: %&apos;Note&apos; Octave: %&apos;Octave&apos;" type="reporter" category="Music"><comment x="0" y="0" w="264.7690848214286" collapsed="false">Reports all notes in a specified scale using the provided note and octave number as the starting note of the scale.&#xD;&#xD;To add additional scales to the &quot;Types&quot; script variable, create a list with the name of the scale as the first item and the steps between each note of the scale as the second item.</comment><header></header><code></code><translations></translations><inputs><input type="%s">Chromatic<options>Chromatic&#xD;Major&#xD;Minor</options></input><input type="%s">C</input><input type="%n">4<options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input></inputs><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportListContainsItem"><custom-block s="Chromatic Notes"></custom-block><block var="Note"/></block><block s="reportIsA"><block var="Octave"/><l><option>number</option></l></block></list></block><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>Types</l><l>MIDI Number</l><l>Scale</l><l>Pattern</l><l>Converted Note</l></list></block><block s="doSetVar"><l>Converted Note</l><custom-block s="Convert False Sharps/Flats %s"><block var="Note"/></custom-block></block><block s="doSetVar"><l>Types</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Chromatic</l><block s="reportTextSplit"><l>11111111111</l><l><option>letter</option></l></block></list></block><block s="reportNewList"><list><l>Major</l><block s="reportTextSplit"><l>221222</l><l><option>letter</option></l></block></list></block><block s="reportNewList"><list><l>Minor</l><block s="reportTextSplit"><l>212212</l><l><option>letter</option></l></block></list></block><block s="reportNewList"><list><l>Diminished</l><block s="reportTextSplit"><l>2121212</l><l><option>letter</option></l></block></list></block></list></block></block><block s="doSetVar"><l>MIDI Number</l><custom-block s="Convert Note %s to MIDI"><block s="reportJoinWords"><list><block var="Note"/><block var="Octave"/></list></block></custom-block></block><block s="doSetVar"><l>Scale</l><block s="reportNewList"><list><block var="MIDI Number"/></list></block></block><block s="doSetVar"><l>Pattern</l><block s="reportListItem"><l>2</l><custom-block s="$flash assoc %s %l"><block var="Scale Type"/><block var="Types"/></custom-block></block></block><block s="doForEach"><l>item</l><block var="Pattern"/><script><block s="doChangeVar"><l>MIDI Number</l><block var="item"/></block><block s="doAddToList"><block var="MIDI Number"/><block var="Scale"/></block></script></block></script></block><block s="doReport"><custom-block s="Convert MIDI %n to Note using %s"><block var="Scale"/><custom-block s="Check for Sharp/Flat %s"><block var="Converted Note"/></custom-block></custom-block></block></script><script><block s="doReport"><l></l></block></script></block></script></block-definition><block-definition s="Check for Sharp/Flat %&apos;Note&apos;" type="reporter" category="Music"><comment x="0" y="0" w="90" collapsed="false">Reports &quot;#&quot; or &quot;b&quot; of the input scientific pitch notation contains either.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="Note"/></block><l>1</l></list></block><block s="reportLetter"><l><option>last</option></l><block var="Note"/></block><l></l></block></block></script></block-definition><block-definition s="Note %&apos;#&apos; in %&apos;Major/Minor&apos; Scale: %&apos;Note&apos; Octave: %&apos;Octave&apos;" type="reporter" category="Music"><comment x="0" y="0" w="239.67513950892862" collapsed="false">Reports the note in a specific position within a major or minor musical scale. (e.g., The third note in a C Major scale starting in the fourth octave is E4.)</comment><header></header><code></code><translations></translations><inputs><input type="%n" readonly="true">1<options>1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input><input type="%s" readonly="true">Major<options>Major&#xD;Minor</options></input><input type="%s">C</input><input type="%n">4<options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input></inputs><script><block s="doReport"><block s="reportListItem"><block var="#"/><custom-block s="%s Scale: %s Octave: %n"><block var="Major/Minor"/><block var="Note"/><block var="Octave"/></custom-block></block></block></script></block-definition><block-definition s="Interval Between Note %&apos;Note 1&apos; to %&apos;Note 2&apos; in the %&apos;Major/Minor&apos; Scale %&apos;Note&apos;" type="reporter" category="Music"><comment x="0" y="0" w="245" collapsed="false">Reports the distance in steps between two notes in the selected scale. (e.g., In the C Major scale, there are two intervals between C4 and E4.)&#xD;&#xD;If one or more of the selected notes is not in the selected scale, the block reports nothing.&#xD;&#xD;Notes must be entered as scientific pitch notation (eg. C4).</comment><header></header><code></code><translations></translations><inputs><input type="%s">C4</input><input type="%s">G4</input><input type="%s" readonly="true">Major<options>Major&#xD;Minor</options></input><input type="%s">C</input></inputs><script><block s="doDeclareVariables"><list><l>Note Position 1</l><l>Note Position 2</l></list></block><block s="doSetVar"><l>Note Position 1</l><block s="reportListIndex"><custom-block s="Convert Note %s to MIDI"><block var="Note 1"/></custom-block><custom-block s="Create Full %s MIDI Scale %s"><block var="Major/Minor"/><block var="Note"/></custom-block></block></block><block s="doSetVar"><l>Note Position 2</l><block s="reportListIndex"><custom-block s="Convert Note %s to MIDI"><block var="Note 2"/></custom-block><custom-block s="Create Full %s MIDI Scale %s"><block var="Major/Minor"/><block var="Note"/></custom-block></block></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportListContainsItem"><custom-block s="Create Full %s MIDI Scale %s"><block var="Major/Minor"/><block var="Note"/></custom-block><custom-block s="Convert Note %s to MIDI"><block var="Note 1"/></custom-block></block><block s="reportListContainsItem"><custom-block s="Create Full %s MIDI Scale %s"><block var="Major/Minor"/><block var="Note"/></custom-block><custom-block s="Convert Note %s to MIDI"><block var="Note 2"/></custom-block></block></list></block><script><block s="doReport"><block s="reportDifference"><block var="Note Position 2"/><block var="Note Position 1"/></block></block></script><script><block s="doReport"><l></l></block></script></block></script></block-definition><block-definition s="Create Full %&apos;Type&apos; MIDI Scale %&apos;Note&apos;" type="reporter" category="Music"><header></header><code></code><translations></translations><inputs><input type="%s"><options>Chromatic&#xD;Major&#xD;Minor</options></input><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>Scale Types</l><l>Scale</l><l>Pattern</l><l>MIDI Number</l></list></block><block s="doSetVar"><l>Scale Types</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Chromatic</l><block s="reportTextSplit"><l>111111111111</l><l><option>letter</option></l></block></list></block><block s="reportNewList"><list><l>Major</l><block s="reportTextSplit"><l>2212221</l><l><option>letter</option></l></block></list></block><block s="reportNewList"><list><l>Minor</l><block s="reportTextSplit"><l>2122122</l><l><option>letter</option></l></block></list></block></list></block></block><block s="doSetVar"><l>MIDI Number</l><custom-block s="Convert Note %s to MIDI"><block s="reportJoinWords"><list><custom-block s="Get Note %s"><block var="Note"/></custom-block><l>0</l></list></block></custom-block></block><block s="doSetVar"><l>Scale</l><block s="reportNewList"><list><block var="MIDI Number"/></list></block></block><block s="doSetVar"><l>Pattern</l><block s="reportListItem"><l>2</l><custom-block s="$flash assoc %s %l"><block var="Type"/><block var="Scale Types"/></custom-block></block></block><block s="doRepeat"><l>8</l><script><block s="doForEach"><l>item</l><block var="Pattern"/><script><block s="doChangeVar"><l>MIDI Number</l><block var="item"/></block><block s="doAddToList"><block var="MIDI Number"/><block var="Scale"/></block></script></block></script></block><block s="doReport"><block var="Scale"/></block></script></block></script></block-definition><block-definition s="%&apos;Major/Minor&apos; Chord: %&apos;Note&apos; Octave: %&apos;Octave&apos;" type="reporter" category="Music"><comment x="0" y="0" w="163.5714285714284" collapsed="false">Reports the notes comprising a major or minor chord, using the specified note and octave as the root note of the chord.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Major<options>Major&#xD;Minor</options></input><input type="%s">C</input><input type="%s">4</input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicAnd"><list><block s="reportListContainsItem"><custom-block s="Chromatic Notes"></custom-block><block var="Note"/></block><block s="reportIsA"><block var="Octave"/><l><option>number</option></l></block></list></block><block s="reportListItem"><block s="reportNewList"><list><l>1</l><l>3</l><l>5</l></list></block><custom-block s="%s Scale: %s Octave: %n"><block var="Major/Minor"/><block var="Note"/><block var="Octave"/></custom-block></block><l></l></block></block></script></block-definition><block-definition s="%&apos;Type&apos; Chord: %&apos;Note&apos; Octave: %&apos;Octave&apos; Chord Position: %&apos;Position&apos;" type="reporter" category="Music"><comment x="0" y="0" w="337.8571428571429" collapsed="false">This block finds the notes in a specified chord along the selected scale. Roman numerals differentiate chord positions from octave numbers (e.g., the Roman numeral “I” reports the notes of the first chord in the sequence). Upper case Roman numerals represent major chords within the scale. Lower case Roman numerals represent minor chords within the scale.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Major<options>Major&#xD;Minor</options></input><input type="%s">C</input><input type="%n">4<options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input><input type="%s" readonly="true">I<options>I&#xD;ii&#xD;iii&#xD;IV&#xD;V&#xD;vi&#xD;vii°</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>Converted Numeral</l></list></block><block s="doSetVar"><l>Converted Numeral</l><custom-block s="Converted Roman Numeral %s"><block var="Position"/></custom-block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="Type"/><l>Major</l></list></block><script><block s="doSetBlockAttribute"><l><option>menus</option></l><block s="reifyReporter"><autolambda><custom-block s="%s Chord: %s Octave: %n Chord Position: %s"><l>Major</l><l></l><l></l><l></l></custom-block></autolambda><list></list></block><block s="reportNewList"><list><l></l><l></l><l></l><block s="reportNewList"><list><l>I</l><l>ii</l><l>iii</l><l>IV</l><l>V</l><l>vi</l><l>vii°</l></list></block></list></block></block></script><script><block s="doSetBlockAttribute"><l><option>menus</option></l><block s="reifyReporter"><autolambda><custom-block s="%s Chord: %s Octave: %n Chord Position: %s"><l>Major</l><l></l><l></l><l></l></custom-block></autolambda><list></list></block><block s="reportNewList"><list><l></l><l></l><l></l><block s="reportNewList"><list><l>i</l><l>ii°</l><l>III</l><l>iv</l><l>V</l><l>VI</l><l>VII</l></list></block></list></block></block></script></block><block s="doIf"><block s="reportListContainsItem"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="Type"/><l>Major</l></list></block><block s="reportNewList"><list><l>1</l><l>4</l><l>5</l></list></block><block s="reportNewList"><list><l>3</l><l>6</l><l>7</l></list></block></block><block var="Converted Numeral"/></block><script><block s="doReport"><custom-block s="%s Chord: %s Octave: %s"><l>Major</l><custom-block s="Get Note %s"><block s="reportListItem"><block var="Converted Numeral"/><custom-block s="%s Scale: %s Octave: %n"><block var="Type"/><block var="Note"/><block var="Octave"/></custom-block></block></custom-block><block var="Octave"/></custom-block></block></script><list></list></block><block s="doIf"><block s="reportListContainsItem"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="Type"/><l>Major</l></list></block><block s="reportNewList"><list><l>2</l><l>3</l><l>6</l></list></block><block s="reportNewList"><list><l>1</l><l>4</l><l>5</l></list></block></block><block var="Converted Numeral"/></block><script><block s="doReport"><custom-block s="%s Chord: %s Octave: %s"><l>Minor</l><custom-block s="Get Note %s"><block s="reportListItem"><block var="Converted Numeral"/><custom-block s="%s Scale: %s Octave: %n"><block var="Type"/><block var="Note"/><block var="Octave"/></custom-block></block></custom-block><block var="Octave"/></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="Converted Numeral"/><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="Type"/><l>Major</l></list></block><l>7</l><l>2</l></block></list></block><script><block s="doReport"><custom-block s="%s Diminished Chord %s Octave"><custom-block s="Get Note %s"><block s="reportListItem"><l>8</l><custom-block s="%s Scale: %s Octave: %n"><l>Diminished</l><block var="Note"/><block var="Octave"/></custom-block></block></custom-block><block var="Octave"/></custom-block></block></script><list></list></block></script></block></script></block-definition><block-definition s="Converted Roman Numeral %&apos;Roman Numeral&apos;" type="reporter" category="Music"><comment x="0" y="0" w="90" collapsed="false">Converts roman numerals to arabic numerals using an association table.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>2</l><custom-block s="$flash assoc %s %l"><block var="Roman Numeral"/><block s="reportNewList"><list><block s="reportNewList"><list><l>I</l><l>1</l></list></block><block s="reportNewList"><list><l>II</l><l>2</l></list></block><block s="reportNewList"><list><l>II°</l><l>2</l></list></block><block s="reportNewList"><list><l>III</l><l>3</l></list></block><block s="reportNewList"><list><l>IV</l><l>4</l></list></block><block s="reportNewList"><list><l>V</l><l>5</l></list></block><block s="reportNewList"><list><l>VI</l><l>6</l></list></block><block s="reportNewList"><list><l>VII</l><l>7</l></list></block><block s="reportNewList"><list><l>VII°</l><l>7</l></list></block></list></block></custom-block></block></block></script></block-definition><block-definition s="%&apos;Note&apos; Diminished Chord %&apos;Octave&apos; Octave" type="reporter" category="Music"><comment x="0" y="0" w="90" collapsed="false">Reports the notes of a diminished chord, given the starting note and octave of the chord.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListItem"><block s="reportNewList"><list><l>1</l><l>3</l><l>5</l></list></block><custom-block s="%s Scale: %s Octave: %n"><l>Diminished</l><block var="Note"/><block var="Octave"/></custom-block></block></block></script></block-definition><block-definition s="Add Note %&apos;Note&apos; to Chord %&apos;Chord&apos;" type="reporter" category="Music"><comment x="0" y="0" w="280" collapsed="false">This block reports a chord and appends an additional note.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportConcatenatedLists"><list><block var="Chord"/><block s="reportNewList"><list><block s="reportIfElse"><block s="reportIsA"><block var="Note"/><l><option>number</option></l></block><custom-block s="Convert MIDI %n to Note using %s"><block var="Note"/><l></l></custom-block><custom-block s="Convert False Sharps/Flats %s"><block var="Note"/></custom-block></block></list></block></list></block></block></script></block-definition><block-definition s="Chord Rest" type="reporter" category="Music"><comment x="0" y="0" w="189.2857142857143" collapsed="false">May be paired with a musical duration to insert a rest into a sequence of chords.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>R</l><l>R</l><l>R</l></list></block></block></script></block-definition><block-definition s="Drum Pattern %&apos;Step&apos;" type="reporter" category="Music"><comment x="0" y="0" w="245.96442522321422" collapsed="false">This block reports a series of beats that tell the drum when to play. Beats are represented as an “X,” which can be typed into the block. Beats can be added or subtracted using the arrows on the right of the block.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input></inputs><script><block s="doReport"><block var="Step"/></block></script></block-definition><block-definition s="Drum %&apos;Instrument&apos; %&apos;Pattern&apos; Beat %&apos;Beat&apos; Times %&apos;Times&apos;" type="reporter" category="Music"><comment x="0" y="0" w="288.5714285714286" collapsed="false">This block reports a drum pattern, assigns a drum to it, and sets the duration value of each item in the pattern. Different drums can be selected from the drop-down menu. Beat durations can be selected from the drop-down menu or entered directly.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Snare Drum<options>Bass Drum&#xD;Snare Drum&#xD;Crash Cymbal&#xD;Cabasa&#xD;Toms={&#xD;High Tom&#xD;Mid Tom&#xD;}&#xD;Hi-Hats={&#xD;Closed Hi-hat&#xD;Open Hi-hat&#xD;}</options></input><input type="%l"></input><input type="%s">Eighth<options>Quarter&#xD;Eighth&#xD;Sixteenth</options></input><input type="%s">1<options>1&#xD;2&#xD;3&#xD;4&#xD;8&#xD;12&#xD;16&#xD;24&#xD;Loop</options></input></inputs><script><block s="doDeclareVariables"><list><l>notes and durations</l><l>pitch</l></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="Instrument"/><l>Bass Drum</l></list></block><script><block s="doSetVar"><l>pitch</l><l>C2</l></block></script><script><block s="doSetVar"><l>pitch</l><l>C4</l></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="Times"/><l>Loop</l></list></block><script><block s="doSetVar"><l>notes and durations</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Loop-Melody</l><block var="Instrument"/></list></block></list></block></block><block s="doForEach"><l>item</l><block var="Pattern"/><script><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="item"/><l>x</l></list></block><block s="reportVariadicEquals"><list><block var="item"/><l>X</l></list></block></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block var="pitch"/><block var="Beat"/></list></block><block var="notes and durations"/></block></script><script><block s="doAddToList"><block s="reportNewList"><list><l>R</l><block var="Beat"/></list></block><block var="notes and durations"/></block></script></block></script></block></script><script><block s="doSetVar"><l>notes and durations</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Melody</l><block var="Instrument"/></list></block></list></block></block><block s="doRepeat"><block var="Times"/><script><block s="doForEach"><l>item</l><block var="Pattern"/><script><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="item"/><l>x</l></list></block><block s="reportVariadicEquals"><list><block var="item"/><l>X</l></list></block></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block var="pitch"/><block var="Beat"/></list></block><block var="notes and durations"/></block></script><script><block s="doAddToList"><block s="reportNewList"><list><l>R</l><block var="Beat"/></list></block><block var="notes and durations"/></block></script></block></script></block></script></block></script></block><block s="doReport"><block var="notes and durations"/></block></script></block-definition><block-definition s="Chromatic Notes" type="reporter" category="Music"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportListAttribute"><l><option>columns</option></l><block s="reportNewList"><list><block s="reportNewList"><list><l>Cb</l><l>23</l></list></block><block s="reportNewList"><list><l>C</l><l>24</l></list></block><block s="reportNewList"><list><l>C#</l><l>25</l></list></block><block s="reportNewList"><list><l>Db</l><l>25</l></list></block><block s="reportNewList"><list><l>D</l><l>26</l></list></block><block s="reportNewList"><list><l>D#</l><l>27</l></list></block><block s="reportNewList"><list><l>Eb</l><l>27</l></list></block><block s="reportNewList"><list><l>E</l><l>28</l></list></block><block s="reportNewList"><list><l>E#</l><l>29</l></list></block><block s="reportNewList"><list><l>Fb</l><l>28</l></list></block><block s="reportNewList"><list><l>F</l><l>29</l></list></block><block s="reportNewList"><list><l>F#</l><l>30</l></list></block><block s="reportNewList"><list><l>Gb</l><l>30</l></list></block><block s="reportNewList"><list><l>G</l><l>31</l></list></block><block s="reportNewList"><list><l>G#</l><l>32</l></list></block><block s="reportNewList"><list><l>Ab</l><l>32</l></list></block><block s="reportNewList"><list><l>A</l><l>33</l></list></block><block s="reportNewList"><list><l>A#</l><l>34</l></list></block><block s="reportNewList"><list><l>Bb</l><l>34</l></list></block><block s="reportNewList"><list><l>B</l><l>35</l></list></block><block s="reportNewList"><list><l>B#</l><l>36</l></list></block></list></block></block></block></block></script></block-definition><block-definition s="Convert False Sharps/Flats %&apos;Note&apos;" type="reporter" category="Music"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>converted note</l></list></block><block s="doIfElse"><block s="reportListContainsItem"><block s="reportNewList"><list><l>E#</l><l>Fb</l><l>B#</l><l>Cb</l></list></block><block var="Note"/></block><script><block s="doSetVar"><l>converted note</l><block s="reportListItem"><l>2</l><custom-block s="$flash assoc %s %l"><block var="Note"/><block s="reportNewList"><list><block s="reportNewList"><list><l>E#</l><l>F</l></list></block><block s="reportNewList"><list><l>Fb</l><l>E</l></list></block><block s="reportNewList"><list><l>B#</l><l>C</l></list></block><block s="reportNewList"><list><l>Cb</l><l>B</l></list></block></list></block></custom-block></block></block></script><script><block s="doSetVar"><l>converted note</l><block var="Note"/></block></script></block><block s="doReport"><block var="converted note"/></block></script></block-definition><block-definition s="Measure %&apos;Pairs&apos;" type="reporter" category="Music"><comment x="0" y="0" w="286.4285714285714" collapsed="false">This block is used to group sequences of notes and chords into measures. Each note or chord in the measure is paired with a note duration. The pairs are entered into the block using a list. </comment><header></header><code></code><translations></translations><inputs><input type="%mult%l"></input></inputs><script><block s="doReport"><block var="Pairs"/></block></script></block-definition><block-definition s="Section %&apos;Measures&apos;" type="reporter" category="Music"><comment x="0" y="0" w="428.2220145089286" collapsed="false">This code block groups measures together. This can be helpful for separating groups of measures that repeat in various places throughout a song, like verses and choruses. This block works with both notes and chords. To add measures to a section, put the measures into a list.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%l"></input></inputs><script><block s="doDeclareVariables"><list><l>Section</l></list></block><block s="doSetVar"><l>Section</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="Measures"/><script><block s="doSetVar"><l>Section</l><block s="reportConcatenatedLists"><list><block var="Section"/><block var="item"/></list></block></block></script></block><block s="doReport"><block var="Section"/></block></script></block-definition><block-definition s="Track: %&apos;Type&apos; Instrument: %&apos;Instrument&apos; $nl Musical Notation (Notes or Chords): %&apos;Notation&apos;" type="reporter" category="Music"><comment x="0" y="0" w="272.8571428571429" collapsed="false">This code block specifies the type of track to be played and assigns it an instrument. Both the track type and instrument are set using drop-down menus. This block accepts notes or chords paired with corresponding durations. This block also allows for the creation of note or chord loops that will repeat for the whole duration of the song. Both types of loops may be selected from the track drop-down menu. For a loop to play, it must have an accompanying track that is not a loop.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Melody<options>Melody&#xD;Chords&#xD;Loops={&#xD;Loop-Melody&#xD;Loop-Chords&#xD;}</options></input><input type="%s" readonly="true">Piano<options>Piano&#xD;Brass={&#xD;French Horn&#xD;Trumpet&#xD;Tuba&#xD;}&#xD;Strings={&#xD;Banjo&#xD;Bass, Acoustic&#xD;Bass, Electric (Finger)&#xD;Cello&#xD;Guitar, Acoustic&#xD;Guitar, Electric&#xD;Guitar, Overdrive&#xD;Harp&#xD;Koto&#xD;Sitar&#xD;Violin&#xD;}&#xD;Woodwinds={&#xD;Bassoon&#xD;Clarinet&#xD;Flute&#xD;Oboe&#xD;Saxophone&#xD;Shakuhachi&#xD;}&#xD;Drums={&#xD;Cabasa&#xD;Snare Drum&#xD;Bass Drum&#xD;Closed Hi-Hat&#xD;Open Hi-Hat&#xD;Mid Tom&#xD;High Tom&#xD;Crash Cymbal&#xD;}&#xD;Other={&#xD;Accordion&#xD;Marimba&#xD;Music Box&#xD;Organ&#xD;Vibraphone&#xD;}</options></input><input type="%mult%s"></input></inputs><script><block s="doDeclareVariables"><list><l>Track</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>Track</l><block s="reportNewList"><list><block s="reportNewList"><list><block var="Type"/><block var="Instrument"/></list></block></list></block></block><block s="doForEach"><l>item</l><block var="Notation"/><script><block s="doSetVar"><l>Track</l><block s="reportConcatenatedLists"><list><block var="Track"/><block var="item"/></list></block></block></script></block><block s="doReport"><block var="Track"/></block></script></block></script></block-definition><block-definition s="Play Tracks %&apos;tracks&apos; Time Signature: %&apos;timeSignature&apos;" type="command" category="Music"><comment x="0" y="0" w="198.57142857142858" collapsed="false">This block is used to play multiple music tracks. In most cases, several tracks with musical instruments are played in parallel. </comment><header></header><code></code><translations></translations><inputs><input type="%mult%l"></input><input type="%s" readonly="true">4/4<options>4/4&#xD;3/4&#xD;5/4&#xD;7/4&#xD;6/8&#xD;9/8&#xD;12/8</options></input></inputs><script><custom-block s="Load TuneScope Primitives"></custom-block><block s="doApplyExtension"><l>ts_playtracks(tracklist, timesignature)</l><list><block var="tracks"/><block var="timeSignature"/><block s="getTempo"></block></list></block></script></block-definition><block-definition s="Beats in Measure %&apos;Measure&apos; $nl Time Signature %&apos;Time&apos;" type="reporter" category="Music"><comment x="0" y="0" w="297.14285714285717" collapsed="false">This block determines if the combined durations of notes or chords within a measure are correct. The combined duration of notes within a measure must equal the number of beats specified by the time signature. &#xD;&#xD;When reading time signatures, the bottom number determines which note gets counted as a beat, and the top number determines how many beats are in a measure. For example, in 4/4 time, quarter notes are counted as beats and there are four quarter notes in a measure. In 6/8 time, the eighth note counted as the beat, and there are six eighth notes in a measure.&#xD;&#xD;The Beats in Measure reports the discrepancy between the number of actual beats in a measure versus the required number of beats.&#xD;&#xD;If name durations are not entered correctly, the block reports nothing.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s" readonly="true">4/4<options>4/4&#xD;3/4&#xD;2/4&#xD;6/8&#xD;5/4&#xD;7/4&#xD;9/8&#xD;12/8</options></input></inputs><script><block s="doDeclareVariables"><list><l>Beats Necessary</l><l>Beat Value</l><l>Actual</l></list></block><block s="doSetVar"><l>Beats Necessary</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="Time"/><l>/</l></block></block></block><block s="doSetVar"><l>Beat Value</l><block s="reportQuotient"><l>1</l><block s="reportListItem"><l>2</l><block s="reportTextSplit"><block var="Time"/><l>/</l></block></block></block></block><block s="doForEach"><l>item</l><block s="reportListItem"><l>2</l><block s="reportListAttribute"><l><option>columns</option></l><block var="Measure"/></block></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListContainsItem"><custom-block s="List of Note Durations"></custom-block><block var="item"/></block><block s="reportBoolean"><l><bool>false</bool></l></block></list></block><script><block s="doReport"><l></l></block></script><list></list></block></script></block><block s="doSetVar"><l>Actual</l><block s="reportVariadicSum"><custom-block s="Note Duration Value %s"><block s="reportListItem"><l>2</l><block s="reportListAttribute"><l><option>columns</option></l><block var="Measure"/></block></block></custom-block></block></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportQuotient"><block var="Actual"/><block var="Beat Value"/></block><l> of </l><block var="Beats Necessary"/><l> beats</l></list></block></block></script></block-definition><block-definition s="Note Duration Value %&apos;Duration&apos;" type="reporter" category="Music"><comment x="0" y="0" w="311.42857142857144" collapsed="false">The Note Duration Value block reports the numerical value of the input duration name.&#xD;&#xD;Inputing a list of duration names outputs a list of values.</comment><header></header><code></code><translations></translations><inputs><input type="%s">Quarter<options>Whole&#xD;Half&#xD;Quarter&#xD;Eighth&#xD;Sixteenth&#xD;Thirtysecond&#xD;Dotted Notes={&#xD;Dotted Half&#xD;Dotted Quarter&#xD;Dotted Eighth&#xD;Dotted Sixteenth&#xD;}&#xD;Triplet Notes={&#xD;Half Triplet&#xD;Quarter Triplet&#xD;Eighth Triplet&#xD;Sixteenth Triplet&#xD;}</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>Note Duration</l></list></block><block s="doIfElse"><block s="reportIsA"><block var="Duration"/><l><option>list</option></l></block><script><block s="doSetVar"><l>Note Duration</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="Duration"/><script><block s="doAddToList"><custom-block s="Note Duration Value %s"><block var="item"/></custom-block><block var="Note Duration"/></block></script></block><block s="doReport"><block var="Note Duration"/></block></script><script><block s="doReport"><block s="reportListItem"><l>2</l><custom-block s="$flash assoc %s %l"><block var="Duration"/><block s="reportNewList"><list><block s="reportNewList"><list><l>Whole</l><l>1</l></list></block><block s="reportNewList"><list><l>Half</l><l>.5</l></list></block><block s="reportNewList"><list><l>Quarter</l><l>.25</l></list></block><block s="reportNewList"><list><l>Eighth</l><l>.125</l></list></block><block s="reportNewList"><list><l>Sixteenth</l><l>.0625</l></list></block><block s="reportNewList"><list><l>Thirtysecond</l><l>.03125</l></list></block><block s="reportNewList"><list><l>Dotted Whole</l><l>1.5</l></list></block><block s="reportNewList"><list><l>Dotted Half</l><l>.75</l></list></block><block s="reportNewList"><list><l>Dotted Quarter</l><l>.375</l></list></block><block s="reportNewList"><list><l>Dotted Eighth</l><l>.1875</l></list></block><block s="reportNewList"><list><l>Dotted Sixteenth</l><l>.09375</l></list></block><block s="reportNewList"><list><l>Dotted Thirtysecond</l><l>.046876</l></list></block><block s="reportNewList"><list><l>Whole Triplet</l><block s="reportQuotient"><l>2</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Half Triplet</l><block s="reportQuotient"><l>1</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Quarter Triplet</l><block s="reportQuotient"><l>.5</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Eighth Triplet</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><l>.25</l><l>2</l></list></block><l>3</l></block></list></block><block s="reportNewList"><list><l>Sixteenth Triplet</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><l>.125</l><l>2</l></list></block><l>3</l></block></list></block><block s="reportNewList"><list><l>Thirtysecond Triplet</l><block s="reportQuotient"><l>.0625</l><l>3</l></block></list></block></list></block></custom-block></block></block></script></block></script></block></script></block-definition><block-definition s="List of Note Durations" type="reporter" category="Music"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>Whole</l><l>Half</l><l>Quarter</l><l>Eighth</l><l>Sixteenth</l><l>Thirtysecond</l><l>Dotted Whole</l><l>Dotted Half</l><l>Dotted Quarter</l><l>Dotted Eighth</l><l>Dotted Sixteenth</l><l>Dotted Thirtysecond</l><l>Whole Triplet</l><l>Half Triplet</l><l>Quarter Triplet</l><l>Eighth Triplet</l><l>Sixteenth Triplet</l><l>Thirty Second Triplet</l></list></block></block></script></block-definition><block-definition s="Note [ Pitch: %&apos;pitch&apos; Duration: %&apos;duration&apos; ]" type="reporter" category="Music"><header></header><code></code><translations></translations><inputs><input type="%s">C4<options>C3&#xD;D3&#xD;E3&#xD;F3&#xD;G3&#xD;A3&#xD;B3&#xD;C4&#xD;D4&#xD;E4&#xD;F4&#xD;G4&#xD;A4&#xD;B4&#xD;Sharps={&#xD;C#3&#xD;D#3&#xD;E#3&#xD;F#3&#xD;G#3&#xD;A#3&#xD;B#3&#xD;C#4&#xD;D#4&#xD;E#4&#xD;F#4&#xD;G#4&#xD;A#4&#xD;B#4&#xD;}&#xD;Flats={&#xD;Cb3&#xD;Db3&#xD;Eb3&#xD;Fb3&#xD;Gb3&#xD;Ab3&#xD;Bb3&#xD;Cb4&#xD;Db4&#xD;Eb4&#xD;Fb4&#xD;Gb4&#xD;Ab4&#xD;Bb4&#xD;}</options></input><input type="%s">Quarter<options>Whole&#xD;Half&#xD;Quarter&#xD;Eighth&#xD;Sixteenth&#xD;Thirtysecond&#xD;Dotted Whole&#xD;Dotted Half&#xD;Dotted Quarter&#xD;Dotted Eighth&#xD;Dotted Sixteenth&#xD;Dotted Thirtysecond&#xD;Whole Triplet&#xD;Half Triplet&#xD;Quarter Triplet&#xD;Eighth Triplet&#xD;Sixteenth Triplet&#xD;Thirty Second Triplet</options></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block var="pitch"/><block var="duration"/></list></block></block></script></block-definition><block-definition s="Tone Number: %&apos;number&apos; Frequency: %&apos;frequency&apos; Amplitude: %&apos;amplitude&apos;" type="command" category="Music"><comment x="0" y="0" w="292.14285714285717" collapsed="false">This block assigns a number, frequency, and amplitude to a tone.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1<options>1&#xD;2&#xD;3&#xD;4&#xD;5</options></input><input type="%n"></input><input type="%n">0.5<options>.1&#xD;.2&#xD;.3&#xD;.4&#xD;.5&#xD;.6&#xD;.7&#xD;.8&#xD;.9</options></input></inputs><script><custom-block s="Load TuneScope Primitives"></custom-block><block s="doApplyExtension"><l>ts_settone(id, frequency, amplitude, balance)</l><list><block var="number"/><block var="frequency"/><block var="amplitude"/><block s="getPan"></block></list></block></script></block-definition><block-definition s="Tone Number: %&apos;Number&apos; %&apos;newOn&apos; On/Off" type="command" category="Music"><comment x="0" y="0" w="371.424916294643" collapsed="false">This block turns the specified tone on or off. This block will play a sine wave. </comment><header></header><code></code><translations></translations><inputs><input type="%n">1<options>1&#xD;2&#xD;3&#xD;4&#xD;5</options></input><input type="%b"></input></inputs><script><custom-block s="Load TuneScope Primitives"></custom-block><block s="doApplyExtension"><l>ts_turntoneon(id, bool)</l><list><block var="Number"/><block var="newOn"/></list></block></script></block-definition><block-definition s="Tone Off" type="command" category="Music"><comment x="0" y="0" w="234.8779296875" collapsed="false">This block turns off all the tones currently playing. </comment><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="Load TuneScope Primitives"></custom-block><block s="doApplyExtension"><l>ts_stoptones()</l><list></list></block></script></block-definition><block-definition s="Play MIDI Controller: %&apos;controller_name&apos; Instrument: %&apos;instrument&apos;" type="command" category="Music"><comment x="0" y="0" w="285.7142857142857" collapsed="false">Passes through the signal from a MIDI controller, allowing the user to play the controller using the assigned instrument. The name of the MIDI controller must be input exactly as it appears on the user&apos;s computer.</comment><header></header><code></code><translations></translations><inputs><input type="%s">MPK mini 3<options>MPK mini 3&#xD;MPK mini play&#xD;MPK Mini Mk II&#xD;M-audio Keystation 49es</options></input><input type="%s" readonly="true">Piano<options>Piano&#xD;Brass={&#xD;French Horn&#xD;Trumpet&#xD;Tuba&#xD;}&#xD;Strings={&#xD;Banjo&#xD;Bass, Acoustic&#xD;Bass, Electric (Finger)&#xD;Cello&#xD;Guitar, Acoustic&#xD;Guitar, Electric&#xD;Guitar, Overdrive&#xD;Harp&#xD;Koto&#xD;Sitar&#xD;Violin&#xD;}&#xD;Woodwinds={&#xD;Bassoon&#xD;Clarinet&#xD;Flute&#xD;Oboe&#xD;Saxophone&#xD;Shakuhachi&#xD;}&#xD;Drums={&#xD;Cabasa&#xD;Snare Drum&#xD;Bass Drum&#xD;Closed Hi-Hat&#xD;Open Hi-Hat&#xD;Mid Tom&#xD;High Tom&#xD;Crash Cymbal&#xD;}&#xD;Other={&#xD;Accordion&#xD;Marimba&#xD;Music Box&#xD;Organ&#xD;Vibraphone&#xD;}</options></input></inputs><script><custom-block s="Load TuneScope Primitives"></custom-block><block s="doApplyExtension"><l>ts_playMIDI(controller, instrument)</l><list><block var="controller_name"/><block var="instrument"/></list></block></script></block-definition><block-definition s="Stop MIDI Controller" type="command" category="Music"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="Load TuneScope Primitives"></custom-block><block s="doApplyExtension"><l>ts_stopMIDI()</l><list></list></block></script></block-definition><block-definition s="Convert MIDI %&apos;midinumber&apos; to Note" type="reporter" category="Music"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="Convert MIDI %n to Note using %s"><block var="midinumber"/><l>Sharps</l></custom-block></block></script></block-definition><block-definition s="Convert MIDI %&apos;#&apos; to Note using %&apos;Sharps/Flats&apos;" type="reporter" category="Music"><comment x="0" y="0" w="217.80831473214303" collapsed="false">Reports the corresponding note (in scientific pitch notation) for the specified MIDI number, matching the use of sharps and flats to the input scientific pitch notation.</comment><header></header><code></code><translations></translations><inputs><input type="%n">60<options>§_pianoKeyboardMenu</options></input><input type="%s" readonly="true">Sharps<options>Sharps&#xD;Flats</options></input></inputs><script><block s="doIfElse"><block s="reportIsA"><block var="#"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="Convert MIDI %n to Note using %s"><l></l><block var="Sharps/Flats"/></custom-block></autolambda><list></list></block><block var="#"/></block></block></script><script><block s="doDeclareVariables"><list><l>Octave</l><l>Note</l></list></block><block s="doSetVar"><l>Octave</l><block s="reportLetter"><l>1</l><block s="reportDifference"><block s="reportQuotient"><block var="#"/><l>12</l></block><l>1</l></block></block></block><block s="doSetVar"><l>Note</l><block s="reportListItem"><block s="reportVariadicSum"><list><block s="reportModulus"><block var="#"/><l>12</l></block><l>1</l></list></block><block s="reportIfElse"><block s="reportListContainsItem"><block s="reportNewList"><list><l>♭</l><l>b</l></list></block><block var="Sharps/Flats"/></block><block s="reportNewList"><list><l>C</l><l>Db</l><l>D</l><l>Eb</l><l>E</l><l>F</l><l>Gb</l><l>G</l><l>Ab</l><l>A</l><l>Bb</l><l>B</l></list></block><block s="reportNewList"><list><l>C</l><l>C#</l><l>D</l><l>D#</l><l>E</l><l>F</l><l>F#</l><l>G</l><l>G#</l><l>A</l><l>A#</l><l>B</l></list></block></block></block></block><block s="doReport"><block s="reportJoinWords"><list><block var="Note"/><block var="Octave"/></list></block></block></script></block></script></block-definition><block-definition s="Convert Note %&apos;Note&apos; to MIDI" type="reporter" category="Music"><comment x="0" y="0" w="273.5714285714286" collapsed="false">Reports the midi number of the specified note. The note should be entered using scientific pitch notation (e.g., &quot;C4&quot;).</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportVariadicSum"><list><custom-block s="MIDI %s Note"><custom-block s="Get Note %s"><block var="Note"/></custom-block></custom-block><block s="reportVariadicProduct"><list><l>12</l><block s="reportDifference"><custom-block s="Get Octave %s"><block var="Note"/></custom-block><l>1</l></block></list></block></list></block></block></script></block-definition><block-definition s="Get Note %&apos;Note + Octave&apos;" type="reporter" category="Music"><comment x="0" y="0" w="90" collapsed="false">Extracts the note name from the provided scientific pitch notation. (e.g., An input of &quot;C4&quot; produces an output of &quot;C&quot;.)</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="Note + Octave"/></block><l>2</l></list></block><block s="reportLetter"><l>1</l><block var="Note + Octave"/></block><block s="reportJoinWords"><list><block s="reportLetter"><l>1</l><block var="Note + Octave"/></block><block s="reportLetter"><l>2</l><block var="Note + Octave"/></block></list></block></block></block></script></block-definition><block-definition s="MIDI %&apos;Note&apos; Note" type="reporter" category="Music"><comment x="0" y="0" w="90" collapsed="false">Association list for note names and their corresponding MIDI numbers in the first octave. Used to convert note names to MIDI. </comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>2</l><custom-block s="$flash assoc %s %l"><block var="Note"/><block s="reportNewList"><list><block s="reportNewList"><list><l>Cb</l><l>23</l></list></block><block s="reportNewList"><list><l>C</l><l>24</l></list></block><block s="reportNewList"><list><l>C#</l><l>25</l></list></block><block s="reportNewList"><list><l>Db</l><l>25</l></list></block><block s="reportNewList"><list><l>D</l><l>26</l></list></block><block s="reportNewList"><list><l>D#</l><l>27</l></list></block><block s="reportNewList"><list><l>Eb</l><l>27</l></list></block><block s="reportNewList"><list><l>E</l><l>28</l></list></block><block s="reportNewList"><list><l>E#</l><l>29</l></list></block><block s="reportNewList"><list><l>Fb</l><l>28</l></list></block><block s="reportNewList"><list><l>F</l><l>29</l></list></block><block s="reportNewList"><list><l>F#</l><l>30</l></list></block><block s="reportNewList"><list><l>Gb</l><l>30</l></list></block><block s="reportNewList"><list><l>G</l><l>31</l></list></block><block s="reportNewList"><list><l>G#</l><l>32</l></list></block><block s="reportNewList"><list><l>Ab</l><l>32</l></list></block><block s="reportNewList"><list><l>A</l><l>33</l></list></block><block s="reportNewList"><list><l>A#</l><l>34</l></list></block><block s="reportNewList"><list><l>Bb</l><l>34</l></list></block><block s="reportNewList"><list><l>B</l><l>35</l></list></block><block s="reportNewList"><list><l>B#</l><l>36</l></list></block></list></block></custom-block></block></block></script></block-definition><block-definition s="Get Octave %&apos;Note&apos;" type="reporter" category="Music"><comment x="0" y="0" w="90" collapsed="false">Extracts the octave number from the provided scientific pitch notation. (e.g., An input of &quot;C4&quot; produces an output of &quot;4&quot;.)</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="Note"/></block><l>2</l></list></block><script><block s="doReport"><block s="reportLetter"><l>2</l><block var="Note"/></block></block></script><list></list></block><block s="doReport"><block s="reportLetter"><l>3</l><block var="Note"/></block></block></script></block-definition><block-definition s="Import MIDI File" type="reporter" category="Music"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="Load TuneScope Primitives"></custom-block><block s="doApplyExtension"><l>ts_parsemidifile()</l><list></list></block><block s="doWaitUntil"><block s="reportVariadicEquals"><list><block s="getLastMessage"></block><l>ts_file_input_received</l></list></block></block><block s="doReport"><block s="reportApplyExtension"><l>ts_getparsed()</l><list></list></block></block></script></block-definition><block-definition s="Convert MIDI File %&apos;File&apos; to TuneScope" type="reporter" category="Music"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>Note</l><l>Duration</l><l>List</l><l>Length of List</l></list></block><block s="doSetVar"><l>List</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>Length of List</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>6</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="File"/></block></block></block></block></block></block></block></block><block s="doWarp"><script><block s="doFor"><l>i</l><l>1</l><block var="Length of List"/><script><block s="doSetVar"><l>Note</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>4</l><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="i"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>6</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="File"/></block></block></block></block></block></block></block></block></block></block></block><block s="doSetVar"><l>Duration</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="i"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>6</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="File"/></block></block></block></block></block></block></block></block></block></block></block><block s="doSetVar"><l>List</l><block s="reportConcatenatedLists"><list><block var="List"/><block s="reportNewList"><list><block s="reportNewList"><list><block var="Note"/><block var="Duration"/></list></block></list></block></list></block></block></script></block></script></block><block s="doReport"><block var="List"/></block></script></block-definition><block-definition s="Current Note" type="reporter" category="Music"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="Load TuneScope Primitives"></custom-block><block s="doReport"><block s="reportApplyExtension"><l>ts_getcurrentnote()</l><list></list></block></block></script></block-definition><block-definition s="Load TuneScope Primitives" type="command" category="Music"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/WebAudioFontPlayer.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/webmidi.iife.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0100_SBLive_sf2.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0291_LesPaul_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0020_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0121_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0180_Chaos_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0230_Aspirin_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0241_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0260_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0320_GeneralUserGS_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0350_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0400_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0420_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0460_GeneralUserGS_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0110_GeneralUserGS_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0560_GeneralUserGS_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0580_GeneralUserGS_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0600_GeneralUserGS_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0650_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0680_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0700_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0710_Chaos_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0730_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0770_SBLive_sf2.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/1040_Aspirin_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/1050_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/1070_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/12835_21_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/12840_6_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/12842_0_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/12846_0_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/12847_21_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/12848_21_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/12849_21_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/12869_6_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/tonejs/package/build/Midi.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/TS_init.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/TuneScope.js</l></list></block><block s="doWaitUntil"><block s="reportApplyExtension"><l>ts_loaded()</l><list></list></block></block></script></block-definition><block-definition s="average %&apos;nums&apos;" type="reporter" category="operators"><header></header><code></code><translations>pt:a soma de _&#xD;</translations><inputs><input type="%mult%n"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="nums"/></block><script><block s="doReport"><l>0</l></block></script><list></list></block><block s="doReport"><block s="reportQuotient"><block s="reportCombine"><block var="nums"/><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block s="reportListAttribute"><l><option>length</option></l><block var="nums"/></block></block></block></script></block-definition><block-definition s="remap value %&apos;value&apos; from range %&apos;int1a&apos; , %&apos;int1b&apos; to range %&apos;int2a&apos; , %&apos;int2b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="int1a"/><block var="int1b"/></list></block><script><custom-block s="error %s"><l>Range A : values should be different (not a range !)</l></custom-block></script><list></list></block><block s="doReport"><block s="reportVariadicSum"><list><block var="int2a"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="value"/><block var="int1a"/></block><block s="reportQuotient"><block s="reportDifference"><block var="int2b"/><block var="int2a"/></block><block s="reportDifference"><block var="int1b"/><block var="int1a"/></block></block></list></block></list></block></block></script><scripts><comment x="497.77050781250006" y="21.999999999999982" w="424.0000000000001" collapsed="false">Remap a value from a original range of value to another range of value.&#xD;&#xD;example:&#xD;you have a value in a range of 0 to 5 and you want to transpose this value to another range of values 0 -100.&#xD;&#xD;in this case:&#xD;if value = 0 return 0&#xD;if value = 3 return 60&#xD;if value = 5 return 100&#xD;&#xD;another example:&#xD;you want to do 2.5D (size change with y position)&#xD;you can remap the y position of your sprite to obtain the size of your object&#xD;remap &quot;y position&quot; from range -180 to 180 to range 100 to 10&#xD;&#xD;if y position = -180 return 100 (the size)&#xD;if y position = 100 return 30&#xD;if y position = 180 return 10&#xD;use the result to change the size of your sprite !&#xD;&#xD;Block by Loucheman&#xD;&#xD;See example at: https://snap.berkeley.edu/snap/snap.html#present:Username=loucheman&amp;ProjectName=remap%20value&amp;editMode&amp;noRun</comment></scripts></block-definition><block-definition s="%&apos;numerator&apos; div %&apos;denominator&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportQuotient"><block var="numerator"/><block var="denominator"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="numerator"/><block var="denominator"/></block></block></block></script><script><block s="doReport"><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block var="numerator"/><block var="denominator"/></block></block></block></script></block></script></block-definition><block-definition s="%&apos;radians&apos; radian to degree" type="reporter" category="operators"><header></header><code></code><translations>pt:_ radianos em graus&#xD;</translations><inputs><input type="%n">1.5707963267948966</input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="radians"/><l>180</l></list></block><custom-block s="PI"></custom-block></block></block></script></block-definition><block-definition s="%&apos;degrees&apos; degree to radian" type="reporter" category="operators"><header></header><code></code><translations>pt:_ radianos em graus&#xD;</translations><inputs><input type="%n">90</input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="degrees"/><custom-block s="PI"></custom-block></list></block><l>180</l></block></block></script></block-definition><block-definition s="pick random odd number %&apos;min&apos; to %&apos;max&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">By Loucheman</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="min"/><block var="max"/></list></block><script><block s="doDeclareVariables"><list><l>SaveValue</l></list></block><block s="doSetVar"><l>SaveValue</l><block var="min"/></block><block s="doSetVar"><l>min</l><block var="max"/></block><block s="doSetVar"><l>max</l><block var="SaveValue"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="min"/><l>2</l></block><l>0</l></list></block><script><block s="doChangeVar"><l>min</l><l>2</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicNotEquals"><list><block s="reportModulus"><block var="max"/><l>2</l></block><l>0</l></list></block><script><block s="doChangeVar"><l>max</l><l>1</l></block></script><list></list></block><block s="doReport"><block s="reportDifference"><custom-block s="pick random even number %n to %n"><block var="min"/><block var="max"/></custom-block><l>1</l></block></block></script></block-definition><block-definition s="pick random even number %&apos;min&apos; to %&apos;max&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">By Loucheman</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="min"/><block var="max"/></list></block><script><block s="doDeclareVariables"><list><l>SaveValue</l></list></block><block s="doSetVar"><l>SaveValue</l><block var="min"/></block><block s="doSetVar"><l>min</l><block var="max"/></block><block s="doSetVar"><l>max</l><block var="SaveValue"/></block></script><list></list></block><block s="doReport"><block s="reportVariadicProduct"><list><block s="reportRandom"><block s="reportRound"><block s="reportQuotient"><block var="min"/><l>2</l></block></block><custom-block s="%n div %n"><block var="max"/><l>2</l></custom-block></block><l>2</l></list></block></block></script></block-definition><block-definition s="pick random %&apos;min&apos; to %&apos;max&apos; with %&apos;NbDecimale&apos; decimals" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">By Loucheman</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">2.5</input><input type="%n">2</input></inputs><script><block s="doReport"><custom-block s="Round %n to %n decimals"><block s="reportQuotient"><block s="reportRandom"><block s="reportVariadicProduct"><list><block var="min"/><block s="reportMonadic"><l><option>10^</option></l><block s="reportMonadic"><l><option>floor</option></l><block var="NbDecimale"/></block></block></list></block><block s="reportVariadicProduct"><list><block var="max"/><block s="reportMonadic"><l><option>10^</option></l><block s="reportMonadic"><l><option>floor</option></l><block var="NbDecimale"/></block></block></list></block></block><block s="reportMonadic"><l><option>10^</option></l><block s="reportMonadic"><l><option>floor</option></l><block var="NbDecimale"/></block></block></block><block var="NbDecimale"/></custom-block></block></script></block-definition><block-definition s="pick random (decimal) %&apos;n1&apos; to %&apos;n2&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">By Loucheman</comment><header></header><code></code><translations></translations><inputs><input type="%n">0</input><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="n1"/><l>1</l></block><l>.5</l></list></block><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="n2"/><l>1</l></block><l>.5</l></list></block></list></block><script><block s="doSetVar"><l>a</l><l>.6</l></block></script><script><block s="doSetVar"><l>a</l><l>.5</l></block></script><comment w="177.57142857142867" collapsed="false">By adding 0.5 or 0.6, the &quot;pick random&quot; is switching to the decimal world...&#xD;If (n1+.5) and (n2+.5  (2 integers)), adding .6 instead...</comment></block><block s="doReport"><block s="reportDifference"><block s="reportRandom"><block s="reportVariadicSum"><list><block var="n1"/><block var="a"/></list></block><block s="reportVariadicSum"><list><block var="n2"/><block var="a"/></list></block></block><block var="a"/></block></block></script></block-definition><block-definition s="Round %&apos;number&apos; to %&apos;NbDecimals&apos; decimals" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n">10.12345</input><input type="%n">2</input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportRound"><block s="reportVariadicProduct"><list><block var="number"/><block s="reportMonadic"><l><option>10^</option></l><block var="NbDecimals"/></block></list></block></block><block s="reportMonadic"><l><option>10^</option></l><block var="NbDecimals"/></block></block></block></script></block-definition><block-definition s="value %&apos;Value&apos; in range %&apos;Range1&apos; to %&apos;Range2&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">1</input><input type="%n">10</input></inputs><script><block s="doIfElse"><block s="reportVariadicLessThanOrEquals"><list><block var="Range1"/><block var="Range2"/></list></block><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="Value"/><block var="Range1"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="Value"/><block var="Range2"/></list></block></list></block><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></block></block></script><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="Value"/><block var="Range2"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="Value"/><block var="Range1"/></list></block></list></block><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></block></block></script></block></script></block-definition><block-definition s="easing %&apos;choice&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Beschleunigung _&#xD;ca:de forma _&#xD;pt:a forma _&#xD;</translations><inputs><input type="%txt" readonly="true">linear<options>linear&#xD;quadratic={&#xD;quadratic-in&#xD;quadratic-out&#xD;quadratic-in-out&#xD;}&#xD;cubic={&#xD;cubic-in&#xD;cubic-out&#xD;cubic-in-out&#xD;}&#xD;quart={&#xD;quart-in&#xD;quart-out&#xD;quart-in-out&#xD;}&#xD;sinusoidal={&#xD;sine-in&#xD;sine-out&#xD;sine-in-out&#xD;}&#xD;elastic</options></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>linear</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportMonadic"><l><option>id</option></l><l></l></block></autolambda><list></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>quadratic-out</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><l></l></list></block></autolambda><list></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>quadratic-in</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><block s="reportDifference"><l>2</l><l></l></block></list></block></autolambda><list></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>quadratic-in-out</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportVariadicLessThan"><list><l></l><l>.5</l></list></block><block s="reportVariadicProduct"><list><l>2</l><block s="reportVariadicProduct"><list><l></l><l></l></list></block></list></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportDifference"><l>4</l><block s="reportVariadicProduct"><list><l>2</l><l></l></list></block></block><l></l></list></block><l>1</l></block></block></autolambda><list></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>cubic-out</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><block s="reportVariadicProduct"><list><l></l><l></l></list></block></list></block></autolambda><list></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>cubic-in</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportVariadicProduct"><list><l></l><block var="t"/></list></block><block var="t"/></list></block><l>1</l></list></block></autolambda><list><l>t</l></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>cubic-in-out</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportVariadicLessThan"><list><l></l><l>.5</l></list></block><block s="reportVariadicProduct"><list><l>4</l><block s="reportVariadicProduct"><list><l></l><block s="reportVariadicProduct"><list><l></l><l></l></list></block></list></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><l></l><l>1</l></block><block s="reportDifference"><block s="reportVariadicProduct"><list><l>2</l><l></l></list></block><l>2</l></block></list></block><block s="reportDifference"><block s="reportVariadicProduct"><list><l>2</l><l></l></list></block><l>2</l></block></list></block><l>1</l></list></block></block></autolambda><list></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>quart-out</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><block s="reportVariadicProduct"><list><l></l><block s="reportVariadicProduct"><list><l></l><l></l></list></block></list></block></list></block></autolambda><list></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>quart-in</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportDifference"><l>1</l><block s="reportVariadicProduct"><list><l></l><block s="reportVariadicProduct"><list><block var="t"/><block s="reportVariadicProduct"><list><block var="t"/><block var="t"/></list></block></list></block></list></block></block></autolambda><list><l>t</l></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>quart-in-out</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportVariadicLessThan"><list><l></l><l>.5</l></list></block><block s="reportVariadicProduct"><list><l>8</l><block s="reportVariadicProduct"><list><l></l><block s="reportVariadicProduct"><list><l></l><block s="reportVariadicProduct"><list><l></l><l></l></list></block></list></block></list></block></list></block><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportDifference"><l>1</l><block s="reportVariadicProduct"><list><l>8</l><block s="reportVariadicProduct"><list><l></l><block s="reportVariadicProduct"><list><block var="t"/><block s="reportVariadicProduct"><list><block var="t"/><block var="t"/></list></block></list></block></list></block></list></block></block></autolambda><list><l>t</l></list></block><list><l></l></list></block></block></autolambda><list></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>sine-out</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportDifference"><l>1</l><block s="reportMonadic"><l><option>sin</option></l><block s="reportVariadicSum"><list><l>90</l><block s="reportVariadicProduct"><list><l></l><l>90</l></list></block></list></block></block></block></autolambda><list></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>sine-in</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportMonadic"><l><option>sin</option></l><block s="reportVariadicProduct"><list><l></l><l>90</l></list></block></block></autolambda><list></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>sine-in-out</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportQuotient"><block s="reportDifference"><l>1</l><block s="reportMonadic"><l><option>cos</option></l><block s="reportVariadicProduct"><list><l></l><l>180</l></list></block></block></block><l>2</l></block></autolambda><list></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>elastic</l></list></block><script><block s="doReport"><block s="reifyScript"><script><block s="doDeclareVariables"><list><l>p</l></list></block><block s="doSetVar"><l>p</l><l>0.3</l></block><block s="doReport"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportPower"><l>2</l><block s="reportVariadicProduct"><list><l>-10</l><l></l></list></block></block><block s="reportMonadic"><l><option>sin</option></l><custom-block s="degrees %n"><block s="reportVariadicProduct"><list><block s="reportDifference"><l></l><block s="reportQuotient"><block var="p"/><l>4</l></block></block><block s="reportQuotient"><block s="reportVariadicProduct"><list><l>2</l><custom-block s="PI"></custom-block></list></block><block var="p"/></block></list></block></custom-block></block></list></block><l>1</l></list></block></block></script><list></list></block></block></script><list></list></block><custom-block s="error %s"><block s="reportJoinWords"><list><l>unknown easing function "</l><block var="choice"/><l>"</l></list></block></custom-block></script></block-definition><block-definition s="PI" type="reporter" category="operators"><header></header><code></code><translations>pt:π&#xD;</translations><inputs></inputs><script><block s="doReport"><l>3.141592653589793</l></block></script></block-definition><block-definition s="degrees %&apos;radians&apos;" type="reporter" category="operators"><header></header><code></code><translations>pt:_ radianos em graus&#xD;</translations><inputs><input type="%n">0.5</input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="radians"/><l>180</l></list></block><custom-block s="PI"></custom-block></block></block></script></block-definition><block-definition s="trunc %&apos;number&apos; to %&apos;decimal&apos; decimal" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">123.456</input><input type="%n" initial="1">2</input></inputs><script><block s="doReport"><block s="reportVariadicProduct"><list><block s="reportIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListIndex"><l>.</l><block s="reportTextSplit"><block var="number"/><l><option>letter</option></l></block></block><l>0</l></list></block><block s="reportVariadicLessThan"><list><block var="decimal"/><l>0</l></list></block></list></block><block var="number"/><block s="reportJoinWords"><block s="reportListItem"><block s="reportNumbers"><l>1</l><block s="reportVariadicSum"><list><block s="reportListIndex"><l>.</l><block s="reportTextSplit"><block var="number"/><l><option>letter</option></l></block></block><block var="decimal"/></list></block></block><block s="reportTextSplit"><block var="number"/><l><option>letter</option></l></block></block></block></block><l>1</l></list></block></block></script></block-definition><block-definition s="is %&apos;value&apos; even?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">2</input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="value"/><l>2</l></block><l>0</l></list></block></block></script></block-definition><block-definition s="is %&apos;value&apos; odd?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">3</input></inputs><script><block s="doReport"><block s="reportVariadicNotEquals"><list><block s="reportModulus"><block var="value"/><l>2</l></block><l>0</l></list></block></block></script></block-definition><block-definition s="// %&apos;commentaire&apos; %&apos;code&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%mlt"></input><input type="%cs"></input></inputs><script><block s="doRun"><block var="code"/><list></list></block></script></block-definition><block-definition s="// %&apos;rem&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%mlt"></input></inputs></block-definition><block-definition s="restore all saved sprite properties keep vars? %&apos;KeepVars&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%b">false</input></inputs><script><block s="doIf"><custom-block s="does var %s exist?"><l>@SaveShown</l></custom-block><script><block s="doIfElse"><block var="@SaveShown"/><script><block s="show"></block></script><script><block s="hide"></block></script></block></script><list></list></block><block s="doIf"><custom-block s="does var %s exist?"><l>@SaveX</l></custom-block><script><block s="setXPosition"><block var="@SaveX"/></block></script><list></list></block><block s="doIf"><custom-block s="does var %s exist?"><l>@SaveY</l></custom-block><script><block s="setYPosition"><block var="@SaveY"/></block></script><list></list></block><block s="doIf"><custom-block s="does var %s exist?"><l>@SaveDir</l></custom-block><script><block s="setHeading"><block var="@SaveDir"/></block></script><list></list></block><block s="doIf"><custom-block s="does var %s exist?"><l>@SaveSize</l></custom-block><script><block s="setScale"><block var="@SaveSize"/></block></script><list></list></block><block s="doIf"><custom-block s="does var %s exist?"><l>@SaveCostume</l></custom-block><script><block s="doSwitchToCostume"><block var="@SaveCostume"/></block></script><list></list></block><block s="doIf"><custom-block s="does var %s exist?"><l>@SaveGhostEffect</l></custom-block><script><block s="setEffect"><l><option>ghost</option></l><block var="@SaveGhostEffect"/></block></script><list></list></block><block s="doIf"><custom-block s="does var %s exist?"><l>@SaveColor</l></custom-block><script><block s="setEffect"><l><option>color</option></l><block var="@SaveColor"/></block></script><list></list></block><block s="doIf"><custom-block s="does var %s exist?"><l>@SaveSaturation</l></custom-block><script><block s="setEffect"><l><option>saturation</option></l><block var="@SaveSaturation"/></block></script><list></list></block><block s="doIf"><custom-block s="does var %s exist?"><l>@SaveBrightness</l></custom-block><script><block s="setEffect"><l><option>brightness</option></l><block var="@SaveBrightness"/></block></script><list></list></block><block s="doIf"><custom-block s="does var %s exist?"><l>@SaveFisheye</l></custom-block><script><block s="setEffect"><l><option>fisheye</option></l><block var="@SaveFisheye"/></block></script><list></list></block><block s="doIf"><custom-block s="does var %s exist?"><l>@SaveWhirl</l></custom-block><script><block s="setEffect"><l><option>whirl</option></l><block var="@SaveWhirl"/></block></script><list></list></block><block s="doIf"><custom-block s="does var %s exist?"><l>@SaveNegative</l></custom-block><script><block s="setEffect"><l><option>negative</option></l><block var="@SaveNegative"/></block></script><list></list></block><block s="doIf"><custom-block s="does var %s exist?"><l>@SaveMosaic</l></custom-block><script><block s="setEffect"><l><option>mosaic</option></l><block var="@SaveMosaic"/></block></script><list></list></block><block s="doIf"><custom-block s="does var %s exist?"><l>@SavePixelate</l></custom-block><script><block s="setEffect"><l><option>pixelate</option></l><block var="@SavePixelate"/></block></script><list></list></block><block s="doIf"><custom-block s="does var %s exist?"><l>@SavePenDown</l></custom-block><script><block s="doIfElse"><block var="@SavePenDown"/><script><block s="down"></block></script><script><block s="up"></block></script></block></script><list></list></block><block s="fork"><block s="reifyScript"><script><block s="doIf"><block s="reportNot"><block var="KeepVars"/></block><script><custom-block s="delete var %txt"><l>@SaveShown</l></custom-block><custom-block s="delete var %txt"><l>@SaveX</l></custom-block><custom-block s="delete var %txt"><l>@SaveY</l></custom-block><custom-block s="delete var %txt"><l>@SaveDir</l></custom-block><custom-block s="delete var %txt"><l>@SaveCostume</l></custom-block><custom-block s="delete var %txt"><l>@SaveGhostEffect</l></custom-block><custom-block s="delete var %txt"><l>@SaveColor</l></custom-block><custom-block s="delete var %txt"><l>@SaveSaturation</l></custom-block><custom-block s="delete var %txt"><l>@SaveBrightness</l></custom-block><custom-block s="delete var %txt"><l>@SaveFisheye</l></custom-block><custom-block s="delete var %txt"><l>@SaveWhirl</l></custom-block><custom-block s="delete var %txt"><l>@SaveNegative</l></custom-block><custom-block s="delete var %txt"><l>@SaveMosaic</l></custom-block><custom-block s="delete var %txt"><l>@SavePixelate</l></custom-block><custom-block s="delete var %txt"><l>@SavePenDown</l></custom-block></script><list></list></block></script><list></list></block><list></list></block></script></block-definition><block-definition s="save all sprite properties" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="create sprite var %txt defaut %s"><l>@SaveShown</l><block s="reportShown"></block></custom-block><custom-block s="create sprite var %txt defaut %s"><l>@SaveX</l><block s="xPosition"></block></custom-block><custom-block s="create sprite var %txt defaut %s"><l>@SaveY</l><block s="yPosition"></block></custom-block><custom-block s="create sprite var %txt defaut %s"><l>@SaveDir</l><block s="direction"></block></custom-block><custom-block s="create sprite var %txt defaut %s"><l>@SaveSize</l><block s="getScale"></block></custom-block><custom-block s="create sprite var %txt defaut %s"><l>@SaveCostume</l><block s="getCostumeIdx"></block></custom-block><custom-block s="create sprite var %txt defaut %s"><l>@SaveGhostEffect</l><block s="getEffect"><l><option>ghost</option></l></block></custom-block><custom-block s="create sprite var %txt defaut %s"><l>@SaveColor</l><block s="getEffect"><l><option>color</option></l></block></custom-block><custom-block s="create sprite var %txt defaut %s"><l>@SaveSaturation</l><block s="getEffect"><l><option>saturation</option></l></block></custom-block><custom-block s="create sprite var %txt defaut %s"><l>@SaveBrightness</l><block s="getEffect"><l><option>brightness</option></l></block></custom-block><custom-block s="create sprite var %txt defaut %s"><l>@SaveFisheye</l><block s="getEffect"><l><option>fisheye</option></l></block></custom-block><custom-block s="create sprite var %txt defaut %s"><l>@SaveWhirl</l><block s="getEffect"><l><option>whirl</option></l></block></custom-block><custom-block s="create sprite var %txt defaut %s"><l>@SaveNegative</l><block s="getEffect"><l><option>negative</option></l></block></custom-block><custom-block s="create sprite var %txt defaut %s"><l>@SaveMosaic</l><block s="getEffect"><l><option>mosaic</option></l></block></custom-block><custom-block s="create sprite var %txt defaut %s"><l>@SavePixelate</l><block s="getEffect"><l><option>pixelate</option></l></block></custom-block><custom-block s="create sprite var %txt defaut %s"><l>@SavePenDown</l><block s="getPenDown"></block></custom-block></script></block-definition><block-definition s="let %&apos;declarations&apos;" type="command" category="other"><comment x="0" y="0" w="251.42857142857136" collapsed="false">Declare and initialize any number of variables.&#xD;Values of earlier variables may be used to initialize any later variables (like Scheme&apos;s LET*).&#xD;&#xD;Example:&#xD;LET* ((v1 4)(v2 SQRT OF (v1))), initializes v2 as 2.&#xD;&#xD;Thk to qw23 and cymplecy</comment><header></header><code></code><translations>de:deklariere _&#xD;</translations><inputs><input type="%group%upvar%anyUE" irreplaceable="true" expand="$nl&#xD;$arrowLeft" initial="2" min="2">$_variable&#xD;$_thing</input></inputs><script><block s="doDeclareVariables"><list><l>setter</l></list></block><block s="doRun"><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><l>setter</l><block s="reportAttributeOf"><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><block s="reportEnvironment"><l><option>caller</option></l></block></block></list></block><block s="doWarp"><script><block s="doForEach"><l>tuple</l><block var="declarations"/><script><block s="doRun"><block var="setter"/><list><block s="reportListItem"><l>1</l><block var="tuple"/></block><block s="evaluate"><block s="reportListItem"><l>2</l><block var="tuple"/></block><list></list></block></list></block></script></block></script></block></script></block-definition><block-definition s="a new sprite" type="reporter" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>sprite</l></list></block><block s="doSetVar"><l>sprite</l><block s="newClone"><l><option>Turtle sprite</option></l></block></block><block s="doTellTo"><block var="sprite"/><block s="reifyScript"><script><block s="doSetVar"><l><option>my temporary?</option></l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><list></list></block><block s="doReport"><block var="sprite"/></block></script></block-definition><block-definition s="let %&apos;var&apos; be %&apos;val&apos;" type="command" category="other"><comment x="0" y="0" w="183.33333333333337" collapsed="false">LET (FOO) BE (5)&#xD;is equivalent to&#xD;SCRIPT VARIABLES (FOO)&#xD;SET (FOO) TO (5)</comment><header></header><code></code><translations>pt:cria a variável de guião _ com valor _&#xD;</translations><inputs><input type="%upvar"></input><input type="%s"></input></inputs><script><block s="doSetVar"><l>var</l><block var="val"/></block></script></block-definition><block-definition s="dash line %&apos;pos1&apos; %&apos;pos2&apos; dot type %&apos;type&apos; flat line ends: %&apos;flat line ends&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input><input type="%txt" readonly="true">small<options>small&#xD;medium&#xD;large&#xD;x-large</options></input><input type="%b">false</input></inputs><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="type"/><l>x-large</l></list></block><script><block s="doSetVar"><l>type</l><l>4</l></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="type"/><l>large</l></list></block><script><block s="doSetVar"><l>type</l><l>3</l></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="type"/><l>medium</l></list></block><script><block s="doSetVar"><l>type</l><l>2</l></block></script><script><block s="doSetVar"><l>type</l><l>1</l></block></script></block></script></block></script></block><block s="doDeclareVariables"><list><l>saveFlatLineEnds</l><l>dist</l><l>dotLength</l><l>spaceLength</l><l>nbSegment</l><l>nbDot</l><l>nbSpace</l></list></block><block s="doSetVar"><l>saveFlatLineEnds</l><block s="reportGlobalFlag"><l><option>flat line ends</option></l></block></block><block s="doSetVar"><l>dist</l><custom-block s="distance between %s %s"><block var="pos1"/><block var="pos2"/></custom-block></block><block s="doSetVar"><l>dotLength</l><block s="reportVariadicProduct"><list><block s="getPenAttribute"><l><option>size</option></l></block><block var="type"/></list></block></block><block s="doSetVar"><l>nbSegment</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block s="reportModulus"><block s="reportRound"><block s="reportQuotient"><block var="dist"/><block var="dotLength"/></block></block><l>2</l></block><l>1</l></list></block><block s="reportRound"><block s="reportQuotient"><block var="dist"/><block var="dotLength"/></block></block><block s="reportVariadicSum"><list><block s="reportRound"><block s="reportQuotient"><block var="dist"/><block var="dotLength"/></block></block><l>1</l></list></block></block><comment w="90" collapsed="false">should be odd...</comment></block><block s="doSetVar"><l>nbSpace</l><custom-block s="%n div %n"><block var="nbSegment"/><l>2</l></custom-block></block><block s="doSetVar"><l>nbDot</l><block s="reportDifference"><block var="nbSegment"/><block var="nbSpace"/></block></block><block s="doSetVar"><l>spaceLength</l><block s="reportQuotient"><block s="reportDifference"><block var="dist"/><block s="reportVariadicProduct"><list><block var="nbDot"/><block var="dotLength"/></list></block></block><block var="nbSpace"/></block></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><block var="flat line ends"/></block><block s="doIfElse"><block var="flat line ends"/><script><block s="doGotoObject"><block var="pos1"/></block><block s="doFaceTowards"><block var="pos2"/></block><block s="down"></block><block s="forward"><block var="dotLength"/></block><block s="up"></block><block s="doRepeat"><block var="nbSpace"/><script><block s="forward"><block var="spaceLength"/></block><block s="down"></block><block s="forward"><block var="dotLength"/></block><block s="up"></block></script></block></script><script><block s="doGotoObject"><block var="pos1"/></block><block s="doFaceTowards"><block var="pos2"/></block><block s="forward"><block s="reportQuotient"><block s="getPenAttribute"><l><option>size</option></l></block><l>2</l></block></block><block s="down"></block><block s="forward"><block s="reportDifference"><block var="dotLength"/><block s="getPenAttribute"><l><option>size</option></l></block></block></block><block s="doRepeat"><block var="nbSpace"/><script><block s="up"></block><block s="forward"><block s="reportVariadicSum"><list><block var="spaceLength"/><block s="getPenAttribute"><l><option>size</option></l></block></list></block></block><block s="down"></block><block s="forward"><block s="reportDifference"><block var="dotLength"/><block s="getPenAttribute"><l><option>size</option></l></block></block></block></script></block><block s="up"></block></script></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><block var="saveFlatLineEnds"/></block></script><scripts><script x="435" y="962.2000000000013"><block s="doGotoObject"><block var="pos1"/></block><block s="doFaceTowards"><block var="pos2"/></block><block s="forward"><block s="reportQuotient"><block var="dotLength"/><l>2</l></block></block><block s="down"></block><block s="forward"><l>0</l></block><block s="doRepeat"><block var="nbSpace"/><script><block s="up"></block><block s="forward"><block s="reportVariadicSum"><list><block var="dotLength"/><block var="spaceLength"/></list></block></block><block s="down"></block><block s="forward"><l>0</l></block></script></block><block s="up"></block></script><script x="312" y="1105.333333333335"><block var="dotLength"/></script><script x="309" y="1144.0000000000018"><block s="forward"><l>0</l></block></script><script x="386.00000000000006" y="443.19999999999965"><block s="doIf"><l><bool>false</bool></l><script><block s="doShowVar"><l>dist</l></block><block s="doShowVar"><l>dotLength</l></block><block s="doShowVar"><l>spaceLength</l></block><block s="doShowVar"><l>nbSegment</l></block><block s="doShowVar"><l>nbDot</l></block><block s="doShowVar"><l>nbSpace</l></block><block s="doPauseAll"></block><block s="doHideVar"><l>dist</l></block><block s="doHideVar"><l>dotLength</l></block><block s="doHideVar"><l>spaceLength</l></block><block s="doHideVar"><l>nbSegment</l></block><block s="doHideVar"><l>nbDot</l></block><block s="doHideVar"><l>nbSpace</l></block></script><list></list></block></script><script x="309" y="885.5333333333339"><block s="doGotoObject"><block s="reportNewList"><list><l>80</l><l>0</l></list></block></block></script></scripts></block-definition><block-definition s="line %&apos;pos1&apos; %&apos;pos2&apos; flat line ends: %&apos;flat line ends&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input><input type="%b">false</input></inputs><script><block s="doDeclareVariables"><list><l>saveFlatLineEnds</l></list></block><block s="doSetVar"><l>saveFlatLineEnds</l><block s="reportGlobalFlag"><l><option>flat line ends</option></l></block></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><block var="flat line ends"/></block><block s="doIfElse"><block var="flat line ends"/><script><block s="up"></block><block s="doGotoObject"><block var="pos1"/></block><block s="down"></block><block s="doGotoObject"><block var="pos2"/></block><block s="up"></block></script><script><block s="up"></block><block s="doGotoObject"><block var="pos1"/></block><block s="doFaceTowards"><block var="pos2"/></block><block s="forward"><block s="reportQuotient"><block s="getPenAttribute"><l><option>size</option></l></block><l>2</l></block></block><block s="down"></block><block s="forward"><block s="reportDifference"><custom-block s="distance between %s %s"><block var="pos1"/><block var="pos2"/></custom-block><block s="getPenAttribute"><l><option>size</option></l></block></block></block><block s="up"></block></script></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><block var="saveFlatLineEnds"/></block></script></block-definition><block-definition s="letter width at size %&apos;size&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%n">72</input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="size"/><l>55</l></list></block><l>100</l></block></block></script></block-definition><block-definition s="letter height at size %&apos;size&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%n">72</input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="size"/><l>360</l></list></block><l>564</l></block></block></script><scripts><script x="121.00000000000007" y="98.66666666666664"><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="size"/><l>133</l></list></block><l>200</l></block></block></script></scripts></block-definition><block-definition s="set pen color to Dardoro color %&apos;color&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>rgb</l></list></block><block s="doSetVar"><l>rgb</l><block s="reportTextSplit"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block s="reportListItem"><l>2</l><block s="reportTextSplit"><block s="reportJoinWords"><list><block var="color"/></list></block><l>rgba(</l></block></block><l>)</l></block></block><l>,</l></block></block><custom-block s="set pen color to r: %n g: %n b: %n"><block s="reportListItem"><l>1</l><block var="rgb"/></block><block s="reportListItem"><l>2</l><block var="rgb"/></block><block s="reportListItem"><l>3</l><block var="rgb"/></block></custom-block></script><scripts><script x="408.99999999999994" y="35.66666666666663"><block s="reportJoinWords"><list><l>hello </l></list></block></script><script x="473.00000000000006" y="126.66666666666663"><block s="doSetVar"><l>rgb</l><block s="reportNewList"><list><block s="reportVariadicProduct"><list><block s="reportTextSplit"><custom-block s="substring of %txt before %txt"><custom-block s="substring of %txt after %txt"><block s="reportJoinWords"><list><block var="color"/></list></block><l>(</l></custom-block><l>)</l></custom-block><l><option>csv</option></l></block><block s="reportNewList"><list><l>1</l><l>1</l><l>1</l></list></block></list></block></list></block></block></script></scripts></block-definition><block-definition s="set pen color to r: %&apos;r&apos; g: %&apos;g&apos; b: %&apos;b&apos;" type="command" category="pen"><comment x="0" y="0" w="220.66666666666663" collapsed="false">Takes three inputs for red, green, and blue&#xD;values, each between 0 and 255.  0,0,0 is black; 255,255,255 is white.  255,255,0 is yellow, and so on.&#xD;&#xD;The SET PEN block in this library lets you set individual red, green, or blue without changing the others, lets you provide a list of three RGB color components, and lets you provide a six-digit hexadecimal number, the form in which RGB color values are usually found online.&#xD;&#xD;See Appendix A of the Snap! Reference Manual for details.</comment><header></header><code></code><translations>pt:altera a cor da tua caneta para vermelho _ , verde _ e azul _ (0 a 255)&#xD;ca:fixa el llapis al color r: _ g: _ b: _&#xD;</translations><inputs><input type="%n">255</input><input type="%n">0</input><input type="%n">0</input></inputs><script><block s="doApplyExtension"><l>clr_setpen(clr)</l><list><block s="reportApplyExtension"><l>clr_rgba(r, g, b, a)</l><list><block var="r"/><block var="g"/><block var="b"/><block s="reportApplyExtension"><l>clr_channel(clr, rgba)</l><list><block s="reportApplyExtension"><l>clr_pen</l><list></list></block><l>a</l></list></block></list></block></list></block></script></block-definition><block-definition s="paste on %&apos;sprite&apos; with effects" type="command" category="pen"><comment x="0" y="0" w="120" collapsed="false">A better paste on block !&#xD;&#xD;Now you can apply effect and paste on the target with these effects...&#xD;&#xD;Block by Loucheman</comment><header></header><code></code><translations></translations><inputs><input type="%txt"><options>§_objectsMenu</options></input></inputs><script><custom-block s="save all sprite properties"></custom-block><block s="doDeclareVariables"><list><l>savedPentrails</l><l>cstWithEffects</l></list></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="doSetVar"><l>savedPentrails</l><block s="reportPenTrailsAsCostume"></block></block><block s="clear"></block><block s="setScale"><l>100</l></block><block s="doStamp"></block><block s="doSetVar"><l>cstWithEffects</l><block s="reportPenTrailsAsCostume"></block></block><block s="clear"></block><block s="doSwitchToCostume"><block var="savedPentrails"/></block><block s="doStamp"></block><custom-block s="restore all saved sprite properties keep vars? %b"><l><bool>true</bool></l></custom-block><block s="doSwitchToCostume"><block var="cstWithEffects"/></block><block s="doPasteOn"><block var="sprite"/></block><custom-block s="restore all saved sprite properties keep vars? %b"><l><bool>false</bool></l></custom-block></script></block-definition><block-definition s="preferedLouchemanColorList" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportColor"><block s="reportNewList"><list><block s="reportNewList"><list><l>207</l><l>74</l><l>217</l><l>255</l></list></block><block s="reportNewList"><list><l>3</l><l>192</l><l>60</l><l>255</l></list></block><block s="reportNewList"><list><l>135</l><l>206</l><l>250</l><l>255</l></list></block><block s="reportNewList"><list><l>30</l><l>144</l><l>255</l><l>255</l></list></block><block s="reportNewList"><list><l>0</l><l>0</l><l>128</l><l>255</l></list></block><block s="reportNewList"><list><l>0</l><l>0</l><l>255</l><l>255</l></list></block><block s="reportNewList"><list><l>0</l><l>255</l><l>255</l><l>255</l></list></block><block s="reportNewList"><list><l>0</l><l>128</l><l>0</l><l>255</l></list></block><block s="reportNewList"><list><l>0</l><l>255</l><l>0</l><l>255</l></list></block><block s="reportNewList"><list><l>236</l><l>213</l><l>64</l><l>255</l></list></block><block s="reportNewList"><list><l>255</l><l>255</l><l>0</l><l>255</l></list></block><block s="reportNewList"><list><l>210</l><l>105</l><l>30</l><l>255</l></list></block><block s="reportNewList"><list><l>123</l><l>63</l><l>0</l><l>255</l></list></block><block s="reportNewList"><list><l>255</l><l>0</l><l>255</l><l>255</l></list></block><block s="reportNewList"><list><l>255</l><l>56</l><l>0</l><l>255</l></list></block><block s="reportNewList"><list><l>255</l><l>20</l><l>147</l><l>255</l></list></block><block s="reportNewList"><list><l>255</l><l>0</l><l>0</l><l>255</l></list></block><block s="reportNewList"><list><l>145</l><l>145</l><l>145</l><l>255</l></list></block></list></block></block></block></script></block-definition><block-definition s="favorite colors" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportColor"><block s="reportNewList"><list><block s="reportNewList"><list><l>207</l><l>74</l><l>217</l><l>255</l></list></block><block s="reportNewList"><list><l>3</l><l>192</l><l>60</l><l>255</l></list></block><block s="reportNewList"><list><l>135</l><l>206</l><l>250</l><l>255</l></list></block><block s="reportNewList"><list><l>30</l><l>144</l><l>255</l><l>255</l></list></block><block s="reportNewList"><list><l>0</l><l>0</l><l>128</l><l>255</l></list></block><block s="reportNewList"><list><l>0</l><l>0</l><l>255</l><l>255</l></list></block><block s="reportNewList"><list><l>0</l><l>255</l><l>255</l><l>255</l></list></block><block s="reportNewList"><list><l>0</l><l>128</l><l>0</l><l>255</l></list></block><block s="reportNewList"><list><l>0</l><l>255</l><l>0</l><l>255</l></list></block><block s="reportNewList"><list><l>236</l><l>213</l><l>64</l><l>255</l></list></block><block s="reportNewList"><list><l>255</l><l>255</l><l>0</l><l>255</l></list></block><block s="reportNewList"><list><l>210</l><l>105</l><l>30</l><l>255</l></list></block><block s="reportNewList"><list><l>123</l><l>63</l><l>0</l><l>255</l></list></block><block s="reportNewList"><list><l>255</l><l>0</l><l>255</l><l>255</l></list></block><block s="reportNewList"><list><l>255</l><l>56</l><l>0</l><l>255</l></list></block><block s="reportNewList"><list><l>255</l><l>20</l><l>147</l><l>255</l></list></block><block s="reportNewList"><list><l>255</l><l>0</l><l>0</l><l>255</l></list></block><block s="reportNewList"><list><l>145</l><l>145</l><l>145</l><l>255</l></list></block></list></block></block></block></script></block-definition><block-definition s="distance between %&apos;param1&apos; %&apos;param2&apos;" type="reporter" category="sensing"><comment x="0" y="0" w="163.57142857142858" collapsed="false">Calculate the distance between 2 positions (x1y1 -&gt; x2y2) or 2 objects.&#xD;&#xD;By Loucheman</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>x1</l><l>y1</l><l>x2</l><l>y2</l></list></block><custom-block s="// %mlt"><l>Determine x1y1</l></custom-block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="param1"/><l><option>list</option></l></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="param1"/></block><l>2</l></list></block><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="param1"/></block><l><option>number</option></l></block><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="param1"/></block><l><option>number</option></l></block></list></block></list></block></list><comment w="90" collapsed="false">if parameter #1 is a coordinate</comment></block><script><block s="doSetVar"><l>x1</l><block s="reportListItem"><l>1</l><block var="param1"/></block></block><block s="doSetVar"><l>y1</l><block s="reportListItem"><l>2</l><block var="param1"/></block></block></script><script><block s="doIfElse"><block s="reportIsA"><block var="param1"/><l><option>sprite</option></l><comment w="90" collapsed="false">if the parameter #1 is a sprite</comment></block><script><block s="doSetVar"><l>x1</l><block s="reportAttributeOf"><l><option>x position</option></l><block var="param1"/></block></block><block s="doSetVar"><l>y1</l><block s="reportAttributeOf"><l><option>y position</option></l><block var="param1"/></block></block></script><script></script></block></script></block><custom-block s="// %mlt"><l>Determine x2y2</l></custom-block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="param2"/><l><option>list</option></l></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="param2"/></block><l>2</l></list></block><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="param2"/></block><l><option>number</option></l></block><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="param2"/></block><l><option>number</option></l></block></list></block></list></block></list><comment w="90" collapsed="false">if parameter #2 is a coordinate</comment></block><script><block s="doSetVar"><l>x2</l><block s="reportListItem"><l>1</l><block var="param2"/></block></block><block s="doSetVar"><l>y2</l><block s="reportListItem"><l>2</l><block var="param2"/></block></block></script><script><block s="doIfElse"><block s="reportIsA"><block var="param2"/><l><option>sprite</option></l><comment w="90" collapsed="false">if the parameter #2 is a sprite</comment></block><script><block s="doSetVar"><l>x2</l><block s="reportAttributeOf"><l><option>x position</option></l><block var="param2"/></block></block><block s="doSetVar"><l>y2</l><block s="reportAttributeOf"><l><option>y position</option></l><block var="param2"/></block></block></script><script></script></block></script></block><custom-block s="// %mlt"><l>Pytagore:on trouve la longueur de l&apos;hypoténuse</l></custom-block><block s="doReport"><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportPower"><block s="reportDifference"><block var="x1"/><block var="x2"/></block><l>2</l></block><block s="reportPower"><block s="reportDifference"><block var="y1"/><block var="y2"/></block><l>2</l></block></list></block></block></block></script></block-definition><block-definition s="angle between %&apos;param1&apos; %&apos;param2&apos;" type="reporter" category="sensing"><comment x="0" y="0" w="163.57142857142858" collapsed="false">Calculate the angle between 2 positions (x1y1 -&gt; x2y2) or 2 objects.&#xD;&#xD;By Loucheman</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><custom-block s="// %mlt"><l>#include &lt;cmath&gt;&#xD;&#xD;// Computes the bearing in degrees from the point A(a1,a2) to&#xD;// the point B(b1,b2). Note that A and B are given in terms of&#xD;// screen coordinates.&#xD;double bearing(double a1, double a2, double b1, double b2) {&#xD;    static const double TWOPI = 6.2831853071795865;&#xD;    static const double RAD2DEG = 57.2957795130823209;&#xD;    // if (a1 = b1 and a2 = b2) throw an error &#xD;    double theta = atan2(b1 - a1, a2 - b2);&#xD;    if (theta &lt; 0.0)&#xD;        theta += TWOPI;&#xD;    return RAD2DEG * theta;&#xD;}</l></custom-block><block s="doDeclareVariables"><list><l>a1</l><l>a2</l><l>b1</l><l>b2</l><l>theta</l></list></block><custom-block s="// %mlt"><l>Determine x1y1</l></custom-block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="param1"/><l><option>list</option></l></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="param1"/></block><l>2</l></list></block><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="param1"/></block><l><option>number</option></l></block><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="param1"/></block><l><option>number</option></l></block></list></block></list></block></list><comment w="90" collapsed="false">if parameter #1 is a coordinate</comment></block><script><block s="doSetVar"><l>a1</l><block s="reportListItem"><l>1</l><block var="param1"/></block></block><block s="doSetVar"><l>a2</l><block s="reportListItem"><l>2</l><block var="param1"/></block></block></script><script><block s="doIfElse"><block s="reportIsA"><block var="param1"/><l><option>sprite</option></l><comment w="90" collapsed="false">if the parameter #1 is a sprite</comment></block><script><block s="doSetVar"><l>a1</l><block s="reportAttributeOf"><l><option>x position</option></l><block var="param1"/></block></block><block s="doSetVar"><l>a2</l><block s="reportAttributeOf"><l><option>y position</option></l><block var="param1"/></block></block></script><script></script></block></script></block><custom-block s="// %mlt"><l>Determine x2y2</l></custom-block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="param2"/><l><option>list</option></l></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="param2"/></block><l>2</l></list></block><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="param2"/></block><l><option>number</option></l></block><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="param2"/></block><l><option>number</option></l></block></list></block></list></block></list><comment w="90" collapsed="false">if parameter #2 is a coordinate</comment></block><script><block s="doSetVar"><l>b1</l><block s="reportListItem"><l>1</l><block var="param2"/></block></block><block s="doSetVar"><l>b2</l><block s="reportListItem"><l>2</l><block var="param2"/></block></block></script><script><block s="doIfElse"><block s="reportIsA"><block var="param2"/><l><option>sprite</option></l><comment w="90" collapsed="false">if the parameter #2 is a sprite</comment></block><script><block s="doSetVar"><l>b1</l><block s="reportAttributeOf"><l><option>x position</option></l><block var="param2"/></block></block><block s="doSetVar"><l>b2</l><block s="reportAttributeOf"><l><option>y position</option></l><block var="param2"/></block></block></script><script></script></block></script></block><custom-block s="// %mlt"><l>angle calculation</l></custom-block><block s="doSetVar"><l>theta</l><block s="reportAtan2"><block s="reportDifference"><block var="b1"/><block var="a1"/></block><block s="reportDifference"><block var="b2"/><block var="a2"/></block></block></block><block s="doReport"><block var="theta"/></block></script><scripts><script x="214.5" y="980.8333333333313"><custom-block s="// %mlt"><l>#include &lt;cmath&gt;&#xD;&#xD;// Computes the bearing in degrees from the point A(a1,a2) to&#xD;// the point B(b1,b2). Note that A and B are given in terms of&#xD;// screen coordinates.&#xD;double bearing(double a1, double a2, double b1, double b2) {&#xD;    static const double TWOPI = 6.2831853071795865;&#xD;    static const double RAD2DEG = 57.2957795130823209;&#xD;    // if (a1 = b1 and a2 = b2) throw an error &#xD;    double theta = atan2(b1 - a1, a2 - b2);&#xD;    if (theta &lt; 0.0)&#xD;        theta += TWOPI;&#xD;    return RAD2DEG * theta;&#xD;}</l></custom-block></script></scripts></block-definition><block-definition s="is JS enable?" type="predicate" category="sensing"><comment x="0" y="0" w="90" collapsed="false">return is javascript is enable&#xD;&#xD;Thk to Joecooldo </comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>JS?</l></list></block><block s="doApplyExtension"><l>err_try(cmd, catch, err)</l><list><block s="reifyScript"><script><block s="doSetVar"><l>JS?</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>return true;</l></block><list></list></block></block></script><list></list></block><block s="reifyScript"><script><block s="doSetVar"><l>JS?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><l></l></list></block><block s="doApplyExtension"><l>err_reset</l><list></list></block><block s="doReport"><block var="JS?"/></block></script></block-definition><block-definition s="MouseCoordinate" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportMouseX"></block><block s="reportMouseY"></block></list></block></block></script></block-definition><block-definition s="stage size" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>width</option></l><block s="reportGet"><l><option>stage</option></l></block></block><block s="reportAttributeOf"><l><option>height</option></l><block s="reportGet"><l><option>stage</option></l></block></block></list></block></block></script></block-definition><block-definition s="On Stage (pivot)?" type="predicate" category="sensing"><comment x="0" y="0" w="90" collapsed="false">Return true if the pivot (rotation center) is on the stage</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block s="reportIsA"><block s="reportGet"><l><option>self</option></l></block><l><option>sprite</option></l></block><script><block s="doReport"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="xPosition"></block><block s="reportAttributeOf"><l><option>left</option></l><block s="reportGet"><l><option>stage</option></l></block></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><block s="xPosition"></block><block s="reportAttributeOf"><l><option>right</option></l><block s="reportGet"><l><option>stage</option></l></block></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><block s="yPosition"></block><block s="reportAttributeOf"><l><option>top</option></l><block s="reportGet"><l><option>stage</option></l></block></block></list></block><block s="reportVariadicGreaterThanOrEquals"><list><block s="yPosition"></block><block s="reportAttributeOf"><l><option>bottom</option></l><block s="reportGet"><l><option>stage</option></l></block></block></list></block></list></block></list></block></list></block></block></script><script><custom-block s="error %s"><l>Don&apos;t run this into the stage !</l></custom-block></script></block></script></block-definition><block-definition s="On Stage (sprite)?" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block s="reportIsA"><block s="reportGet"><l><option>self</option></l></block><l><option>sprite</option></l></block><script><block s="doReport"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportAttributeOf"><l><option>right</option></l><block s="reportGet"><l><option>self</option></l></block></block><block s="reportAttributeOf"><l><option>left</option></l><block s="reportGet"><l><option>stage</option></l></block></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><block s="reportAttributeOf"><l><option>left</option></l><block s="reportGet"><l><option>self</option></l></block></block><block s="reportAttributeOf"><l><option>right</option></l><block s="reportGet"><l><option>stage</option></l></block></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><block s="reportAttributeOf"><l><option>bottom</option></l><block s="reportGet"><l><option>self</option></l></block></block><block s="reportAttributeOf"><l><option>top</option></l><block s="reportGet"><l><option>stage</option></l></block></block></list></block><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportAttributeOf"><l><option>top</option></l><block s="reportGet"><l><option>self</option></l></block></block><block s="reportAttributeOf"><l><option>bottom</option></l><block s="reportGet"><l><option>stage</option></l></block></block></list></block></list></block></list></block></list></block></block></script><script><custom-block s="error %s"><l>Don&apos;t run this into the stage !</l></custom-block></script></block></script></block-definition><block-definition s="On Stage horizontally (pivot)?" type="predicate" category="sensing"><comment x="0" y="0" w="90" collapsed="false">Return true if the pivot (rotation center) is on the stage (watch only x axis)</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block s="reportIsA"><block s="reportGet"><l><option>self</option></l></block><l><option>sprite</option></l></block><script><block s="doReport"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="xPosition"></block><block s="reportAttributeOf"><l><option>left</option></l><block s="reportGet"><l><option>stage</option></l></block></block></list></block><block s="reportVariadicLessThanOrEquals"><list><block s="xPosition"></block><block s="reportAttributeOf"><l><option>right</option></l><block s="reportGet"><l><option>stage</option></l></block></block></list></block></list></block></block></script><script><custom-block s="error %s"><l>Don&apos;t run this into the stage !</l></custom-block></script></block></script></block-definition><block-definition s="On Stage vertically (pivot)?" type="predicate" category="sensing"><comment x="0" y="0" w="90" collapsed="false">Return true if the pivot (rotation center) is on the stage (watch only y axis)</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block s="reportIsA"><block s="reportGet"><l><option>self</option></l></block><l><option>sprite</option></l></block><script><block s="doReport"><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><block s="yPosition"></block><block s="reportAttributeOf"><l><option>top</option></l><block s="reportGet"><l><option>stage</option></l></block></block></list></block><block s="reportVariadicGreaterThanOrEquals"><list><block s="yPosition"></block><block s="reportAttributeOf"><l><option>bottom</option></l><block s="reportGet"><l><option>stage</option></l></block></block></list></block></list></block></block></script><script><custom-block s="error %s"><l>Don&apos;t run this into the stage !</l></custom-block></script></block></script></block-definition><block-definition s="On Stage position: %&apos;position&apos;" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>1</l><block var="position"/></block><block s="reportMonadic"><l><option>neg</option></l><block s="reportQuotient"><block s="reportListItem"><l>1</l><custom-block s="stage size"></custom-block></block><l>2</l></block></block></list></block><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><block var="position"/></block><block s="reportQuotient"><block s="reportListItem"><l>1</l><custom-block s="stage size"></custom-block></block><l>2</l></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>2</l><block var="position"/></block><block s="reportMonadic"><l><option>neg</option></l><block s="reportQuotient"><block s="reportListItem"><l>2</l><custom-block s="stage size"></custom-block></block><l>2</l></block></block></list></block><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>2</l><block var="position"/></block><block s="reportQuotient"><block s="reportListItem"><l>2</l><custom-block s="stage size"></custom-block></block><l>2</l></block></list></block></list></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="key pressed" type="reporter" category="sensing"><variables><list struct="atomic" id="11322">LastKeys</list></variables><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="LastKeys"/><l>0</l></list></block><script><block s="doSetVar"><l>LastKeys</l><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doWarp"><script><custom-block s="let %upvar be %s"><l>currentKeysPressed</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportKeyPressed"><l></l></block></autolambda><list></list></block><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><l>control</l><l>shift</l><l>alt</l><l>()lock</l><l>func</l><l>space</l></list></block><block s="reportNewList"><list><l>up arrow</l><l>down arrow</l><l>left arrow</l><l>right arrow</l></list></block><block s="reportUnicodeAsLetter"><block s="reportNumbers"><l>33</l><l>126</l></block></block></list></block></block></custom-block></script></block><block s="doSetVar"><l>LastKeys</l><custom-block s="pipe %s $arrowRight %mult%repRing"><block var="LastKeys"/><list><block s="reifyReporter"><autolambda><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportListContainsItem"><block var="currentKeysPressed"/><block var="value"/></block></autolambda><list><l>value</l><l>index</l><l>list</l></list></block><block var="LastKeys"/></block></autolambda><list></list></block><block s="reifyReporter"><autolambda><block s="reportConcatenatedLists"><list><l/><block var="currentKeysPressed"/></list></block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="$flash remove duplicates from %l"><l/></custom-block></autolambda><list></list></block></list></custom-block></block><block s="doReport"><block var="LastKeys"/></block></script></block-definition><block-definition s="right mouse down?" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return this.world().hand.mouseButton === "right";</l></block><list></list></block></block></script></block-definition><block-definition s="duration %&apos;c&apos;" type="reporter" category="sensing"><comment x="0" y="0" w="90" collapsed="false">Thank&apos;s @dardoro</comment><header></header><code></code><translations></translations><inputs><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>t0</l></list></block><block s="doSetVar"><l>t0</l><block s="reportDate"><l><option>time in milliseconds</option></l></block></block><block s="doRun"><block var="c"/><list></list></block><block s="doReport"><block s="reportDifference"><block s="reportDate"><l><option>time in milliseconds</option></l></block><block var="t0"/></block></block></script></block-definition><block-definition s="duration %&apos;c&apos;" type="reporter" category="sensing"><comment x="0" y="0" w="90" collapsed="false">Thank&apos;s @dardoro</comment><header></header><code></code><translations></translations><inputs><input type="%repRing"></input></inputs><script><block s="doDeclareVariables"><list><l>t0</l><l>result</l></list></block><block s="doSetVar"><l>t0</l><block s="reportDate"><l><option>time in milliseconds</option></l></block></block><block s="doSetVar"><l>result</l><block s="evaluate"><block var="c"/><list></list></block></block><block s="doReport"><block s="reportJoinWords"><list><l>timer: </l><block s="reportDifference"><block s="reportDate"><l><option>time in milliseconds</option></l></block><block var="t0"/></block><l>    result:    </l><block s="reportIfElse"><block s="reportIsA"><block var="result"/><l><option>list</option></l></block><block s="reportListAttribute"><l><option>csv</option></l><block var="result"/></block><block var="result"/></block></list></block></block></script></block-definition><block-definition s="average duration (run %&apos;times&apos; times) %&apos;c&apos;" type="reporter" category="sensing"><comment x="0" y="0" w="90" collapsed="false">Thank&apos;s @dardoro</comment><header></header><code></code><translations></translations><inputs><input type="%n">10<options>1&#xD;5&#xD;10</options></input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>t0</l></list></block><block s="doSetVar"><l>t0</l><block s="reportDate"><l><option>time in milliseconds</option></l></block></block><block s="doRepeat"><block var="times"/><script><block s="doRun"><block var="c"/><list></list></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportQuotient"><block s="reportDifference"><block s="reportDate"><l><option>time in milliseconds</option></l></block><block var="t0"/></block><block var="times"/></block><l> ms</l></list></block></block></script></block-definition><block-definition s="average duration %&apos;c&apos; (run %&apos;times&apos; times)" type="reporter" category="sensing"><comment x="0" y="0" w="90" collapsed="false">Thank&apos;s @dardoro</comment><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%n" initial="1">10</input></inputs><script><block s="doDeclareVariables"><list><l>t0</l><l>result</l></list></block><block s="doSetVar"><l>t0</l><block s="reportDate"><l><option>time in milliseconds</option></l></block></block><block s="doRepeat"><block var="times"/><script><block s="doSetVar"><l>result</l><block s="evaluate"><block var="c"/><list></list></block></block></script></block><block s="doReport"><block s="reportJoinWords"><list><l>timer: </l><block s="reportQuotient"><block s="reportDifference"><block s="reportDate"><l><option>time in milliseconds</option></l></block><block var="t0"/></block><block var="times"/></block><l>    Result:    </l><block s="reportIfElse"><block s="reportIsA"><block var="result"/><l><option>list</option></l></block><block s="reportListAttribute"><l><option>csv</option></l><block var="result"/></block><block var="result"/></block></list></block></block></script></block-definition><block-definition s="mouse touching %&apos;sprite&apos; ?" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"><options>§_clonablesMenu</options></input></inputs><script><block s="doReport"><block s="reportAskFor"><block var="sprite"/><block s="reifyReporter"><autolambda><block s="reportTouchingObject"><l><option>mouse-pointer</option></l></block></autolambda><list></list></block><list></list></block></block></script></block-definition><block-definition s="setting %&apos;which&apos;" type="reporter" category="sensing" space="true"><comment x="0" y="0" w="144.66666666666663" collapsed="false">Allows reading global settings programmatically.&#xD;Copied from Snap! library.</comment><header></header><code></code><translations>pt:o valor da configuração _&#xD;ca:paràmetre _&#xD;</translations><inputs><input type="%s" readonly="true">Stage size<options>Project notes&#xD;Project name&#xD;User&#xD;Presentation mode&#xD;Language&#xD;Zoom blocks&#xD;Stage size&#xD;Stage scale&#xD;Retina display support&#xD;Long form input dialog&#xD;Plain prototype labels&#xD;Input sliders&#xD;Execute on slider change&#xD;Clicking sound&#xD;Turbo mode&#xD;Flat design&#xD;Keyboard editing&#xD;Visible stepping&#xD;Thread safe scripts&#xD;Prefer smooth animations&#xD;Flat line ends&#xD;Codification support&#xD;Inheritance support&#xD;Hyper blocks support&#xD;Visible palette</options></input></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/SciSnap3Extensions.js</l></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_setting(which)</l><list><block var="which"/></list></block></block></script></block-definition><block-definition s="set value %&apos;which&apos; to %&apos;value&apos;" type="command" category="sensing"><comment x="0" y="0" w="233.12820512820508" collapsed="false">Allows changing global settings programmatically.&#xD;This block is for numeric or text settings; use&#xD;SET FLAG for Boolean (checkbox) values.&#xD;Copied from Snap! library.</comment><header></header><code></code><translations>pt:altera o valor da configuração _ para _&#xD;ca:fixa el valor de _ a _&#xD;</translations><inputs><input type="%s" readonly="true">Stage size<options>Project notes&#xD;Project name&#xD;Language&#xD;Zoom blocks&#xD;Stage size&#xD;Stage scale&#xD;Visible palette</options></input><input type="%s"></input></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/SciSnap3Extensions.js</l></list></block><block s="doApplyExtension"><l>SciS_setValueTo(which,value)</l><list><block var="which"/><block var="value"/></list></block></script></block-definition><block-definition s="recognize speech" type="reporter" category="sensing"><header></header><code></code><translations>de:erkenne Gesprochenes&#xD;ar:التعرف على الكلام&#xD;bg:Разпознаване на изговорени думи&#xD;hr:Prepoznavanje izgovorenih riječi&#xD;hy:ճանաչել ասված բառերը&#xD;ca:reconèixer les paraules pronunciades&#xD;cs:Rozpoznávání mluvených slov&#xD;dk:At genkende talte ord&#xD;eu:ahozko hitzak ezagutu&#xD;el:Αναγνώριση προφορικών λέξεων&#xD;es:Reconocer palabras habladas&#xD;fi:Puhuttujen sanojen tunnistaminen&#xD;fr:Reconnaître les mots parlés&#xD;he:זיהוי מילים מדוברות&#xD;hi:बोले गए शब्दों को पहचानना&#xD;hu:A kimondott szavak felismerése&#xD;it:Riconoscere le parole pronunciate&#xD;ja:話し言葉を認識する&#xD;ko:말한 단어 인식&#xD;no:Gjenkjenne talte ord&#xD;po:Rozpoznawanie wypowiedzianych słów&#xD;pt_BR:Reconhecendo palavras faladas&#xD;pt:Reconhecendo palavras faladas&#xD;ro:Recunoașterea cuvintelor rostite&#xD;ru:Распознавание произнесенных слов&#xD;sk:Rozpoznávanie hovorených slov&#xD;si:Prepoznavanje govorjenih besed&#xD;sv:Att känna igen talade ord&#xD;ti:ዝተዛረቡ ቃላት ምልላይ&#xD;tr:Konuşulan kelimeleri tanıma&#xD;ua:Розпізнавання вимовлених слів&#xD;zh_CN:识别口语单词&#xD;zh_TW:辨識口語單字&#xD;nl:gesproken woorden herkennen&#xD;et:ära tunda öeldud sõnu&#xD;</translations><inputs></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>tts_recognize</l><list></list></block></block></script></block-definition><block-definition s="stop speech recognition" type="command" category="sensing"><header></header><code></code><translations>de:stoppe Spracherkennung&#xD;</translations><inputs></inputs><script><block s="doApplyExtension"><l>tts_stop</l><list></list></block></script></block-definition><block-definition s="who i am touching from clone of %&apos;sprite&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"><options>§_clonablesMenu</options></input></inputs><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><custom-block s="is %s is in %l"><l></l><custom-block s="clones of %txt"><block var="sprite"/></custom-block></custom-block></autolambda><list></list></block><custom-block s="touching neighbors"></custom-block></block></block></script></block-definition><block-definition s="touching neighbors" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportTouchingObject"><l></l></block></autolambda><list></list></block><block s="reportGet"><l><option>neighbors</option></l></block></block></block></script></block-definition><block-definition s="ask %&apos;question&apos; and wait with conditionnal answer %&apos;cond&apos; error msg %&apos;msg&apos;" type="command" category="sensing"><comment w="191.99999999999997" collapsed="false">Ask a question as long as the answer does not meet the condition.&#xD;&#xD;See examples inside this block...&#xD;&#xD;Block by Loucheman</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%boolUE"></input><input type="%txt"></input></inputs><script><block s="doTellTo"><block s="newClone"><l><option>Turtle sprite</option></l></block><block s="reifyScript"><script><block s="show"></block><block s="gotoXY"><l>-80</l><l>-30</l></block><block s="setEffect"><l><option>ghost</option></l><l>100</l></block><custom-block s="repeat %cs until %boolUE"><script><block s="doAsk"><block var="question"/></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportNot"><block s="evaluate"><block var="cond"/><list><block s="getLastAnswer"></block></list></block></block><block s="reportVariadicNotEquals"><list><block var="msg"/><l></l></list></block></list></block><script><block s="doSayFor"><block var="msg"/><l>2</l></block></script><list></list></block></script><block s="evaluate"><block var="cond"/><list><block s="getLastAnswer"></block></list></block></custom-block><block s="removeClone"></block></script><list></list></block><list></list></block></script><scripts><comment x="8.333333333333334" y="379.333333333333" w="90" collapsed="false">some examples</comment><script x="8.333333333333334" y="430.833333333333"><custom-block s="ask %txt and wait with conditionnal answer %boolUE error msg %txt"><l>Enter a number:</l><block s="reportIsA"><l></l><l><option>number</option></l></block><l>Error: you should enter a number !.</l></custom-block><block s="doSayFor"><block s="getLastAnswer"></block><l>2</l></block></script><script x="8.333333333333334" y="507.86111111111063"><custom-block s="ask %txt and wait with conditionnal answer %boolUE error msg %txt"><l>What is tout name ?</l><block s="reportIsA"><l></l><l><option>text</option></l></block><l>Error: you should enter a number !.</l></custom-block><block s="doSayFor"><block s="getLastAnswer"></block><l>2</l></block></script><script x="8.333333333333334" y="584.8888888888885"><custom-block s="ask %txt and wait with conditionnal answer %boolUE error msg %txt"><l>Enter a number from 1 to 5:</l><block s="reportVariadicAnd"><list><block s="reportIsA"><l></l><l><option>number</option></l></block><custom-block s="value %n in range %n to %n"><l></l><l>1</l><l>5</l></custom-block></list></block><l>Error: you should enter a number from 1 to 5...</l></custom-block><block s="doSayFor"><block s="getLastAnswer"></block><l>2</l></block></script></scripts></block-definition><block-definition s="new play sound %&apos;sound&apos;" type="command" category="sound"><comment x="0" y="0" w="133.33333333333334" collapsed="false">This block replace the &quot;play sound block&quot; - BUG FREE !</comment><header></header><code></code><translations></translations><inputs><input type="%txt"><options>§_soundsMenu</options></input></inputs><script><block s="doPlaySoundAtRate"><block var="sound"/><block s="reportGetSoundAttribute"><l><option>sample rate</option></l><block var="sound"/></block></block></script><scripts><script x="263.50000000000006" y="146.03333333333336"><block s="playSound"><l></l><comment w="90" collapsed="false">there is a bug inthis block...</comment></block></script></scripts></block-definition><block-definition s="speak %&apos;text&apos; with %&apos;lang&apos; accent $nl and pitch %&apos;pitch&apos; rate %&apos;rate&apos;" type="command" category="sound"><header></header><code></code><translations>de:sprich _ mit _ Aussprache _ und Höhe _ Geschwindigkeit _&#xD;pt:fala _ na língua _ _ com tom _ e velocidade _&#xD;ca:digues _ amb accent _ _ to _ i velocitat _&#xD;pl:powiedz _ z akcentem _ _ wysokość _ szybkość _&#xD;</translations><inputs><input type="%s">Hello, World!</input><input type="%txt">en-US<options>العربية=ar&#xD;Български=bg&#xD;বাংলা=bn&#xD;Català=ca&#xD;Català - Valencià=ca-VA&#xD;Česky=cs&#xD;Deutsch=de&#xD;Dansk=dk&#xD;Ελληνικά=el&#xD;English-American=en-US&#xD;English-British=en-GB&#xD;Esperanto=eo&#xD;Español=es&#xD;Eesti=et&#xD;Euskara=eu&#xD;suomi=fi&#xD;Français=fr&#xD;Galego=gl&#xD;Hrvatski=hr&#xD;Magyar=hu&#xD;Interlingua=ia&#xD;Bahasa Indonesia=id&#xD;Italiano=it&#xD;日本語=ja&#xD;にほんご=ja-HIRA&#xD;ಕನ್ನಡ=kn&#xD;한국어=ko&#xD;Malayalam=ml&#xD;Nederlands=nl&#xD;Norsk=no&#xD;Polski=pl&#xD;Português=pt&#xD;Português do Brasil=pt-BR&#xD;Român=ro&#xD;Русский=ru&#xD;Slovenščina=si&#xD;svenska=sv&#xD;Tamil=ta&#xD;Telagu=te&#xD;Türkçe=tr&#xD;Українська=ua&#xD;简体中文=zh-CN&#xD;繁體中文=zh-TW</options></input><input type="%n">1</input><input type="%n">1</input></inputs><script><block s="doApplyExtension"><l>tts_speak(txt, lang, pitch, rate)</l><list><block var="text"/><block var="lang"/><block var="pitch"/><block var="rate"/></list></block></script></block-definition><block-definition s="speak %&apos;text&apos; with %&apos;lang&apos; accent $nl and pitch %&apos;pitch&apos; rate %&apos;rate&apos; and wait" type="command" category="sound"><header></header><code></code><translations>de:sprich _ mit _ Aussprache _ und Höhe _ Geschwindigkeit _ und warte&#xD;pt:fala _ na língua _ _ com tom _ e velocidade _ , e espera&#xD;ca:digues _ amb accent _ _ to _ velocitat _ i espera&#xD;pl:powiedz _ z akcentem _ _ wysokość _ szybkość _ i czekaj&#xD;</translations><inputs><input type="%s">Hello, World!</input><input type="%txt">en-US<options>العربية=ar&#xD;Български=bg&#xD;বাংলা=bn&#xD;Català=ca&#xD;Català - Valencià=ca-VA&#xD;Česky=cs&#xD;Deutsch=de&#xD;Dansk=dk&#xD;Ελληνικά=el&#xD;English-American=en-US&#xD;English-British=en-GB&#xD;Esperanto=eo&#xD;Español=es&#xD;Eesti=et&#xD;Euskara=eu&#xD;suomi=fi&#xD;Français=fr&#xD;Galego=gl&#xD;Hrvatski=hr&#xD;Magyar=hu&#xD;Interlingua=ia&#xD;Bahasa Indonesia=id&#xD;Italiano=it&#xD;日本語=ja&#xD;にほんご=ja-HIRA&#xD;ಕನ್ನಡ=kn&#xD;한국어=ko&#xD;Malayalam=ml&#xD;Nederlands=nl&#xD;Norsk=no&#xD;Polski=pl&#xD;Português=pt&#xD;Português do Brasil=pt-BR&#xD;Român=ro&#xD;Русский=ru&#xD;Slovenščina=si&#xD;svenska=sv&#xD;Tamil=ta&#xD;Telagu=te&#xD;Türkçe=tr&#xD;Українська=ua&#xD;简体中文=zh-CN&#xD;繁體中文=zh-TW</options></input><input type="%n">1</input><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>callback</l></list></block><block s="doSetVar"><l>callback</l><block s="reportApplyExtension"><l>tts_speak(txt, lang, pitch, rate)</l><list><block var="text"/><block var="lang"/><block var="pitch"/><block var="rate"/></list></block></block><block s="doWaitUntil"><block s="evaluate"><block var="callback"/><list></list></block></block></script></block-definition><block-definition s="activate speech synthesis %&apos;msg&apos;" type="command" category="sound"><comment x="0" y="0" w="201" collapsed="false">create a DOM button element covering the stage displaying the given label text, if any, blocking the current script&apos;s execution until the user has clicked the button, which will enable speech synthesis on stupid iOS / iPadOS devices, where Apple forgot to activate speech synthesis when the user interacts with a canvas element. Sigh.&#xD;&#xD;Do this right when you start the project. What a kludge.&#xD;</comment><header></header><code></code><translations>de:aktiviere Sprachausgabe _&#xD;</translations><inputs><input type="%s" initial="1"></input></inputs><script><block s="doApplyExtension"><l>tts_activate(msg)</l><list><block var="msg"/></list></block></script></block-definition><block-definition s="position of %&apos;small&apos; in %&apos;large&apos;" type="reporter" category="String" helper="true"><comment w="294" collapsed="false">Reports the character position (starting from 1) of the beginning of the first input string inside the second input string.&#xD;If it&apos;s not found, reports 0.</comment><header></header><code></code><translations>pt:a posição de _ em _&#xD;ca:posició de _ en _&#xD;pl:pozycja _ w _&#xD;</translations><inputs><input type="%s"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportGlobalFlag"><l><option>case sensitivity</option></l></block><block s="reportApplyExtension"><l>txt_indexof(sub, txt)</l><list><block var="small"/><block var="large"/></list></block><block s="reportApplyExtension"><l>txt_indexof(sub, txt)</l><list><block s="reportTextAttribute"><l><option>lower case</option></l><block var="small"/></block><block s="reportTextAttribute"><l><option>lower case</option></l><block var="large"/></block></list></block></block></block></script></block-definition><block-definition s="substring of %&apos;string&apos; from position %&apos;from&apos; to %&apos;to&apos;" type="reporter" category="String"><comment w="183.33333333333334" collapsed="false">extract a substring from a string from position to another&#xD;&#xD;Block by Loucheman</comment><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1">abcdef</input><input type="%n" initial="1">2</input><input type="%n" initial="1">4</input></inputs><script><block s="doReport"><block s="reportJoinWords"><block s="reportListItem"><block s="reportNumbers"><block var="from"/><block var="to"/></block><block s="reportTextSplit"><block var="string"/><l><option>letter</option></l></block></block></block></block></script><scripts><script x="464.1666666666667" y="131.63888888888872"><custom-block s="substring of %txt from position %n to %n"><l>abcdef</l><l>3</l><l>2</l></custom-block></script><script x="463.33333333333337" y="110.30555555555544"><custom-block s="substring of %txt from position %n to %n"><l>abcdef</l><l>2</l><l>3</l></custom-block></script></scripts></block-definition><block-definition s="substring of %&apos;string&apos; before %&apos;marker&apos;" type="reporter" category="String"><comment w="175.33333333333334" collapsed="false">Reports the part of the first string up to the first instance of the second string inside it.  If the second string isn&apos;t found, reports the entire first string.</comment><header></header><code></code><translations>pt:o texto de _ antes de _&#xD;ca:part del text _ anterior a _&#xD;pl:podciąg _ przed _&#xD;</translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l></list></block><block s="doSetVar"><l>index</l><custom-block s="position of %s in %txt"><block var="marker"/><block var="string"/></custom-block></block><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="index"/><l>0</l></list></block><block var="string"/><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="index"/><l>1</l></list></block><l></l><l></l></block></block></block></script></block-definition><block-definition s="substring of %&apos;string&apos; after %&apos;marker&apos;" type="reporter" category="String"><comment w="203.33333333333334" collapsed="false">Reports the portion of the first input string starting after the first occurrence of the second string.  If the second string isn&apos;t found in the first string, reports an empty string.</comment><header></header><code></code><translations>pt:o texto de _ depois de _&#xD;ca:part del text _ posterior a _&#xD;pl:podciąg _ po _&#xD;</translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l><l>end</l></list></block><block s="doSetVar"><l>index</l><custom-block s="position of %s in %txt"><block var="marker"/><block var="string"/></custom-block></block><block s="doSetVar"><l>end</l><block s="reportVariadicSum"><list><block var="index"/><block s="reportTextAttribute"><l><option>length</option></l><block var="marker"/></block></list></block></block><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="index"/><l>0</l></list></block><l></l><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block var="end"/><block s="reportTextAttribute"><l><option>length</option></l><block var="string"/></block></list></block><l></l><l></l></block></block></block></script></block-definition><block-definition s="insert substring %&apos;substring&apos; to string %&apos;string&apos; at pos %&apos;pos&apos;" type="reporter" category="String"><comment w="90" collapsed="false">by Loucheman&#xD;&#xD;Insert a substring into a string at a defined position</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input><input type="%n"></input></inputs><script><block s="doSetVar"><l>pos</l><block s="reportMonadic"><l><option>floor</option></l><block var="pos"/></block></block><block s="doIfElse"><block s="reportVariadicLessThanOrEquals"><list><block var="pos"/><l>1</l></list></block><script><block s="doReport"><block s="reportJoinWords"><list><block var="substring"/><block var="string"/></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="pos"/><block s="reportTextAttribute"><l><option>length</option></l><block var="string"/></block></list></block><script><block s="doReport"><block s="reportJoinWords"><list><block var="string"/><block var="substring"/></list></block></block></script><script><block s="doReport"><block s="reportJoinWords"><list><block s="reportLetter"><block s="reportNumbers"><l>1</l><block s="reportDifference"><block var="pos"/><l>1</l></block></block><block var="string"/></block><block var="substring"/><block s="reportLetter"><block s="reportNumbers"><block var="pos"/><block s="reportTextAttribute"><l><option>length</option></l><block var="string"/></block></block><block var="string"/></block></list></block></block></script></block></script></block></script></block-definition><block-definition s="to lower case %&apos;text&apos;" type="reporter" category="String"><comment w="275.3333333333333" collapsed="false">Reports the input text with lower case letters instead of capital letters in the input.  Uses the user&apos;s locale&apos;s rules for case conversion.</comment><header></header><code></code><translations>pt:em minúsculas _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>txt_lowercase(txt)</l><list><block var="text"/></list></block></block></script></block-definition><block-definition s="Align this string: %&apos;String&apos; length: %&apos;final length&apos; alignment %&apos;alignment&apos;" type="reporter" category="String"><comment w="255.8333333333334" collapsed="false">Return a fixed length string align on the center,left or right&#xD;&#xD;Hello world,20,left &#xD;  return Hello world_ _ _ _ _ _ _ _ _ (spaces)&#xD;&#xD;Hello world,20,right &#xD;  return _ _ _ _ _ _ _ _ _ Hello world&#xD;&#xD;Hello world,20,center&#xD;  return _ _ _ _ Hello world _ _ _ _ _&#xD;&#xD;Block by Loucheman</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%n"></input><input type="%txt">center<options>center&#xD;left&#xD;right</options></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="String"/></block><block var="final length"/></list></block><script><block s="doReport"><block var="String"/></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="String"/></block><block var="final length"/></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="alignment"/><l>left</l></list></block><script><block s="doRepeat"><block s="reportDifference"><block var="final length"/><block s="reportTextAttribute"><l><option>length</option></l><block var="String"/></block></block><script><block s="doSetVar"><l>String</l><block s="reportJoinWords"><list><block var="String"/><l> </l></list></block></block></script></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="alignment"/><l>right</l></list></block><script><block s="doRepeat"><block s="reportDifference"><block var="final length"/><block s="reportTextAttribute"><l><option>length</option></l><block var="String"/></block></block><script><block s="doSetVar"><l>String</l><block s="reportJoinWords"><list><l> </l><block var="String"/></list></block></block></script></block></script><script><custom-block s="let %upvar be %s"><l>nbBefore</l><custom-block s="%n div %n"><block s="reportDifference"><block var="final length"/><block s="reportTextAttribute"><l><option>length</option></l><block var="String"/></block></block><l>2</l></custom-block></custom-block><custom-block s="let %upvar be %s"><l>nbAfter</l><block s="reportDifference"><block s="reportDifference"><block var="final length"/><block s="reportTextAttribute"><l><option>length</option></l><block var="String"/></block></block><block var="nbBefore"/></block></custom-block><block s="doRepeat"><block var="nbBefore"/><script><block s="doSetVar"><l>String</l><block s="reportJoinWords"><list><l> </l><block var="String"/></list></block></block></script></block><block s="doRepeat"><block var="nbAfter"/><script><block s="doSetVar"><l>String</l><block s="reportJoinWords"><list><block var="String"/><l> </l></list></block></block></script></block></script></block></script></block></script><script><block s="doSetVar"><l>String</l><l>0</l></block></script></block><block s="doReport"><block var="String"/></block></script></block></script></block-definition><block-definition s="Add leading %&apos;char&apos; to %&apos;Number&apos; Total length: %&apos;Length&apos;" type="reporter" category="String"><comment x="0" y="0" w="322.8571428571429" collapsed="false">Add leading zeros to a number By Loucheman v1.2&#xD;useful to display the score in a game&#xD;&#xD;example: add leading zeros to (YourNumber) Total length: (5)&#xD;if YourNumber = 123 then the result is 00123&#xD;if YourNumber = 1234 then the result is 01234&#xD;if YourNumber = 12345 then the result is 12345&#xD;if YourNumber = 1234567 then the result is 1234567&#xD;if YourNumber = 12.3 then the result is 012.3&#xD;if YourNumber = -1.2 then the result is -01.2&#xD;&#xD;version 1.0 : a zeros with a for loop: 12.2 seconds to treat 100000 numbers &#xD;&#xD;version 1.1 : almost 2 times faster with the reshape function: 7.3 seconds to treat 100000 numbers &#xD;&#xD;version 1.2 : now accepts negative values&#xD;</comment><header></header><code></code><translations></translations><inputs><input type="%txt">0</input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIfElse"><block s="reportVariadicGreaterThanOrEquals"><list><block var="Number"/><l>0</l></list></block><script><block s="doReport"><block s="reportJoinWords"><list><block s="reportJoinWords"><list><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportDifference"><block var="Length"/><block s="reportTextAttribute"><l><option>length</option></l><block var="Number"/></block></block><l>0</l></list></block><block s="reportReshape"><block s="reportNewList"><list><block var="char"/></list></block><list><block s="reportDifference"><block var="Length"/><block s="reportTextAttribute"><l><option>length</option></l><block var="Number"/></block></block></list></block><l></l></block></list></block><block var="Number"/></list></block></block></script><script><block s="doReport"><block s="reportJoinWords"><list><l>-</l><block s="reportJoinWords"><list><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportDifference"><block var="Length"/><block s="reportTextAttribute"><l><option>length</option></l><block s="reportMonadic"><l><option>abs</option></l><block var="Number"/></block></block></block><l>0</l></list></block><block s="reportReshape"><block s="reportNewList"><list><block var="char"/></list></block><list><block s="reportDifference"><block var="Length"/><block s="reportTextAttribute"><l><option>length</option></l><block s="reportMonadic"><l><option>abs</option></l><block var="Number"/></block></block></block></list></block><l></l></block></list></block><block s="reportMonadic"><l><option>abs</option></l><block var="Number"/></block></list></block></block></script></block></script><scripts><script x="121.99999999999999" y="422.88888888888914"><block s="reportReshape"><block s="reportNewList"><list><block var="char"/></list></block><list><l></l></list></block></script><script x="187.5" y="290.9444444444447"><block s="reportDifference"><block var="Length"/><block s="reportTextAttribute"><l><option>length</option></l><block var="Number"/></block></block></script><script x="348.0666666666667" y="438.44444444444457"><block s="reportDifference"><block var="Length"/><block s="reportTextAttribute"><l><option>length</option></l><block var="Number"/></block></block></script></scripts></block-definition><block-definition s="Add leading zeros to %&apos;Number&apos; Total length: %&apos;Length&apos;" type="reporter" category="String"><comment w="322.8571428571429" collapsed="false">Add leading zeros to a number By Loucheman v1.2&#xD;useful to display the score in a game&#xD;&#xD;example: add leading zeros to (YourNumber) Total length: (5)&#xD;if YourNumber = 123 then the result is 00123&#xD;if YourNumber = 1234 then the result is 01234&#xD;if YourNumber = 12345 then the result is 12345&#xD;if YourNumber = 1234567 then the result is 1234567&#xD;if YourNumber = 12.3 then the result is 012.3&#xD;if YourNumber = -1.2 then the result is -01.2&#xD;&#xD;version 1.0 : a zeros with a for loop: 12.2 seconds to treat 100000 numbers &#xD;&#xD;version 1.1 : almost 2 times faster with the reshape function: 7.3 seconds to treat 100000 numbers &#xD;&#xD;version 1.2 : now accepts negative values&#xD;</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIfElse"><block s="reportVariadicGreaterThanOrEquals"><list><block var="Number"/><l>0</l></list></block><script><block s="doReport"><block s="reportJoinWords"><list><block s="reportJoinWords"><list><block s="reportReshape"><block s="reportNewList"><list><l>0</l></list></block><list><block s="reportDifference"><block var="Length"/><block s="reportTextAttribute"><l><option>length</option></l><block var="Number"/></block></block></list></block></list></block><block var="Number"/></list></block></block></script><script><block s="doReport"><block s="reportJoinWords"><list><l>-</l><block s="reportJoinWords"><list><block s="reportReshape"><block s="reportNewList"><list><l>0</l></list></block><list><block s="reportDifference"><block var="Length"/><block s="reportTextAttribute"><l><option>length</option></l><block var="Number"/></block></block></list></block></list></block><block s="reportMonadic"><l><option>abs</option></l><block var="Number"/></block></list></block></block></script></block></script></block-definition><block-definition s="is this string: %&apos;large&apos; contains %&apos;small&apos; ? (case-sensitive? %&apos;case-sensitive?&apos;" type="predicate" category="String"><comment x="0" y="0" w="205" collapsed="false">is large string contains small string?&#xD;Block by Loucheman</comment><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1"></input><input type="%s" initial="1"></input><input type="%b" initial="1">false</input></inputs><script><block s="doDeclareVariables"><list><l>csSave</l><l>resutl</l></list></block><block s="doSetVar"><l>csSave</l><custom-block s="use case-independent comparison"></custom-block></block><custom-block s="use case-independent comparisons %b"><block s="reportNot"><block var="case-sensitive?"/></block></custom-block><block s="doSetVar"><l>resutl</l><block s="reportVariadicGreaterThan"><list><custom-block s="new position of %s in %txt"><block var="small"/><block var="large"/></custom-block><l>0</l></list></block></block><custom-block s="use case-independent comparisons %b"><block var="csSave"/></custom-block><block s="doReport"><block var="resutl"/></block></script><scripts><script x="339.64285714285717" y="91.76190476190459"><custom-block s="use case-independent comparisons %b"><l><bool>true</bool></l></custom-block></script><script x="339.64285714285717" y="124.61904761904746"><custom-block s="use case-independent comparison"></custom-block></script></scripts></block-definition><block-definition s="reverse this string: %&apos;string&apos;" type="reporter" category="String"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportTextSplit"><block var="string"/><l><option>letter</option></l></block></block></block></block></script></block-definition><block-definition s="multiple positions of %&apos;small&apos; in %&apos;large&apos; (overlap? %&apos;overlap&apos; )" type="reporter" category="String"><comment x="0" y="0" w="240.3142857142859" collapsed="false">Search for multiple substring in a string and return a list of positions or an empty list &#xD;&#xD;Examples:&#xD;  overlap = true&#xD;    11 in 1110111 return 1,2,5,6&#xD;  overlap = false&#xD;    11 in 1110111 return 1,5&#xD;&#xD;Thk to bh for the overlapping search&#xD;Thk to sathvikrias for the non-overlapping search&#xD;Assembled by Loucheman</comment><header></header><code></code><translations></translations><inputs><input type="%s" initial="1">aa</input><input type="%s" initial="1">aaa</input><input type="%b" initial="1">false</input></inputs><script><block s="doIfElse"><block var="overlap"/><script><block s="doDeclareVariables"><list><l>small list</l><l>big list</l><l>length</l></list></block><block s="doSetVar"><l>small list</l><block s="reportTextSplit"><block var="small"/><l><option>letter</option></l></block></block><block s="doSetVar"><l>big list</l><block s="reportTextSplit"><block var="large"/><l><option>letter</option></l></block></block><block s="doSetVar"><l>length</l><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="small list"/></block><l>1</l></block></block><block s="doReport"><block s="reportAtomicKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block var="small list"/><block s="reportListItem"><block s="reportNumbers"><l></l><block s="reportVariadicSum"><list><l></l><block var="length"/></list></block></block><block var="big list"/></block></list></block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><block s="reportVariadicSum"><list><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="big list"/></block><block var="length"/></block><l>1</l></list></block></block></block></block></script><script><block s="doReport"><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportAtomicMap"><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><block s="reportTextAttribute"><l><option>length</option></l><block s="reportJoinWords"><block s="reportListItem"><block s="reportNumbers"><l>1</l><block var="index"/></block><block var="list"/></block></block></block><block s="reportVariadicProduct"><list><block var="#1"/><block s="reportDifference"><block var="index"/><l>1</l></block></list></block><l>1</l></list></block></autolambda><list><l>value</l><l>index</l><l>list</l></list></block><block s="reportReshape"><block s="reportTextSplit"><block var="large"/><block var="small"/></block><list><l>-1</l></list></block></block></autolambda><list><l>#1</l></list></block><list><block s="reportTextAttribute"><l><option>length</option></l><block var="small"/></block></list></block></block></script></block></script><scripts><script x="533.6571428571428" y="193.99999999999997"><custom-block s="multiple positions of %s in %s (overlap? %b )"><l>11</l><l>1110111</l><l><bool>true</bool></l><comment w="90" collapsed="false">bh version</comment></custom-block></script><script x="533.5714285714286" y="243.14285714285717"><custom-block s="multiple positions of %s in %s (overlap? %b )"><l>11</l><l>1110111</l><l><bool>false</bool></l><comment w="90" collapsed="false">sathvikrias version</comment></custom-block></script></scripts></block-definition><block-definition s="duplicate this string %&apos;str&apos; %&apos;time&apos; time" type="reporter" category="String"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1">*</input><input type="%n" initial="1">3</input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block var="time"/><l>0</l></list></block><block s="reportJoinWords"><block s="reportReshape"><block var="str"/><list><block var="time"/></list></block></block><l></l></block></block></script></block-definition><block-definition s="cr" type="reporter" category="String"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportUnicodeAsLetter"><l>10</l></block></block></script></block-definition><block-definition s="delete char # %&apos;x&apos; of %&apos;str&apos;" type="reporter" category="String"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">3</input><input type="%txt" initial="1">abcdef</input></inputs><script><block s="doSetVar"><l>str</l><block s="reportTextSplit"><block var="str"/><l><option>letter</option></l></block></block><block s="doDeleteFromList"><block var="x"/><block var="str"/></block><block s="doReport"><block s="reportJoinWords"><block var="str"/></block></block></script></block-definition><block-definition s="remove all %&apos;subStr&apos; from %&apos;str&apos;" type="reporter" category="String"><header></header><code></code><translations></translations><inputs><input type="%mult%txt" initial="1">b</input><input type="%txt" initial="1">abcabc</input></inputs><script><block s="doForEach"><l>letters</l><block var="subStr"/><script><custom-block s="let %upvar be %s"><l>posToDelete</l><custom-block s="multiple positions of %s in %s (overlap? %b )"><block var="letters"/><block var="str"/><l><bool>false</bool></l></custom-block></custom-block><block s="doForEach"><l>pos</l><block s="reportListAttribute"><l><option>reverse</option></l><block var="posToDelete"/></block><script><block s="doRepeat"><block s="reportTextAttribute"><l><option>length</option></l><block var="letters"/></block><script><block s="doSetVar"><l>str</l><custom-block s="delete char # %n of %txt"><block var="pos"/><block var="str"/></custom-block></block></script></block></script></block></script></block><block s="doReport"><block var="str"/></block></script></block-definition><block-definition s="use case-independent comparisons %&apos;tf&apos;" type="command" category="String" space="true"><comment w="225.33333333333331" collapsed="false">If input is TRUE, comparisons made by functions in the string library will be case-independent (so &quot;FOO&quot; = &quot;foo&quot;).  This is the default.&#xD;If input is FALSE, comparisons will be exact.</comment><header></header><code></code><translations>pt:altera comparações ignorando distinção minúsculas/maiúsculas para _&#xD;</translations><inputs><input type="%b"></input></inputs><script><block s="doIfElse"><block s="reportNot"><block var="tf"/></block><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>global</l><l>_case indepent</l></list></block><block s="doApplyExtension"><l>var_set(name, val)</l><list><l>_case indepent</l><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></script><script><block s="doApplyExtension"><l>var_delete(name)</l><list><l>_case indepent</l></list></block></script></block></script></block-definition><block-definition s="use case-independent comparison" type="predicate" category="String"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doApplyExtension"><l>err_try(cmd, catch, err)</l><list><block s="reifyScript"><script><block s="doSetVar"><l>result</l><block s="reportApplyExtension"><l>var_get(name)</l><list><l>_case indepent</l></list></block></block></script><list></list></block><block s="reifyScript"><script><block s="doSetVar"><l>result</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><l></l></list></block><block s="doApplyExtension"><l>err_reset</l><list></list></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="-- = %&apos;n&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%anyUE" readonly="true"></input></inputs><script><block s="doRun"><block s="reifyScript"><script><block s="doChangeVar"><l></l><l>-1</l></block></script><list></list></block><list><block var="n"/></list></block><block s="doReport"><block s="evaluate"><block var="n"/><list></list></block></block></script></block-definition><block-definition s="does var %&apos;_name&apos; exist?" type="predicate" category="variables"><comment x="0" y="0" w="146" collapsed="false">This block reports &quot;true&quot; if there is a variable with this given name (input slot) in that context.&#xD;&#xD;It can be a global, sprite or script variable.&#xD;&#xD;Otherwise it reports &quot;false&quot;.</comment><header></header><code></code><translations>pt:a variável _ existe&#xD;ca:existeix la variable _ ?&#xD;es:existe la variable _ ?&#xD;de:existiert var _ ?&#xD;</translations><inputs><input type="%s"></input></inputs><script><block s="doApplyExtension"><l>err_try(cmd, catch, err)</l><list><block s="reifyScript"><script><block s="doApplyExtension"><l>err_ignore</l><list><block s="reportApplyExtension"><l>var_get(name)</l><list><block var="_name"/></list></block></list></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="reifyScript"><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><l></l></list></block><block s="doApplyExtension"><l>err_reset</l><list></list></block></script></block-definition><block-definition s="delete var %&apos;var&apos;" type="command" category="variables"><header></header><code></code><translations></translations><inputs><input type="%txt">MySpriteVar</input></inputs><script><block s="doApplyExtension"><l>var_delete(name)</l><list><block var="var"/></list></block></script></block-definition><block-definition s="create sprite var %&apos;var&apos; defaut %&apos;defaut&apos;" type="command" category="variables"><header></header><code></code><translations></translations><inputs><input type="%txt">MySpriteVar</input><input type="%s"></input></inputs><script><block s="doIf"><block s="reportNot"><custom-block s="does var %s exist?"><block var="var"/></custom-block></block><script><custom-block s="create %s var %mult%txt"><l>sprite</l><list><block var="var"/></list></custom-block></script><list></list></block><custom-block s="set var %s to %s"><block var="var"/><block var="defaut"/></custom-block></script></block-definition><block-definition s="create %&apos;_scope&apos; var %&apos;_names&apos;" type="command" category="variables"><comment x="0" y="0" w="146" collapsed="false">This block creates  new variables on the selected scope: global (for all sprites), sprite (for this sprite only) or script (only for that blocks stack) with the names given (in &apos;names&apos; list).&#xD;&#xD;If there is already a variable with that name in that scope, it does nothing: no errors and no overwrites.</comment><header></header><code></code><translations>pt:cria as variáveis _ _&#xD;ca:crea les _ variables _&#xD;es:crear las _ variables _&#xD;de:erstellen _ var _&#xD;</translations><inputs><input type="%s" readonly="true">global<options>global&#xD;sprite&#xD;script</options></input><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doForEach"><l>_item</l><block var="_names"/><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><block var="_scope"/><block var="_item"/></list></block></script></block></script></block></script></block-definition><block-definition s="set var %&apos;_name&apos; to %&apos;_value&apos;" type="command" category="variables"><comment x="0" y="0" w="240.4931640625" collapsed="false">This block sets the given value (last input) to the variable named with the name givent (var input).&#xD;&#xD;It looks for that variable following the scope order &apos;script&apos; -&gt; &apos;sprite&apos; -&gt; &apos;global&apos; (the first match it finds).&#xD;&#xD;If that variable does not exist (in any scope) an error happens, stopping their script. You can check it before using the &quot;does var (name) exists?&quot; block. </comment><header></header><code></code><translations>ca:assigna a _ el valor _&#xD;es:asignar a _ el valor _&#xD;pt:altera _ para _&#xD;de:setze var _ auf _&#xD;</translations><inputs><input type="%s"><options>§_getVarNamesDict</options></input><input type="%s"></input></inputs><script><block s="doApplyExtension"><l>var_set(name, val)</l><list><block var="_name"/><block var="_value"/></list></block></script></block-definition><block-definition s="-- %&apos;n&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%anyUE" readonly="true"></input></inputs><script><block s="doRun"><block s="reifyScript"><script><block s="doChangeVar"><l></l><l>-1</l></block></script><list></list></block><list><block var="n"/></list></block><block s="doReport"><block s="evaluate"><block var="n"/><list></list></block></block></script></block-definition><block-definition s="is %&apos;value&apos; is in %&apos;list&apos;" type="predicate" category="variables"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input><input type="%l" initial="1"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block s="reportListIndex"><block var="value"/><block var="list"/></block><l>0</l></list></block><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>true</bool></l></block></block></block></script></block-definition><block-definition s="show var %&apos;_name&apos;" type="command" category="variables"><comment x="0" y="0" w="181" collapsed="false">This block turns on (show) the watcher view on stage (if it was not already activated) of the variable with the given name (slot input).&#xD;&#xD;It can only access to the closest variable scope (if there different variables with the same name in different scopes) following the order &apos;script&apos; -&gt; &apos;sprite&apos; -&gt; &apos;global&apos;.&#xD;&#xD;No errors if that variable does not exist.</comment><header></header><code></code><translations>ca:mostra la variable _&#xD;es:mostrar variable _&#xD;pt:mostra a variável _&#xD;de:zeige var _&#xD;</translations><inputs><input type="%s"><options>§_getVarNamesDict</options></input></inputs><script><block s="doApplyExtension"><l>var_show(name)</l><list><block var="_name"/></list></block></script></block-definition><block-definition s="variables list" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>tmp</l></list></block><block s="doSetVar"><l>tmp</l><block s="reportListItem"><l>2</l><block s="reportListAttribute"><l><option>columns</option></l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportTextSplit"><l></l><l><option>blocks</option></l></block></autolambda><list></list></block><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportTextSplit"><l></l><l><option>blocks</option></l></block></block><block s="reifyReporter"><autolambda><block var=" "/></autolambda><list></list></block></list></block></autolambda><list></list></block><block s="reportApplyExtension"><l>ide_blocks</l><list></list></block></block></block></block></block></block><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="tmp"/><l></l></list></block><block s="reportNewList"><list></list></block><block s="reportListAttribute"><l><option>uniques</option></l><block var="tmp"/></block></block></block></script></block-definition><block-definition s="draw a point of size %&apos;size&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">2</input></inputs><script><block s="setSize"><block var="size"/></block><block s="down"></block><block s="forward"><l>0</l></block><block s="up"></block></script></block-definition></blocks><primitives><block-definition s="switch to costume %&apos;#1&apos;" type="command" category="looks" selector="doSwitchToCostume" primitive="doSwitchToCostume"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_costumesMenu</options></input></inputs><script><block s="doPrimitive"><l><bool>true</bool></l><l>doSwitchToCostume</l></block></script></block-definition><block-definition s="is %&apos;#1&apos; on?" type="predicate" category="sensing" selector="reportGlobalFlag" primitive="reportGlobalFlag"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true">$_turbo mode<options>turbo mode=$_turbo mode&#xD;case sensitivity=$_case sensitivity&#xD;flat line ends=$_flat line ends&#xD;log pen vectors=$_log pen vectors&#xD;video capture=$_video capture&#xD;mirror video=$_mirror video</options></input></inputs><script><block s="doPrimitive"><l><bool>true</bool></l><l>reportGlobalFlag</l></block></script></block-definition></primitives><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="12983"><pentrails>data:image/png;base64,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</pentrails><costumes><list struct="atomic" id="12984"></list></costumes><sounds><list struct="atomic" id="12985"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><watcher var="points" style="normal" x="10.300429184549103" y="10.300429184549387" color="243,118,29" extX="153.80000000000018" extY="61.79999999999998" hidden="true"/><sprite name="Sprite" idx="1" x="94.77030310793361" y="-67.67525895118752" heading="159" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="75,115,255,1" pen="tip" id="12991"><costumes><list struct="atomic" id="12992"></list></costumes><sounds><list struct="atomic" id="12993"></list></sounds><blocks></blocks><variables></variables><scripts><script x="8.333333333333334" y="8.333333333333334"><block s="receiveGo"></block><block s="hide"></block><block s="doDeclareVariables"><list><l>randomPoint</l></list></block><block s="doForever"><script><block s="doSetVar"><l>points</l><block s="reportNewList"><list></list></block></block><block s="clear"></block><block s="up"></block><block s="doRepeat"><l>3</l><script><custom-block s="repeat %cs until %boolUE"><script><block s="doGotoObject"><l><option>random position</option></l></block></script><block s="reportVariadicEquals"><block s="reportVariadicGreaterThan"><list><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportRelationTo"><l><option>distance</option></l><l></l></block></autolambda><list></list></block><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>0</l></list></block></list></block><block var="points"/></list></block></block><l>150</l></list></block></block></custom-block><custom-block s="draw a point of size %n"><l>5</l></custom-block><block s="doAddToList"><block s="getPosition"></block><block var="points"/></block></script></block><block s="doGotoObject"><block s="reportQuotient"><block s="reportVariadicSum"><block var="points"/></block><l>3</l></block></block><block s="doWarp"><script><block s="doRepeat"><l>10000</l><script><block s="doSetVar"><l>randomPoint</l><block s="reportListItem"><l><option>random</option></l><block var="points"/></block></block><block s="doFaceTowards"><block var="randomPoint"/></block><block s="forward"><block s="reportQuotient"><block s="reportRelationTo"><l><option>distance</option></l><block var="randomPoint"/></block><l>2</l></block></block><custom-block s="draw a point of size %n"><l>2</l></custom-block></script></block></script></block><block s="doWait"><l>1</l></block></script></block></script></scripts></sprite></sprites></stage><variables><variable name="points"><list id="13099"><item><list struct="atomic" id="13100">132,-160.00000000000006</list></item><item><list struct="atomic" id="13101">160,20</list></item><item><list struct="atomic" id="13102">-188,164</list></item></list></variable></variables></scene></scenes></project><media name="Bizarre triangle effect" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"></media></snapdata>