<snapdata remixID="10253802"><project name="Labyrinth" app="Snap! 6, https://snap.berkeley.edu" version="1"><notes>Creating the maze takes a while. Please be paitent.&#xD;&#xD;Move the mouse by arrow keys.&#xD;Try to catch the cheese.&#xD;&#xD;&#xD;I used matrices functions from wunder_wulfe.&#xD;See https://snap.berkeley.edu/project?user=wunder_wulfe&amp;project=Misc%20Math%20Components</notes><thumbnail>data:image/png;base64,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</thumbnail><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="flat" ternary="true" hyperops="true" codify="false" inheritance="true" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,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</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Sprite" idx="1" x="225" y="-165" heading="0" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="0,88,6,1" pen="tip" id="8"><costumes><list struct="atomic" id="9"></list></costumes><sounds><list struct="atomic" id="10"></list></sounds><blocks></blocks><variables></variables><scripts><script x="59.61538461538461" y="7.692307692307692"><block s="receiveGo"></block><block s="clear"></block><block s="setColor"><color>0,29,166,1</color></block><block s="setSize"><l>2</l></block><block s="hide"></block><block s="doSetVar"><l>Gangbreite</l><l>30</l></block><block s="doSetVar"><l>BühneHöhe</l><l>360</l></block><block s="doSetVar"><l>BühneBreite</l><l>480</l></block><block s="doSetVar"><l>LängeGeradeaus</l><l>5</l><comment w="90" collapsed="false">Zufallszahl 1 bis 10</comment></block><block s="doSetVar"><l>WahrschAbzweig</l><l>3</l><comment w="90" collapsed="false">Zufallszahl 1 bis 10</comment></block><custom-block s="GrundMatrizenErzeugen - Gangbreite: %s BühneHöhe: %s BühneBreite: %s"><block var="Gangbreite"/><block var="BühneHöhe"/><block var="BühneBreite"/></custom-block><block s="doBroadcast"><l>fertig</l></block><block s="up"></block><block s="doDeclareVariables"><list><l>Xalt</l><l>Yalt</l><l>RichtungAlt</l></list></block><block s="doSetVar"><l>Xalt</l><l>2</l></block><block s="doSetVar"><l>Yalt</l><l>2</l></block><block s="doSetVar"><l>RichtungAlt</l><l>O</l></block><custom-block s="GeheZu - X: %s Y: %s"><block var="Xalt"/><block var="Yalt"/></custom-block><custom-block s="matrix replace item %n %n of %l with %n"><block var="Xalt"/><block var="Yalt"/><block var="Matrix1"/><l>1</l></custom-block><custom-block s="SpriteGehtEinenSchritt - Xalt %s Yalt %s RichtungAlt %s LängeGeradeausLokal %s"><block var="Xalt"/><block var="Yalt"/><block var="RichtungAlt"/><block var="LängeGeradeaus"/></custom-block><custom-block s="LöcherSuchenUndFüllen"></custom-block><block s="up"></block><block s="clear"></block><block s="setColor"><color>0,88,6,1</color></block><block s="setSize"><l>3</l></block><block s="doFor"><l>x</l><l>2</l><block s="reportSum"><block s="reportQuotient"><block var="BühneBreite"/><block var="Gangbreite"/></block><l>1</l></block><script><block s="doFor"><l>y</l><l>2</l><block s="reportSum"><block s="reportQuotient"><block var="BühneHöhe"/><block var="Gangbreite"/></block><l>1</l></block><script><custom-block s="GeheZu - X: %s Y: %s"><block var="x"/><block var="y"/></custom-block><block s="doIf"><block s="reportListContainsItem"><block s="reportTextSplit"><custom-block s="matrix item %n %n of %l"><block var="x"/><block var="y"/><block var="Matrix2"/></custom-block><l><option>letter</option></l></block><l>N</l></block><script><block s="changeXPosition"><block s="reportProduct"><l>-1</l><block s="reportQuotient"><block var="Gangbreite"/><l>2</l></block></block></block><block s="changeYPosition"><block s="reportQuotient"><block var="Gangbreite"/><l>2</l></block></block><block s="down"></block><block s="changeXPosition"><block var="Gangbreite"/></block><block s="up"></block></script></block><custom-block s="GeheZu - X: %s Y: %s"><block var="x"/><block var="y"/></custom-block><block s="doIf"><block s="reportListContainsItem"><block s="reportTextSplit"><custom-block s="matrix item %n %n of %l"><block var="x"/><block var="y"/><block var="Matrix2"/></custom-block><l><option>letter</option></l></block><l>O</l></block><script><block s="changeXPosition"><block s="reportProduct"><l>1</l><block s="reportQuotient"><block var="Gangbreite"/><l>2</l></block></block></block><block s="changeYPosition"><block s="reportQuotient"><block var="Gangbreite"/><l>2</l></block></block><block s="down"></block><block s="changeYPosition"><block s="reportProduct"><l>-1</l><block var="Gangbreite"/></block></block><block s="up"></block></script></block><custom-block s="GeheZu - X: %s Y: %s"><block var="x"/><block var="y"/></custom-block><block s="doIf"><block s="reportListContainsItem"><block s="reportTextSplit"><custom-block s="matrix item %n %n of %l"><block var="x"/><block var="y"/><block var="Matrix2"/></custom-block><l><option>letter</option></l></block><l>S</l></block><script><block s="changeXPosition"><block s="reportProduct"><l>1</l><block s="reportQuotient"><block var="Gangbreite"/><l>2</l></block></block></block><block s="changeYPosition"><block s="reportProduct"><l>-1</l><block s="reportQuotient"><block var="Gangbreite"/><l>2</l></block></block></block><block s="down"></block><block s="changeXPosition"><block s="reportProduct"><l>-1</l><block var="Gangbreite"/></block></block><block s="up"></block></script></block><custom-block s="GeheZu - X: %s Y: %s"><block var="x"/><block var="y"/></custom-block><block s="doIf"><block s="reportListContainsItem"><block s="reportTextSplit"><custom-block s="matrix item %n %n of %l"><block var="x"/><block var="y"/><block var="Matrix2"/></custom-block><l><option>letter</option></l></block><l>W</l></block><script><block s="changeXPosition"><block s="reportProduct"><l>-1</l><block s="reportQuotient"><block var="Gangbreite"/><l>2</l></block></block></block><block s="changeYPosition"><block s="reportProduct"><l>-1</l><block s="reportQuotient"><block var="Gangbreite"/><l>2</l></block></block></block><block s="down"></block><block s="changeYPosition"><block s="reportProduct"><l>1</l><block var="Gangbreite"/></block></block><block s="up"></block></script></block></script></block></script></block><block s="doBroadcast"><l>LabyrinthFertig</l></block></script><comment x="326.15384615384613" y="34.35897435897433" w="262.3076923076923" collapsed="false">X = Ost-West Koordinate&#xD;Y = Nord-Süd Koordinate&#xD;&#xD;1:1 ist oben links (Nord West Ecke)</comment></scripts></sprite><sprite name="Objekt" idx="2" x="-149.99999999999955" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="255"><costumes><list id="256"><item><costume name="costume1" center-x="19.5" center-y="27" image="data:image/png;base64,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" id="257"/></item></list></costumes><sounds><list struct="atomic" id="258"></list></sounds><blocks></blocks><variables></variables><scripts><script x="106.53846153846153" y="43.769230769230774"><block s="receiveGo"></block><block s="gotoXY"><l>-200</l><l>0</l></block><block s="setHeading"><l>90</l></block><block s="show"></block><block s="bubble"><l>Please wait ...</l></block></script><script x="160.3846153846154" y="168.76923076923077"><block s="receiveMessage"><l>weiter</l></block><block s="forward"><l>10</l></block></script><script x="161.15384615384616" y="255.69230769230768"><block s="receiveMessage"><l>weiterklein</l></block><block s="forward"><l>0.5</l></block></script><script x="461.9230769230769" y="118"><block s="receiveMessage"><l>fertig</l></block><block s="hide"></block></script></scripts></sprite><sprite name="Objekt(2)" idx="3" x="-162.00000000000023" y="-80.00000000000273" heading="90" scale="0.12" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="98.02200000000002,0,158.1,1" pen="tip" id="282"><costumes><list id="283"><item><costume name="MausLinks" center-x="103" center-y="43.5" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKwAAABXCAYAAACZZK4CAAAJQElEQVR4Xu2dS2xVRRjH/22hRR5qSkIIsDCEAEuBEk2MtVI0JoivkAgrdceKKgsT2KgbSFyAZcVOXdEFii82pq2FuDDy0CUlBDUB0oUQQgu2Elrzv94hh5t77pnnmXNOv0kaEu48vvl/vzv3mzkzc9ogSRQAXgfwdIoQvwP4tigitRXFELEjigJPAjgFoC+j9TEAbwK4HcXKRKMCbGwPxG3/Jw1YlYWE9sW45gICbGwPxGufoyqBNUkEluBGSwJsNOmjN/w+gKOGVnwA4DPDMj6ztwuwPuUsV11/AHjK0OT3AHxhWMZrdgHWq5ylqeyN+mTL1OBNALhqEC0JsNGkj9rwxwA+MrRgEADDiKhJgI0qf7TGTYH9BADLRE8CbHQXRDFAB9gzdUgZAkRff1UqCbBReIneqA6whRlVk2oJsNHZiWKAABtFdmnUVgEB1lY5KRdFAQE2oOzfA1iK9MfIcwCmAOwMaEPVqhZgPXr0RwCdifp6W8CqshHas4ky/wJ42aNNJlUln7Vn7YIyqddnXh1gC7HZpbHTRZl0cZvbN3XjXvDkGS7LMPGpTshlmcbNIEn7lQ2tuhQDah1gaTPzcbWgMKkIwNLhXQCeDaTKLwBmDLbRZZkxAqAjkcn1C9YIdR4Avwvg86yO1j/nQMI9BCG/9JqmxN1eyK1t/MK4Oly3swSDoYPNns6vAXR7/gVIs/tvAFcAPAdgVrdzhvl4uuA3gzJ8eEDdokMba4TlqJoXqI1+Ibi6o5j6udeJow38n5n1HwC/ArgFgFv6/sosYZ6B2wQHDIoVIqaNAWxMWJV/sqBVoMb6UiU54kjI4ym+oTUdZQsR0+YNbBFgTYP2OwCP5/SzbzCw1bJOABhPFHoFwLRpJU3ym46yrILhASdjUQ4m5glskWBNQvsDgFcB5P2z78LbzwAe1CvQDW/S2uOG7HcsjKE/CXyu4OYFbBFhVT66kxhZLfwWvQjDG9cR12akVR3P9URtHsDyQcBL0d1abQPUiOsCriu0Nqsvxl7JA1guJUnKRwEFrm2YYBsesHe5nKgNDewwgP58fCWtJBRotgqySHOiZgstR2guwQVNoYGV0TWo+1pW3gitLrCs1DY8CB7PCrDxgMqj5cc0R9VmtvAIOMHlvVsmKehTMQHWxBXly8uY9nlHs21ChGDQCrCO3ixB8VjLXkEeMAiwJSDOg4muy142j3GV2V7jWgHWAw0lqsIlRLCdiFEebxtnBNgS0ebJVJeJmE08q8z2sk4rwHqioETVuIyy7KbuaYVGSbyMsgJsiUjzaGrW9sqspnikifdsmd7P5TzKCrBZrqnu5y6hgVLFdDLmfL+sAFtdILN65hoaqPpNJmPO1x8JsFlurfbnvvyvG9c6x7G+DE5zKw/RhW6j2kiF7Z1P3+iuIDjFsT4NbibtVwDeCqu51O6ggE//6x4dd4pjfRqcpttk/aohB12laCAFfEy8TCdgTnGsABuIhJJU62vipbqrExYUFtgiHZUuCT9RzPQ5aOlMvgoHrIAahTvrRn2GBaUDtsinY609WvGCrufAkvKUBlgZVctPtY+RthTAao+qixcvxtKlvJsYmJqawr1798rv5ur0wMcErPDAZsLa3d2NLVu2YOPGjVizZs0jwF67dg2XLl3ChQsXcOsW7z2TFFkB1wlYYYFV10+2vCytt7cXu3btqgG7YcMGLF++/BF/3Lx5E+Pj4zVgT548ibNnk5doR3bd/Gy+ksByVM28h2rHjh3Yv38/tm3bpuX60dFRHDlyBKdPn9bKL5mCKFA5YDNDAMq4efNmHD9+HFu3bjVS9dy5c9i7dy8uXrxoVE4ye1OgUsBqwUrpTpw4gd27d1upODQ0hD179liVlULOClQGWG1Y1QrAkiVLrNS7e/fuw4mZVQVSyEUBV2D5GoCse72CP+kyvh9rbs7thqK2NlfdXHw2r8u6rMUSVAKblYIDa0yfAJvls8J+7rIWyzNeRzV6FhRYo1BAGSvAarituFlsf9501mDZa75Cibu6rFIr46xgpRV8ILB69Worg65fv157wCApmgKhgd1Uf0+CVQfTjLOGlVYcOnQIBw4csDLo8OHDOHjwoFVZKeRFgZDAfgmAJxOsU5pxxnFr0oK1a9fi2LFj4MMDk8SHBvv27cPVq1dNiklevwrYAht8hYDdbGac0+iqtOvp6cHAwAC2b9+OlStXtpR0YmICw8PDGBwcxPnz5/3KL7WZKmAKLC/VOKWxnEU7nCZczYAdAvC2aQ/T8q9btw79/f3o6+vD+vXra3HtsmXLatknJyfBePXy5csYGxvDyMgIrlzhGyslRVbABFjCypGVF2roJKcJVzNg+e6ndp2WTfJwpxaBXbVq1SPA3rhxowYsd2xJKowCusDy3V5cGeBN3brJacLVCOyo5YuDdY0tXT7u3eW+3XmWsoDlFfIEVXdUVfI5T7gagXWaaFXNqQsXLgQnj9z+OM8SYUxLfJqV9eg1raxzOCDAtvAMgV2xYkUtzpbkRQHncCAJrJeVAS/dkkqqqMBg/XpO576peEXCAWcppYIUBZyXspL1Eli+dn2nyC0KeFSAb/jmNZx8k8xtj/XWHhzIDYM+FZW6vP38N5OSwEo4IJD5UICjKrcY/umjsrQ6BNiQ6s6fur2sserIJcDqqCR5WingdVKVJbUAm6XQ/Pic0JkmLoV6n1RlGSHAZilU/c+fAHCnLN0UYMviqTB2lgpWSiDAhgGhLLVmbXQpXD8E2MK5JN2g9vZ28I+HPGdnZ2v/OqSO+hq8QxX5FxVg89c8tUVuuOno6KhBSSAfPOD25P/T/fv3a//vAGwpAW0US4AtALAEdcGCBejs7Kz9ceTkPtxGYB1NLd3Pf7P+CrCOFPgoroDljTccYQlqgMueKwOsuu7dh/amdbS8X9a0MsnfVIHSrQS08mPsb528G8HwW6ZCB47CMzMzWaVjwMozgdxQFSTFBlZ1Km2UL/UIzAkSf+JV4k8+J082s3s1IWOMy3qmp6ezgI0BaxBIk5UWBdi0jjqt2wRXL6OBRmC7urrO8DrRubk54y9icgWB0PMvJVUS1Idf+thOzWg/ZnwdQhp1gI8nlJPH6Z8BsKhJg9MAfjF4I/prZXrMaiNw0UdYmz6VscynAHoaIGYcyGtwPixjh0LZ/B9ATR14VUc/wwAAAABJRU5ErkJggg==" id="284"/></item><item><costume name="MausRechts" center-x="69" center-y="43" image="data:image/png;base64,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" id="285"/></item></list></costumes><sounds><list struct="atomic" id="286"></list></sounds><blocks></blocks><variables></variables><scripts><script x="131.9230769230769" y="7.692307692307692"><block s="receiveGo"></block><block s="doSwitchToCostume"><l>MausRechts</l></block><block s="setScale"><l>12</l></block><block s="hide"></block><block s="doBroadcast"><l>LabyrinthFertig</l></block></script><script x="138.07692307692307" y="139.6153846153846"><block s="receiveMessage"><l>LabyrinthFertig</l></block><custom-block s="GeheZu - X: %s Y: %s"><l>2</l><l>2</l></custom-block><block s="doDeclareVariables"><list><l>SchritteMaus</l></list></block><block s="doSetVar"><l>SchritteMaus</l><l>0.5</l></block><block s="show"></block><block s="doForever"><script><block s="doIf"><block s="reportKeyPressed"><l><option>right arrow</option></l></block><script><block s="doSwitchToCostume"><l>MausRechts</l></block><block s="changeXPosition"><block var="SchritteMaus"/></block><block s="doIf"><block s="reportTouchingObject"><l><option>pen trails</option></l></block><script><block s="changeXPosition"><block s="reportProduct"><l>-1</l><block var="SchritteMaus"/></block></block></script></block></script></block><block s="doIf"><block s="reportKeyPressed"><l><option>left arrow</option></l></block><script><block s="doSwitchToCostume"><l>MausLinks</l></block><block s="changeXPosition"><block s="reportProduct"><l>-1</l><block var="SchritteMaus"/></block></block><block s="doIf"><block s="reportTouchingObject"><l><option>pen trails</option></l></block><script><block s="changeXPosition"><block s="reportProduct"><l>1</l><block var="SchritteMaus"/></block></block></script></block></script></block><block s="doIf"><block s="reportKeyPressed"><l><option>up arrow</option></l></block><script><block s="changeYPosition"><block var="SchritteMaus"/></block><block s="doIf"><block s="reportTouchingObject"><l><option>pen trails</option></l></block><script><block s="changeYPosition"><block s="reportProduct"><l>-1</l><block var="SchritteMaus"/></block></block></script></block></script></block><block s="doIf"><block s="reportKeyPressed"><l><option>down arrow</option></l></block><script><block s="changeYPosition"><block s="reportProduct"><l>-1</l><block var="SchritteMaus"/></block></block><block s="doIf"><block s="reportTouchingObject"><l><option>pen trails</option></l></block><script><block s="changeYPosition"><block s="reportProduct"><l>1</l><block var="SchritteMaus"/></block></block></script></block></script></block><block s="doIf"><block s="reportTouchingObject"><l>Objekt(3)</l></block><script><block s="bubble"><l>Cheeeeeeeese :D</l></block></script></block></script></block></script></scripts></sprite><sprite name="Objekt(3)" idx="4" x="225" y="-165" heading="90" scale="0.1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="155.54999999999998,0,65.33099999999997,1" pen="tip" id="408"><costumes><list id="409"><item><costume name="Unbenannt" center-x="80.5" center-y="77.5" image="data:image/png;base64,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" id="410"/></item></list></costumes><sounds><list struct="atomic" id="411"></list></sounds><blocks></blocks><variables></variables><scripts><script x="105.76923076923076" y="65.5641025641026"><block s="receiveGo"></block><block s="doSwitchToCostume"><l>Unbenannt</l></block><block s="setScale"><l>10</l></block><block s="hide"></block></script><script x="90.38461538461539" y="191.07692307692307"><block s="receiveMessage"><l>LabyrinthFertig</l></block><block s="doIfElse"><block s="reportEquals"><l>1</l><custom-block s="matrix item %n %n of %l"><block s="reportSum"><block s="reportQuotient"><block var="BühneBreite"/><block var="Gangbreite"/></block><l>1</l></block><block s="reportSum"><block s="reportQuotient"><block var="BühneHöhe"/><block var="Gangbreite"/></block><l>1</l></block><block var="Matrix1"/></custom-block></block><script><custom-block s="GeheZu - X: %s Y: %s"><block s="reportSum"><block s="reportQuotient"><block var="BühneBreite"/><block var="Gangbreite"/></block><l>1</l></block><block s="reportSum"><block s="reportQuotient"><block var="BühneHöhe"/><block var="Gangbreite"/></block><l>1</l></block></custom-block></script><script><custom-block s="GeheZu - X: %s Y: %s"><block s="reportSum"><block s="reportQuotient"><block var="BühneBreite"/><block var="Gangbreite"/></block><l>0</l></block><block s="reportSum"><block s="reportQuotient"><block var="BühneHöhe"/><block var="Gangbreite"/></block><l>1</l></block></custom-block></script></block><block s="show"></block></script></scripts></sprite><watcher var="Matrix2" style="normal" x="7.979166666666515" y="97.26604326250009" color="243,118,29" hidden="true"/><watcher var="Gangbreite" style="normal" x="7.979166666666515" y="266.42437340416694" color="243,118,29" hidden="true"/><watcher var="BühneHöhe" style="normal" x="7.979166666666515" y="266.4243734041669" color="243,118,29" hidden="true"/><watcher var="BühneBreite" style="normal" x="7.979166666666515" y="266.4243734041669" color="243,118,29" hidden="true"/><watcher var="LängeGeradeaus" style="normal" x="7.979166666666515" y="266.4243734041669" color="243,118,29" hidden="true"/><watcher var="WahrschAbzweig" style="normal" x="7.979166666666515" y="266.4243734041669" color="243,118,29" hidden="true"/><watcher var="Matrix1" style="normal" x="27.65912624378143" y="27.584096662873208" color="243,118,29" hidden="true"/><watcher scope="Objekt(2)" s="getScale" style="normal" x="10" y="10" color="143,86,227" hidden="true"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="table %&apos;pairs&apos;" type="reporter" category="lists"><comment x="0" y="0" w="90" collapsed="false">Returns a JS object where each pair of inputs is a key-value-pair</comment><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>...pairs</l></list><l>const f = function(){};&#xD;f.prototype.toString = function(){return JSON.stringify(this)};&#xD;const t = new f();&#xD;pairs.pop();&#xD;for (let i = 0; i &lt; pairs.length; i+=2) &#xD;    t[pairs[i]] = pairs[i + 1];&#xD;return t;</l></block><block var="pairs"/></block></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; by %&apos;step&apos; %&apos;do&apos;" type="command" category="control"><comment x="0" y="0" w="90" collapsed="false">For loop that has a step value</comment><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">10</input><input type="%n">1</input><input type="%ca"></input></inputs><script><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doIfElse"><block s="reportLessThan"><block var="step"/><l>0</l></block><script><block s="doUntil"><block s="reportLessThan"><block var="i"/><block var="end"/></block><script><block s="doRun"><block var="do"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></block></script><script><block s="doUntil"><block s="reportGreaterThan"><block var="i"/><block var="end"/></block><script><block s="doRun"><block var="do"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></block></script></block></script></block-definition><block-definition s="key %&apos;key&apos; of %&apos;table&apos;" type="reporter" category="lists"><comment x="0" y="0" w="90" collapsed="false">Retrieve a value from a JS object at a specific key</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>a, b</l></list><l>return a[b];</l></block><list><block var="table"/><block var="key"/></list></block></block></script></block-definition><block-definition s="tonumber %&apos;val&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Casts to a number</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportSum"><block var="val"/><l>0</l></block></block></script></block-definition><block-definition s="tostring %&apos;val&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Casts to a string</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><block var="val"/></list></block></block></script></block-definition><block-definition s="JS $typeof %&apos;val&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Uses the typeof function from JS</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>val</l></list><l>return typeof(val);</l></block><list><block var="val"/></list></block></block></script></block-definition><block-definition s="set %&apos;key&apos; of %&apos;table&apos; to %&apos;value&apos;" type="command" category="lists"><comment x="0" y="0" w="90" collapsed="false">Assign a value to a key in a JS object</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>t, k, v</l></list><l>t[k] = v</l></block><list><block var="table"/><block var="key"/><block var="value"/></list></block></script></block-definition><block-definition s="for %&apos;key&apos; %&apos;value&apos; in pairs %&apos;table&apos; %&apos;do&apos;" type="command" category="lists"><comment x="0" y="0" w="90" collapsed="false">Iterate through the key-value-pairs of a JS object</comment><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%upvar"></input><input type="%l"></input><input type="%ca"></input></inputs><script><block s="doForEach"><l>item</l><block s="evaluate"><block s="reportJSFunction"><list><l>t</l></list><l>return new List(Object.keys(t));</l></block><list><block var="table"/></list></block><script><block s="doSetVar"><l>key</l><block var="item"/></block><block s="doSetVar"><l>value</l><custom-block s="key %s of %l"><block var="item"/><block var="table"/></custom-block></block><block s="doRun"><block var="do"/><list></list></block></script></block></script></block-definition><block-definition s="array %&apos;items&apos;" type="reporter" category="lists"><comment x="0" y="0" w="90" collapsed="false">Creates a JS array from inputs</comment><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>...r</l></list><l>r.pop(); return r;</l></block><block var="items"/></block></block></script></block-definition><block-definition s="matrix %&apos;rows&apos; x %&apos;cols&apos; with: %&apos;style&apos;" type="reporter" category="lists"><comment x="0" y="0" w="90" collapsed="false">Create an N x N matrix with a specific fill mode</comment><header></header><code></code><translations></translations><inputs><input type="%n">3</input><input type="%n">3</input><input type="%n">0<options>identity</options></input></inputs><script><block s="doDeclareVariables"><list><l>temp</l></list></block><block s="doSetVar"><l>temp</l><block s="reportNewList"><list></list></block></block><block s="doIfElse"><block s="reportEquals"><block var="style"/><l>identity</l></block><script><block s="doFor"><l>i</l><l>1</l><block var="rows"/><script><block s="doAddToList"><block s="reportNewList"><list></list></block><block var="temp"/></block><block s="doFor"><l>j</l><l>1</l><block var="cols"/><script><block s="doAddToList"><custom-block s="tonumber %s"><block s="reportEquals"><block var="j"/><block var="i"/></block></custom-block><block s="reportListItem"><block var="i"/><block var="temp"/></block></block></script></block></script></block></script><script><block s="doFor"><l>i</l><l>1</l><block var="rows"/><script><block s="doAddToList"><block s="reportNewList"><list></list></block><block var="temp"/></block><block s="doFor"><l>j</l><l>1</l><block var="cols"/><script><block s="doAddToList"><block var="style"/><block s="reportListItem"><block var="i"/><block var="temp"/></block></block></script></block></script></block></script></block><block s="doReport"><block var="temp"/></block></script></block-definition><block-definition s="matrix %&apos;A&apos; ∙ %&apos;B&apos;" type="reporter" category="lists"><comment x="0" y="0" w="90" collapsed="false">Perform a matrix multiplication</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="%s ≠ %s"><custom-block s="#columns of %l"><block var="A"/></custom-block><custom-block s="#rows of %l"><block var="B"/></custom-block></custom-block><script><custom-block s="throw %mlt"><l>Invalid matrix multiplication</l></custom-block></script></block><block s="doDeclareVariables"><list><l>result</l><l>sum</l></list></block><block s="doSetVar"><l>result</l><custom-block s="matrix %n x %n with: %n"><custom-block s="#rows of %l"><block var="A"/></custom-block><custom-block s="#columns of %l"><block var="B"/></custom-block><l>0</l></custom-block></block><block s="doFor"><l>i</l><l>1</l><custom-block s="#rows of %l"><block var="A"/></custom-block><script><block s="doFor"><l>j</l><l>1</l><custom-block s="#columns of %l"><block var="B"/></custom-block><script><block s="doSetVar"><l>sum</l><l>0</l></block><block s="doFor"><l>k</l><l>1</l><custom-block s="#columns of %l"><block var="A"/></custom-block><script><block s="doChangeVar"><l>sum</l><block s="reportProduct"><custom-block s="matrix item %n %n of %l"><block var="i"/><block var="k"/><block var="A"/></custom-block><custom-block s="matrix item %n %n of %l"><block var="k"/><block var="j"/><block var="B"/></custom-block></block></block></script></block><custom-block s="matrix replace item %n %n of %l with %n"><block var="i"/><block var="j"/><block var="result"/><block var="sum"/></custom-block></script></block></script></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="throw %&apos;message&apos;" type="command" category="control"><comment x="0" y="0" w="90" collapsed="false">Throw an error to blocks</comment><header></header><code></code><translations></translations><inputs><input type="%mlt">An error has occurred</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>name</l></list><l>throw new Error(name)</l></block><list><block var="message"/></list></block></script></block-definition><block-definition s="%&apos;a&apos; ≤ %&apos;b&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportNot"><block s="reportGreaterThan"><block var="a"/><block var="b"/></block></block></block></script></block-definition><block-definition s="%&apos;a&apos; ≠ %&apos;b&apos;" type="predicate" category="operators"><comment x="0" y="0" w="90" collapsed="false">Not equal to</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportNot"><block s="reportEquals"><block var="a"/><block var="b"/></block></block></block></script></block-definition><block-definition s="%&apos;a&apos; ≥ %&apos;b&apos;" type="predicate" category="operators"><comment x="0" y="0" w="90" collapsed="false">Greater than or equal to</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportNot"><block s="reportLessThan"><block var="a"/><block var="b"/></block></block></block></script></block-definition><block-definition s="#rows of %&apos;matrix&apos;" type="reporter" category="lists"><comment x="0" y="0" w="90" collapsed="false">Get the amount of rows in a matrix</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>length</option></l><block var="matrix"/></block></block></script></block-definition><block-definition s="#columns of %&apos;matrix&apos;" type="reporter" category="lists"><comment x="0" y="0" w="90" collapsed="false">Get the amount of columns in a matrix</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="matrix"/></block></block></block></script></block-definition><block-definition s="matrix item %&apos;row&apos; %&apos;col&apos; of %&apos;matrix&apos;" type="reporter" category="lists"><comment x="0" y="0" w="90" collapsed="false">Index a matrix at a given row and column</comment><header></header><code></code><translations></translations><inputs><input type="%n">1<options>last</options></input><input type="%n">1<options>last</options></input><input type="%l"></input></inputs><script><block s="doIf"><block s="reportEquals"><block var="row"/><l>last</l></block><script><block s="doSetVar"><l>row</l><custom-block s="#rows of %l"><block var="matrix"/></custom-block></block></script></block><block s="doIf"><block s="reportEquals"><block var="col"/><l>last</l></block><script><block s="doSetVar"><l>col</l><custom-block s="#columns of %l"><block var="matrix"/></custom-block></block></script></block><block s="doReport"><block s="reportListItem"><block var="col"/><block s="reportListItem"><block var="row"/><block var="matrix"/></block></block></block></script></block-definition><block-definition s="matrix replace item %&apos;row&apos; %&apos;col&apos; of %&apos;matrix&apos; with %&apos;value&apos;" type="command" category="lists"><comment x="0" y="0" w="90" collapsed="false">Replace the value at a given row and column for a matrix</comment><header></header><code></code><translations></translations><inputs><input type="%n">1<options>last</options></input><input type="%n">1<options>last</options></input><input type="%l"></input><input type="%n">0</input></inputs><script><block s="doIf"><block s="reportEquals"><block var="row"/><l>last</l></block><script><block s="doSetVar"><l>row</l><custom-block s="#rows of %l"><block var="matrix"/></custom-block></block></script></block><block s="doIf"><block s="reportEquals"><block var="col"/><l>last</l></block><script><block s="doSetVar"><l>col</l><custom-block s="#columns of %l"><block var="matrix"/></custom-block></block></script></block><block s="doReplaceInList"><block var="col"/><block s="reportListItem"><block var="row"/><block var="matrix"/></block><block var="value"/></block></script></block-definition><block-definition s="vector %&apos;vals&apos;" type="reporter" category="lists"><comment x="0" y="0" w="90" collapsed="false">Generate a vector</comment><header></header><code></code><translations></translations><inputs><input type="%mult%n"></input></inputs><script><block s="doDeclareVariables"><list><l>new</l></list></block><block s="doSetVar"><l>new</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>value</l><block var="vals"/><script><block s="doAddToList"><block s="reportNewList"><list><block var="value"/></list></block><block var="new"/></block></script></block><block s="doReport"><block var="new"/></block></script></block-definition><block-definition s="row %&apos;items&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%mult%n"></input></inputs><script><block s="doReport"><block var="items"/></block></script></block-definition><block-definition s="matrix from %&apos;rows&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%mult%l"></input></inputs><script><block s="doReport"><block var="rows"/></block></script></block-definition><block-definition s="cframe x: %&apos;x&apos; y: %&apos;y&apos; z: %&apos;z&apos;" type="reporter" category="motion"><comment x="0" y="0" w="90" collapsed="false">Create a new CFrame&#xD;CFrames are composed of a rotation matrix and a positional vector joined into one 4x4 matrix</comment><header></header><code></code><translations></translations><inputs><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input></inputs><script><block s="doDeclareVariables"><list><l>new</l></list></block><block s="doSetVar"><l>new</l><custom-block s="matrix %n x %n with: %n"><l>4</l><l>4</l><l>identity</l></custom-block></block><custom-block s="matrix replace item %n %n of %l with %n"><l>1</l><l>last</l><block var="new"/><block var="x"/></custom-block><custom-block s="matrix replace item %n %n of %l with %n"><l>2</l><l>last</l><block var="new"/><block var="y"/></custom-block><custom-block s="matrix replace item %n %n of %l with %n"><l>3</l><l>last</l><block var="new"/><block var="z"/></custom-block><block s="doReport"><block var="new"/></block></script></block-definition><block-definition s="%&apos;mode&apos; rotation %&apos;amount&apos;" type="reporter" category="motion"><comment x="0" y="0" w="90" collapsed="false">Returns a CFrame representing a rotation about the axis</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">x<options>x&#xD;y&#xD;z</options></input><input type="%n">0<options>§_directionDialMenu</options></input></inputs><script><block s="doIfElse"><block s="reportEquals"><block var="mode"/><l>x</l></block><script><block s="doReport"><custom-block s="rotation matrix %br %n %n %n %br %n %n %n %br %n %n %n"><l>1</l><l>0</l><l>0</l><l>0</l><custom-block s="cos %n"><block var="amount"/></custom-block><custom-block s="- %n"><custom-block s="sin %n"><block var="amount"/></custom-block></custom-block><l>0</l><custom-block s="sin %n"><block var="amount"/></custom-block><custom-block s="cos %n"><block var="amount"/></custom-block></custom-block></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="mode"/><l>y</l></block><script><block s="doReport"><custom-block s="rotation matrix %br %n %n %n %br %n %n %n %br %n %n %n"><custom-block s="cos %n"><block var="amount"/></custom-block><l>0</l><custom-block s="sin %n"><block var="amount"/></custom-block><l>0</l><l>1</l><l>0</l><custom-block s="- %n"><custom-block s="sin %n"><block var="amount"/></custom-block></custom-block><l>0</l><custom-block s="cos %n"><block var="amount"/></custom-block></custom-block></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="mode"/><l>z</l></block><script><block s="doReport"><custom-block s="rotation matrix %br %n %n %n %br %n %n %n %br %n %n %n"><custom-block s="cos %n"><block var="amount"/></custom-block><custom-block s="- %n"><custom-block s="sin %n"><block var="amount"/></custom-block></custom-block><l>0</l><custom-block s="sin %n"><block var="amount"/></custom-block><custom-block s="cos %n"><block var="amount"/></custom-block><l>0</l><l>0</l><l>0</l><l>1</l></custom-block></block></script><script><block s="doReport"><l></l></block></script></block></script></block></script></block></script></block-definition><block-definition s="rotation matrix $nl %&apos;r11&apos; %&apos;r12&apos; %&apos;r13&apos; $nl %&apos;r21&apos; %&apos;r22&apos; %&apos;r23&apos; $nl %&apos;r31&apos; %&apos;r32&apos; %&apos;r33&apos;" type="reporter" category="motion"><comment x="0" y="0" w="90" collapsed="false">Construct a CFrame using the rotation matrix</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input><input type="%n">1</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input><input type="%n">1</input></inputs><script><block s="doReport"><custom-block s="cframe %br %n %n %n %n %br %n %n %n %n %br %n %n %n %n"><block var="r11"/><block var="r12"/><block var="r13"/><l>0</l><block var="r21"/><block var="r22"/><block var="r23"/><l>0</l><block var="r31"/><block var="r32"/><block var="r33"/><l>0</l></custom-block></block></script></block-definition><block-definition s="- %&apos;num&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Negates a value</comment><header></header><code></code><translations></translations><inputs><input type="%n">0</input></inputs><script><block s="doReport"><block s="reportDifference"><l>0</l><block var="num"/></block></block></script></block-definition><block-definition s="cos %&apos;rot&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Alias for reportMonadic with cos</comment><header></header><code></code><translations></translations><inputs><input type="%n">0<options>§_directionDialMenu</options></input></inputs><script><block s="doReport"><block s="reportMonadic"><l><option>cos</option></l><block var="rot"/></block></block></script></block-definition><block-definition s="sin %&apos;rot&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Alias for reportMonadic with sin</comment><header></header><code></code><translations></translations><inputs><input type="%n">0<options>§_directionDialMenu</options></input></inputs><script><block s="doReport"><block s="reportMonadic"><l><option>sin</option></l><block var="rot"/></block></block></script></block-definition><block-definition s="vector x: %&apos;x&apos; y: %&apos;y&apos; z: %&apos;z&apos;" type="reporter" category="motion"><comment x="0" y="0" w="90" collapsed="false">3D Vector</comment><header></header><code></code><translations></translations><inputs><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input></inputs><script><block s="doReport"><block s="reportNewList"><list><block var="x"/><block var="y"/><block var="z"/></list></block></block></script></block-definition><block-definition s="%&apos;item&apos; of vector %&apos;vector&apos;" type="reporter" category="motion"><comment x="0" y="0" w="90" collapsed="false">Perform a unary operation on a vector</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">x<options>x&#xD;y&#xD;z&#xD;length (magnitude)=length&#xD;normalized&#xD;- (negate)=-</options></input><input type="%l"></input></inputs><script><block s="doIfElse"><block s="reportEquals"><block var="item"/><l>x</l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="vector"/></block></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="item"/><l>y</l></block><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="vector"/></block></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="item"/><l>z</l></block><script><block s="doReport"><block s="reportListItem"><l>3</l><block var="vector"/></block></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="item"/><l>length</l></block><script><block s="doReport"><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportSum"><block s="reportSum"><block s="reportPower"><block s="reportListItem"><l>1</l><block var="vector"/></block><l>2</l></block><block s="reportPower"><block s="reportListItem"><l>2</l><block var="vector"/></block><l>2</l></block></block><block s="reportPower"><block s="reportListItem"><l>3</l><block var="vector"/></block><l>2</l></block></block></block></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="item"/><l>normalized</l></block><script><block s="doDeclareVariables"><list><l>len</l></list></block><block s="doSetVar"><l>len</l><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportSum"><block s="reportSum"><block s="reportPower"><block s="reportListItem"><l>1</l><block var="vector"/></block><l>2</l></block><block s="reportPower"><block s="reportListItem"><l>2</l><block var="vector"/></block><l>2</l></block></block><block s="reportPower"><block s="reportListItem"><l>3</l><block var="vector"/></block><l>2</l></block></block></block></block><block s="doReport"><custom-block s="vector x: %n y: %n z: %n"><block s="reportQuotient"><block s="reportListItem"><l>1</l><block var="vector"/></block><block var="len"/></block><block s="reportQuotient"><block s="reportListItem"><l>2</l><block var="vector"/></block><block var="len"/></block><block s="reportQuotient"><block s="reportListItem"><l>3</l><block var="vector"/></block><block var="len"/></block></custom-block></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="item"/><l>-</l></block><script><block s="doReport"><custom-block s="vector x: %n y: %n z: %n"><custom-block s="- %n"><block s="reportListItem"><l>1</l><block var="vector"/></block></custom-block><custom-block s="- %n"><block s="reportListItem"><l>2</l><block var="vector"/></block></custom-block><custom-block s="- %n"><block s="reportListItem"><l>3</l><block var="vector"/></block></custom-block></custom-block></block></script><script><block s="doReport"><l></l></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block-definition><block-definition s="set %&apos;item&apos; of vector %&apos;vector&apos; to %&apos;value&apos;" type="command" category="motion"><comment x="0" y="0" w="90" collapsed="false">Set a data member of a vector</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">x<options>x&#xD;y&#xD;z</options></input><input type="%l"></input><input type="%n">0</input></inputs><script><block s="doIfElse"><block s="reportEquals"><block var="item"/><l>x</l></block><script><block s="doReplaceInList"><l>1</l><block var="vector"/><block var="value"/></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="item"/><l>y</l></block><script><block s="doReplaceInList"><l>2</l><block var="vector"/><block var="value"/></block></script><script><block s="doIf"><block s="reportEquals"><block var="item"/><l>z</l></block><script><block s="doReplaceInList"><l>3</l><block var="vector"/><block var="value"/></block></script></block></script></block></script></block></script></block-definition><block-definition s="cframe vector: %&apos;vector&apos;" type="reporter" category="motion"><comment x="0" y="0" w="90" collapsed="false">Make a CFrame from a vector</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="cframe x: %n y: %n z: %n"><block s="reportListItem"><l>1</l><block var="vector"/></block><block s="reportListItem"><l>2</l><block var="vector"/></block><block s="reportListItem"><l>3</l><block var="vector"/></block></custom-block></block></script></block-definition><block-definition s="%&apos;item&apos; of cframe %&apos;cframe&apos;" type="reporter" category="motion"><comment x="0" y="0" w="90" collapsed="false">Get a data member from a CFrame</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">forward<options>right&#xD;up&#xD;forward&#xD;position&#xD;x&#xD;y&#xD;z</options></input><input type="%l"></input></inputs><script><block s="doIfElse"><block s="reportEquals"><block var="item"/><l>right</l></block><script><block s="doReport"><custom-block s="vector x: %n y: %n z: %n"><custom-block s="matrix item %n %n of %l"><l>1</l><l>1</l><block var="cframe"/></custom-block><custom-block s="matrix item %n %n of %l"><l>2</l><l>1</l><block var="cframe"/></custom-block><custom-block s="matrix item %n %n of %l"><l>3</l><l>1</l><block var="cframe"/></custom-block></custom-block></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="item"/><l>up</l></block><script><block s="doReport"><custom-block s="vector x: %n y: %n z: %n"><custom-block s="matrix item %n %n of %l"><l>1</l><l>2</l><block var="cframe"/></custom-block><custom-block s="matrix item %n %n of %l"><l>2</l><l>2</l><block var="cframe"/></custom-block><custom-block s="matrix item %n %n of %l"><l>3</l><l>2</l><block var="cframe"/></custom-block></custom-block></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="item"/><l>forward</l></block><script><block s="doReport"><custom-block s="vector x: %n y: %n z: %n"><custom-block s="- %n"><custom-block s="matrix item %n %n of %l"><l>1</l><l>3</l><block var="cframe"/></custom-block></custom-block><custom-block s="- %n"><custom-block s="matrix item %n %n of %l"><l>2</l><l>3</l><block var="cframe"/></custom-block></custom-block><custom-block s="- %n"><custom-block s="matrix item %n %n of %l"><l>3</l><l>3</l><block var="cframe"/></custom-block></custom-block></custom-block></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="item"/><l>position</l></block><script><block s="doReport"><custom-block s="vector x: %n y: %n z: %n"><custom-block s="matrix item %n %n of %l"><l>1</l><l>4</l><block var="cframe"/></custom-block><custom-block s="matrix item %n %n of %l"><l>2</l><l>4</l><block var="cframe"/></custom-block><custom-block s="matrix item %n %n of %l"><l>3</l><l>4</l><block var="cframe"/></custom-block></custom-block></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="item"/><l>x</l></block><script><block s="doReport"><custom-block s="matrix item %n %n of %l"><l>1</l><l>4</l><block var="cframe"/></custom-block></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="item"/><l>y</l></block><script><block s="doReport"><custom-block s="matrix item %n %n of %l"><l>2</l><l>4</l><block var="cframe"/></custom-block></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="item"/><l>z</l></block><script><block s="doReport"><custom-block s="matrix item %n %n of %l"><l>3</l><l>4</l><block var="cframe"/></custom-block></block></script><script><block s="doReport"><l></l></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block-definition><block-definition s="translate cframe %&apos;cframe&apos; by vector %&apos;vector&apos; global: %&apos;space&apos;" type="reporter" category="motion"><comment x="0" y="0" w="90" collapsed="false">Translate a CFrame by a vector in either global or local space</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>temp</l></list></block><block s="doSetVar"><l>temp</l><custom-block s="matrix copy %l"><block var="cframe"/></custom-block></block><block s="doIfElse"><block var="space"/><script><custom-block s="change position of cframe %l by vector %l"><block var="temp"/><block var="vector"/></custom-block></script><script><custom-block s="set position of cframe %l to vector %l"><block var="temp"/><custom-block s="cframe %l ∙ vector %l"><block var="cframe"/><block var="vector"/></custom-block></custom-block></script></block><block s="doReport"><block var="temp"/></block></script></block-definition><block-definition s="cframe %&apos;cframe&apos; ∙ vector %&apos;vector&apos;" type="reporter" category="motion"><comment x="0" y="0" w="90" collapsed="false">Transform a vector relative to CFrame into world space</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>new</l><l>sum</l></list></block><block s="doSetVar"><l>new</l><custom-block s="vector x: %n y: %n z: %n"><l>0</l><l>0</l><l>0</l></custom-block></block><block s="doFor"><l>i</l><l>1</l><l>3</l><script><block s="doSetVar"><l>sum</l><l>0</l></block><block s="doFor"><l>j</l><l>1</l><l>3</l><script><block s="doChangeVar"><l>sum</l><block s="reportProduct"><custom-block s="matrix item %n %n of %l"><block var="i"/><block var="j"/><block var="cframe"/></custom-block><block s="reportListItem"><block var="j"/><block var="vector"/></block></block></block></script></block><block s="doReplaceInList"><block var="i"/><block var="new"/><block s="reportSum"><block var="sum"/><custom-block s="matrix item %n %n of %l"><block var="i"/><l>last</l><block var="cframe"/></custom-block></block></block></script></block><block s="doReport"><block var="new"/></block></script></block-definition><block-definition s="matrix copy %&apos;matrix&apos;" type="reporter" category="lists"><comment x="0" y="0" w="90" collapsed="false">Create a duplicate matrix</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>copy</l></list></block><block s="doSetVar"><l>copy</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>row</l><block var="matrix"/><script><block s="doAddToList"><custom-block s="list copy %l"><block var="row"/></custom-block><block var="copy"/></block></script></block><block s="doReport"><block var="copy"/></block></script></block-definition><block-definition s="matrix change item %&apos;row&apos; %&apos;col&apos; of %&apos;matrix&apos; by %&apos;value&apos;" type="command" category="lists"><comment x="0" y="0" w="90" collapsed="false">Increment or decrement an existing value from a matrix</comment><header></header><code></code><translations></translations><inputs><input type="%n">1<options>last</options></input><input type="%n">1<options>last</options></input><input type="%l"></input><input type="%n">0</input></inputs><script><custom-block s="matrix replace item %n %n of %l with %n"><block var="row"/><block var="col"/><block var="matrix"/><block s="reportSum"><custom-block s="matrix item %n %n of %l"><block var="row"/><block var="col"/><block var="matrix"/></custom-block><block var="value"/></block></custom-block></script></block-definition><block-definition s="vector %&apos;vec1&apos; %&apos;mode&apos; vector %&apos;vec2&apos;" type="reporter" category="motion"><comment x="0" y="0" w="90" collapsed="false">Perform a binary vector operation</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%code" readonly="true">∙<options>∙ (dot product)=∙&#xD;× (cross product)=×&#xD;* (multiply)=*&#xD;÷ (divide)=÷&#xD;+ (add)=+&#xD;- (subtract)=-</options></input><input type="%l"></input></inputs><script><block s="doIfElse"><block s="reportEquals"><block var="mode"/><l>∙</l></block><script><block s="doReport"><block s="reportSum"><block s="reportSum"><block s="reportProduct"><custom-block s="%txt of vector %l"><l>x</l><block var="vec1"/></custom-block><custom-block s="%txt of vector %l"><l>x</l><block var="vec2"/></custom-block></block><block s="reportProduct"><custom-block s="%txt of vector %l"><l>y</l><block var="vec1"/></custom-block><custom-block s="%txt of vector %l"><l>y</l><block var="vec2"/></custom-block></block></block><block s="reportProduct"><custom-block s="%txt of vector %l"><l>z</l><block var="vec1"/></custom-block><custom-block s="%txt of vector %l"><l>z</l><block var="vec2"/></custom-block></block></block></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="mode"/><l>×</l></block><script><block s="doReport"><custom-block s="vector x: %n y: %n z: %n"><block s="reportDifference"><block s="reportProduct"><custom-block s="%txt of vector %l"><l>y</l><block var="vec1"/></custom-block><custom-block s="%txt of vector %l"><l>z</l><block var="vec2"/></custom-block></block><block s="reportProduct"><custom-block s="%txt of vector %l"><l>z</l><block var="vec1"/></custom-block><custom-block s="%txt of vector %l"><l>y</l><block var="vec2"/></custom-block></block></block><block s="reportDifference"><block s="reportProduct"><custom-block s="%txt of vector %l"><l>z</l><block var="vec1"/></custom-block><custom-block s="%txt of vector %l"><l>x</l><block var="vec2"/></custom-block></block><block s="reportProduct"><custom-block s="%txt of vector %l"><l>x</l><block var="vec1"/></custom-block><custom-block s="%txt of vector %l"><l>z</l><block var="vec2"/></custom-block></block></block><block s="reportDifference"><block s="reportProduct"><custom-block s="%txt of vector %l"><l>x</l><block var="vec1"/></custom-block><custom-block s="%txt of vector %l"><l>y</l><block var="vec2"/></custom-block></block><block s="reportProduct"><custom-block s="%txt of vector %l"><l>y</l><block var="vec1"/></custom-block><custom-block s="%txt of vector %l"><l>x</l><block var="vec2"/></custom-block></block></block></custom-block></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="mode"/><l>*</l></block><script><block s="doReport"><custom-block s="vector x: %n y: %n z: %n"><block s="reportProduct"><custom-block s="%txt of vector %l"><l>x</l><block var="vec1"/></custom-block><custom-block s="%txt of vector %l"><l>x</l><block var="vec2"/></custom-block></block><block s="reportProduct"><custom-block s="%txt of vector %l"><l>y</l><block var="vec1"/></custom-block><custom-block s="%txt of vector %l"><l>y</l><block var="vec2"/></custom-block></block><block s="reportProduct"><custom-block s="%txt of vector %l"><l>z</l><block var="vec1"/></custom-block><custom-block s="%txt of vector %l"><l>z</l><block var="vec2"/></custom-block></block></custom-block></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="mode"/><l>÷</l></block><script><block s="doReport"><custom-block s="vector x: %n y: %n z: %n"><block s="reportQuotient"><custom-block s="%txt of vector %l"><l>x</l><block var="vec1"/></custom-block><custom-block s="%txt of vector %l"><l>x</l><block var="vec2"/></custom-block></block><block s="reportQuotient"><custom-block s="%txt of vector %l"><l>y</l><block var="vec1"/></custom-block><custom-block s="%txt of vector %l"><l>y</l><block var="vec2"/></custom-block></block><block s="reportQuotient"><custom-block s="%txt of vector %l"><l>z</l><block var="vec1"/></custom-block><custom-block s="%txt of vector %l"><l>z</l><block var="vec2"/></custom-block></block></custom-block></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="mode"/><l>+</l></block><script><block s="doReport"><custom-block s="vector x: %n y: %n z: %n"><block s="reportSum"><custom-block s="%txt of vector %l"><l>x</l><block var="vec1"/></custom-block><custom-block s="%txt of vector %l"><l>x</l><block var="vec2"/></custom-block></block><block s="reportSum"><custom-block s="%txt of vector %l"><l>y</l><block var="vec1"/></custom-block><custom-block s="%txt of vector %l"><l>y</l><block var="vec2"/></custom-block></block><block s="reportSum"><custom-block s="%txt of vector %l"><l>z</l><block var="vec1"/></custom-block><custom-block s="%txt of vector %l"><l>z</l><block var="vec2"/></custom-block></block></custom-block></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="mode"/><l>-</l></block><script><block s="doReport"><custom-block s="vector x: %n y: %n z: %n"><block s="reportDifference"><custom-block s="%txt of vector %l"><l>x</l><block var="vec1"/></custom-block><custom-block s="%txt of vector %l"><l>x</l><block var="vec2"/></custom-block></block><block s="reportDifference"><custom-block s="%txt of vector %l"><l>y</l><block var="vec1"/></custom-block><custom-block s="%txt of vector %l"><l>y</l><block var="vec2"/></custom-block></block><block s="reportDifference"><custom-block s="%txt of vector %l"><l>z</l><block var="vec1"/></custom-block><custom-block s="%txt of vector %l"><l>z</l><block var="vec2"/></custom-block></block></custom-block></block></script><script><block s="doReport"><l></l></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block-definition><block-definition s="cframe from: %&apos;a&apos; to: %&apos;b&apos;" type="reporter" category="motion"><comment x="0" y="0" w="90" collapsed="false">Generate a CFrame from A pointing towards B</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>right</l><l>dir</l><l>up</l></list></block><block s="doSetVar"><l>dir</l><custom-block s="%txt of vector %l"><l>normalized</l><custom-block s="vector %l %code vector %l"><block var="b"/><l>-</l><block var="a"/></custom-block></custom-block></block><block s="doSetVar"><l>right</l><custom-block s="%txt of vector %l"><l>normalized</l><custom-block s="vector %l %code vector %l"><custom-block s="vector x: %n y: %n z: %n"><l>0</l><l>1</l><l>0</l></custom-block><l>×</l><block var="dir"/></custom-block></custom-block></block><block s="doSetVar"><l>up</l><custom-block s="%txt of vector %l"><l>normalized</l><custom-block s="vector %l %code vector %l"><block var="dir"/><l>×</l><block var="right"/></custom-block></custom-block></block><block s="doReport"><custom-block s="cframe %br %n %n %n %n %br %n %n %n %n %br %n %n %n %n"><custom-block s="%txt of vector %l"><l>x</l><block var="right"/></custom-block><custom-block s="%txt of vector %l"><l>x</l><block var="up"/></custom-block><custom-block s="%txt of vector %l"><l>x</l><block var="dir"/></custom-block><custom-block s="%txt of vector %l"><l>x</l><block var="a"/></custom-block><custom-block s="%txt of vector %l"><l>y</l><block var="right"/></custom-block><custom-block s="%txt of vector %l"><l>y</l><block var="up"/></custom-block><custom-block s="%txt of vector %l"><l>y</l><block var="dir"/></custom-block><custom-block s="%txt of vector %l"><l>y</l><block var="a"/></custom-block><custom-block s="%txt of vector %l"><l>z</l><block var="right"/></custom-block><custom-block s="%txt of vector %l"><l>z</l><block var="up"/></custom-block><custom-block s="%txt of vector %l"><l>z</l><block var="dir"/></custom-block><custom-block s="%txt of vector %l"><l>z</l><block var="a"/></custom-block></custom-block></block></script></block-definition><block-definition s="set position of cframe %&apos;cframe&apos; to vector %&apos;vector&apos;" type="command" category="motion"><comment x="0" y="0" w="90" collapsed="false">Move a CFrame to a vector coordinate</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><custom-block s="matrix replace item %n %n of %l with %n"><l>1</l><l>last</l><block var="cframe"/><custom-block s="%txt of vector %l"><l>x</l><block var="vector"/></custom-block></custom-block><custom-block s="matrix replace item %n %n of %l with %n"><l>2</l><l>last</l><block var="cframe"/><custom-block s="%txt of vector %l"><l>y</l><block var="vector"/></custom-block></custom-block><custom-block s="matrix replace item %n %n of %l with %n"><l>3</l><l>last</l><block var="cframe"/><custom-block s="%txt of vector %l"><l>z</l><block var="vector"/></custom-block></custom-block></script></block-definition><block-definition s="change position of cframe %&apos;cframe&apos; by vector %&apos;vector&apos;" type="command" category="motion"><comment x="0" y="0" w="90" collapsed="false">Shift a CFrame globally by a vector</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><custom-block s="matrix change item %n %n of %l by %n"><l>1</l><l>last</l><block var="cframe"/><custom-block s="%txt of vector %l"><l>x</l><block var="vector"/></custom-block></custom-block><custom-block s="matrix change item %n %n of %l by %n"><l>2</l><l>last</l><block var="cframe"/><custom-block s="%txt of vector %l"><l>y</l><block var="vector"/></custom-block></custom-block><custom-block s="matrix change item %n %n of %l by %n"><l>3</l><l>last</l><block var="cframe"/><custom-block s="%txt of vector %l"><l>z</l><block var="vector"/></custom-block></custom-block></script></block-definition><block-definition s="transform cframe %&apos;a&apos; by cframe %&apos;b&apos;" type="reporter" category="motion"><comment x="0" y="0" w="90" collapsed="false">Matrix multiplication, optimized for CFrames</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>copy</l><l>sum</l></list></block><block s="doSetVar"><l>copy</l><custom-block s="matrix %n x %n with: %n"><l>4</l><l>4</l><l>identity</l></custom-block></block><block s="doFor"><l>i</l><l>1</l><l>3</l><script><block s="doFor"><l>j</l><l>1</l><l>4</l><script><block s="doSetVar"><l>sum</l><l>0</l></block><block s="doFor"><l>k</l><l>1</l><l>4</l><script><block s="doChangeVar"><l>sum</l><block s="reportProduct"><custom-block s="matrix item %n %n of %l"><block var="i"/><block var="k"/><block var="a"/></custom-block><custom-block s="matrix item %n %n of %l"><block var="k"/><block var="j"/><block var="b"/></custom-block></block></block></script></block><custom-block s="matrix replace item %n %n of %l with %n"><block var="i"/><block var="j"/><block var="copy"/><block var="sum"/></custom-block></script></block></script></block><block s="doReport"><block var="copy"/></block></script></block-definition><block-definition s="invert cframe %&apos;cframe&apos;" type="reporter" category="motion"><comment x="0" y="0" w="90" collapsed="false">Matrix inversion, optimized for CFrames&#xD;This can be used to convert from World to Object space instead of Object to World</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>solve</l><l>divisor</l><l>using</l></list></block><block s="doSetVar"><l>solve</l><custom-block s="matrix concat %l and %l"><block var="cframe"/><custom-block s="matrix %n x %n with: %n"><l>4</l><l>4</l><l>identity</l></custom-block></custom-block></block><block s="doFor"><l>i</l><l>1</l><l>4</l><script><block s="doSetVar"><l>using</l><custom-block s="pickRow %n %l"><block var="i"/><block var="solve"/></custom-block></block><block s="doSetVar"><l>divisor</l><custom-block s="matrix item %n %n of %l"><block var="using"/><block var="i"/><block var="solve"/></custom-block></block><block s="doFor"><l>k</l><l>1</l><l>8</l><script><custom-block s="matrix replace item %n %n of %l with %n"><block var="using"/><block var="k"/><block var="solve"/><block s="reportQuotient"><custom-block s="matrix item %n %n of %l"><block var="using"/><block var="k"/><block var="solve"/></custom-block><block var="divisor"/></block></custom-block></script></block><block s="doFor"><l>j</l><l>1</l><l>4</l><script><block s="doIf"><custom-block s="%s ≠ %s"><block var="j"/><block var="using"/></custom-block><script><block s="doSetVar"><l>divisor</l><custom-block s="- %n"><custom-block s="matrix item %n %n of %l"><block var="j"/><block var="i"/><block var="solve"/></custom-block></custom-block></block><block s="doFor"><l>k</l><block var="i"/><l>8</l><script><custom-block s="matrix change item %n %n of %l by %n"><block var="j"/><block var="k"/><block var="solve"/><block s="reportProduct"><custom-block s="matrix item %n %n of %l"><block var="using"/><block var="k"/><block var="solve"/></custom-block><block var="divisor"/></block></custom-block></script></block></script></block></script></block></script></block><block s="doReport"><custom-block s="matrix sub %n %n of %l"><l>5</l><l>last</l><block var="solve"/></custom-block></block></script></block-definition><block-definition s="matrix concat %&apos;a&apos; and %&apos;b&apos;" type="reporter" category="lists"><comment x="0" y="0" w="90" collapsed="false">Join two matrices side by side</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="%s ≠ %s"><custom-block s="#rows of %l"><block var="a"/></custom-block><custom-block s="#rows of %l"><block var="b"/></custom-block></custom-block><script><custom-block s="throw %mlt"><l>Invalid matrix concatenation</l></custom-block></script></block><block s="doDeclareVariables"><list><l>copy</l></list></block><block s="doSetVar"><l>copy</l><custom-block s="matrix copy %l"><block var="a"/></custom-block></block><custom-block s="for %upvar %upvar in %l %ca"><l>i</l><l>row</l><block var="b"/><script><block s="doForEach"><l>value</l><block var="row"/><script><block s="doAddToList"><block var="value"/><block s="reportListItem"><block var="i"/><block var="copy"/></block></block></script></block></script></custom-block><block s="doReport"><block var="copy"/></block></script></block-definition><block-definition s="for %&apos;index&apos; %&apos;value&apos; in %&apos;list&apos; %&apos;do&apos;" type="command" category="lists"><comment x="0" y="0" w="90" collapsed="false">Alternative for the builtin list loop, providing the index</comment><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%upvar"></input><input type="%l"></input><input type="%ca"></input></inputs><script><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="list"/></block><script><block s="doSetVar"><l>index</l><block var="i"/></block><block s="doSetVar"><l>value</l><block s="reportListItem"><block var="i"/><block var="list"/></block></block><block s="doRun"><block var="do"/><list></list></block></script></block></script></block-definition><block-definition s="pickRow %&apos;i&apos; %&apos;cframe&apos;" type="reporter" category="motion"><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%l"></input></inputs><script><block s="doFor"><l>j</l><block var="i"/><l>4</l><script><block s="doIf"><custom-block s="%s ≠ %s"><custom-block s="matrix item %n %n of %l"><block var="j"/><block var="i"/><block var="cframe"/></custom-block><l>0</l></custom-block><script><block s="doReport"><block var="j"/></block></script></block></script></block><custom-block s="for %upvar = %n to %n by %n %ca"><l>j</l><l>1</l><block s="reportDifference"><block var="i"/><l>1</l></block><l>1</l><script><block s="doIf"><custom-block s="%s ≠ %s"><custom-block s="matrix item %n %n of %l"><block var="j"/><block var="i"/><block var="cframe"/></custom-block><l>0</l></custom-block><script><block s="doReport"><block var="j"/></block></script></block></script></custom-block><block s="doReport"><l>-1</l></block></script></block-definition><block-definition s="matrix sub %&apos;colfrom&apos; %&apos;colto&apos; of %&apos;matrix&apos;" type="reporter" category="lists"><comment x="0" y="0" w="90" collapsed="false">Grab a range of columns out of a matrix</comment><header></header><code></code><translations></translations><inputs><input type="%n">1<options>last</options></input><input type="%n">1<options>last</options></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>copy</l><l>temp</l></list></block><block s="doIf"><block s="reportEquals"><block var="colfrom"/><l>last</l></block><script><block s="doSetVar"><l>colfrom</l><custom-block s="#columns of %l"><block var="matrix"/></custom-block></block></script></block><block s="doIf"><block s="reportEquals"><block var="colto"/><l>last</l></block><script><block s="doSetVar"><l>colto</l><custom-block s="#columns of %l"><block var="matrix"/></custom-block></block></script></block><block s="doSetVar"><l>copy</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><custom-block s="#rows of %l"><block var="matrix"/></custom-block><script><block s="doSetVar"><l>temp</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>j</l><block var="colfrom"/><block var="colto"/><script><block s="doAddToList"><custom-block s="matrix item %n %n of %l"><block var="i"/><block var="j"/><block var="matrix"/></custom-block><block var="temp"/></block></script></block><block s="doAddToList"><block var="temp"/><block var="copy"/></block></script></block><block s="doReport"><block var="copy"/></block></script></block-definition><block-definition s="list copy %&apos;list&apos;" type="reporter" category="lists"><comment x="0" y="0" w="90" collapsed="false">Shallow copy of a list</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>temp</l></list></block><block s="doSetVar"><l>temp</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="list"/><script><block s="doAddToList"><block var="item"/><block var="temp"/></block></script></block><block s="doReport"><block var="temp"/></block></script></block-definition><block-definition s="resolution" type="reporter" category="sensing"><comment x="0" y="0" w="90" collapsed="false">Get the stage&apos;s screen resolution</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>const temp = this.parentThatIsA(StageMorph);&#xD;return new List([+temp.image.width, +temp.image.height]);</l></block><list></list></block></block></script></block-definition><block-definition s="x: %&apos;x&apos; y: %&apos;y&apos; on screen" type="reporter" category="motion"><comment x="0" y="0" w="90" collapsed="false">Converts a percentage vector into stage coordinates</comment><header></header><code></code><translations></translations><inputs><input type="%n">0</input><input type="%n">0</input></inputs><script><block s="doDeclareVariables"><list><l>temp</l></list></block><block s="doSetVar"><l>temp</l><custom-block s="resolution"></custom-block></block><block s="doReport"><block s="reportNewList"><list><block s="reportProduct"><block s="reportDifference"><block var="x"/><l>0.5</l></block><block s="reportListItem"><l>1</l><block var="temp"/></block></block><block s="reportProduct"><block s="reportDifference"><block var="y"/><l>0.5</l></block><block s="reportListItem"><l>2</l><block var="temp"/></block></block></list></block></block></script></block-definition><block-definition s="debug list %&apos;list&apos;" type="reporter" category="lists"><comment x="0" y="0" w="90" collapsed="false">Debug that makes lists print quicker</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="matrix from %mult%l"><list><custom-block s="row %mult%n"><block var="list"/></custom-block><custom-block s="list with %anyUE for %n"><l></l><block s="reportListAttribute"><l><option>length</option></l><block var="list"/></block></custom-block></list></custom-block></block></script></block-definition><block-definition s="list with %&apos;n&apos; for %&apos;length&apos;" type="reporter" category="lists"><comment x="0" y="0" w="90" collapsed="false">Similar to map, but with a more general parameter that can accept the index as the input</comment><header></header><code></code><translations></translations><inputs><input type="%anyUE">0</input><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block var="length"/><script><block s="doAddToList"><block s="evaluate"><block var="n"/><list><block var="i"/></list></block><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="$line slope of %&apos;function&apos; at %&apos;value&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Compute the estimated derivative of the function.</comment><header></header><code></code><translations></translations><inputs><input type="%anyUE"></input><input type="%n">0</input></inputs><script><block s="doDeclareVariables"><list><l>test</l></list></block><block s="doSetVar"><l>test</l><block s="evaluate"><block var="function"/><list></list></block></block><block s="doIfElse"><block s="reportIsA"><block var="test"/><l><option>list</option></l></block><script><block s="doIfElse"><custom-block s="is %s empty?"><block s="reportListItem"><l>2</l><block var="test"/></block></custom-block><script><block s="doReport"><custom-block s="$line slope of %anyUE at %n"><block s="reportListItem"><l>1</l><block var="test"/></block><block var="value"/></custom-block></block></script><script><block s="doReport"><block s="evaluate"><block s="reportListItem"><l>2</l><block var="test"/></block><list><block var="value"/></list></block></block></script></block></script><script><block s="doReport"><block s="reportQuotient"><block s="reportDifference"><block s="evaluate"><block var="function"/><list><block s="reportSum"><block var="value"/><custom-block s="tiny"></custom-block></block></list></block><block s="evaluate"><block var="function"/><list><block var="value"/></list></block></block><custom-block s="tiny"></custom-block></block></block></script></block></script></block-definition><block-definition s="%&apos;high&apos; $nl $- ∫ %&apos;function&apos; dx steps: %&apos;steps&apos; $nl %&apos;low&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Compute the estimated integral within the region</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%anyUE"></input><input type="%n">10000<options>many (slower, more accurate)=10000&#xD;moderate (balanced)=1000&#xD;few (faster, less accurate)=100</options></input><input type="%n">0</input></inputs><script><block s="doDeclareVariables"><list><l>area</l><l>goal</l><l>delta</l><l>test</l></list></block><block s="doSetVar"><l>test</l><block s="evaluate"><block var="function"/><list></list></block></block><block s="doIfElse"><block s="reportIsA"><block var="test"/><l><option>list</option></l></block><script><block s="doIfElse"><custom-block s="is %s empty?"><block s="reportListItem"><l>3</l><block var="test"/></block></custom-block><script><block s="doReport"><custom-block s="%n %br $- ∫ %anyUE dx steps: %n %br %n"><block var="high"/><block s="reportListItem"><l>1</l><block var="test"/></block><block var="steps"/><block var="low"/></custom-block></block></script><script><block s="doReport"><block s="reportDifference"><block s="evaluate"><block s="reportListItem"><l>3</l><block var="test"/></block><list><block var="high"/></list></block><block s="evaluate"><block s="reportListItem"><l>3</l><block var="test"/></block><list><block var="low"/></list></block></block></block></script></block></script><script><block s="doSetVar"><l>goal</l><block s="reportDifference"><block s="reportProduct"><l>2</l><block var="steps"/></block><l>1</l></block></block><block s="doSetVar"><l>area</l><block s="evaluate"><block var="function"/><list><block var="low"/></list></block></block><block s="doChangeVar"><l>area</l><block s="evaluate"><block var="function"/><list><block var="high"/></list></block></block><block s="doSetVar"><l>delta</l><block s="reportQuotient"><block s="reportDifference"><block var="high"/><block var="low"/></block><block s="reportProduct"><l>2</l><block var="steps"/></block></block></block><custom-block s="for %upvar = %n to %n by %n %ca"><l>i</l><l>1</l><block var="goal"/><l>1</l><script><block s="doChangeVar"><l>area</l><block s="reportProduct"><block s="evaluate"><block var="function"/><list><custom-block s="lerp %n to %n by %n"><block var="low"/><block var="high"/><block s="reportQuotient"><block var="i"/><block var="goal"/></block></custom-block></list></block><block s="reportIfElse"><block s="reportEquals"><block s="reportModulus"><block var="i"/><l>2</l></block><l>1</l></block><l>4</l><l>2</l></block></block></block></script></custom-block><block s="doReport"><block s="reportProduct"><block s="reportQuotient"><block var="delta"/><l>3</l></block><block var="area"/></block></block></script></block></script></block-definition><block-definition s="lerp %&apos;a&apos; to %&apos;b&apos; by %&apos;c&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Interpolate from a to b linearly</comment><header></header><code></code><translations></translations><inputs><input type="%n">0</input><input type="%n">1</input><input type="%n">0</input></inputs><script><block s="doReport"><block s="reportSum"><block var="a"/><block s="reportProduct"><block s="reportDifference"><block var="b"/><block var="a"/></block><block var="c"/></block></block></block></script></block-definition><block-definition s="function $nl f(x) = %&apos;function&apos; $nl f′(x) = %&apos;derivative&apos; $nl F(x) = %&apos;antiderivative&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Constructs a function with its derivative and antiderivative in order to compute calculus functions without approximations</comment><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%repRing"></input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block var="function"/><block var="derivative"/><block var="antiderivative"/></list></block></block></script></block-definition><block-definition s="is %&apos;string&apos; empty?" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Whether or not an object is the emty string or an empty ring</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportOr"><block s="reportEquals"><block s="reportStringSize"><block var="string"/></block><l>0</l></block><block s="reportOr"><block s="reportOr"><block s="reportEquals"><custom-block s="tostring %s"><block s="reifyScript"><script></script><list></list></block></custom-block><custom-block s="tostring %s"><block var="string"/></custom-block></block><block s="reportEquals"><custom-block s="tostring %s"><block s="reifyPredicate"><script></script><list></list></block></custom-block><custom-block s="tostring %s"><block var="string"/></custom-block></block></block><block s="reportEquals"><custom-block s="tostring %s"><block s="reifyReporter"><script></script><list></list></block></custom-block><custom-block s="tostring %s"><block var="string"/></custom-block></block></block></block></block></script></block-definition><block-definition s="type of %&apos;item&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Alias for dev mode type of block</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportTypeOf"><block var="item"/></block></block></script></block-definition><block-definition s="functions %&apos;function&apos; %&apos;optional&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Preset functions&#xD;Only feed in parameters if the function requires one (x^n for example)</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">sigmoid<options>sigmoid&#xD;x^n&#xD;sin&#xD;cos</options></input><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportEquals"><block var="function"/><l>sigmoid</l></block><script><block s="doReport"><custom-block s="function %br f(x) = %repRing %br f′(x) = %repRing %br F(x) = %repRing"><block s="reifyReporter"><autolambda><block s="reportQuotient"><l>1</l><block s="reportSum"><block s="reportMonadic"><l><option>e^</option></l><custom-block s="- %n"><l></l></custom-block></block><l>1</l></block></block></autolambda><list></list></block><block s="reifyReporter"><autolambda><block s="reportQuotient"><block s="reportMonadic"><l><option>e^</option></l><custom-block s="- %n"><l></l></custom-block></block><block s="reportPower"><block s="reportSum"><block s="reportMonadic"><l><option>e^</option></l><custom-block s="- %n"><l></l></custom-block></block><l>1</l></block><l>2</l></block></block></autolambda><list></list></block><block s="reifyReporter"><autolambda><block s="reportMonadic"><l><option>ln</option></l><block s="reportSum"><l>1</l><block s="reportMonadic"><l><option>e^</option></l><l></l></block></block></block></autolambda><list></list></block></custom-block></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="function"/><l>x^n</l></block><script><block s="doIfElse"><block s="reportEquals"><block var="optional"/><l>-1</l></block><script><block s="doReport"><custom-block s="function %br f(x) = %repRing %br f′(x) = %repRing %br F(x) = %repRing"><block s="reifyReporter"><autolambda><block s="reportQuotient"><l>1</l><l></l></block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="- %n"><block s="reportQuotient"><l>1</l><block s="reportProduct"><l></l><l></l></block></block></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><block s="reportMonadic"><l><option>ln</option></l><l></l></block></autolambda><list></list></block></custom-block></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="optional"/><l>0</l></block><script><block s="doReport"><custom-block s="function %br f(x) = %repRing %br f′(x) = %repRing %br F(x) = %repRing"><block s="reifyReporter"><autolambda><custom-block s="tonumber %s"><l>1</l></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="tonumber %s"><l>0</l></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="tonumber %s"><l></l></custom-block></autolambda><list></list></block></custom-block></block></script><script><block s="doReport"><custom-block s="function %br f(x) = %repRing %br f′(x) = %repRing %br F(x) = %repRing"><block s="reifyReporter"><autolambda><block s="reportPower"><l></l><block var="optional"/></block></autolambda><list></list></block><block s="reifyReporter"><autolambda><block s="reportProduct"><block var="optional"/><block s="reportPower"><l></l><block s="reportDifference"><block var="optional"/><l>1</l></block></block></block></autolambda><list></list></block><block s="reifyReporter"><autolambda><block s="reportQuotient"><block s="reportPower"><l></l><block s="reportSum"><block var="optional"/><l>1</l></block></block><block s="reportSum"><block var="optional"/><l>1</l></block></block></autolambda><list></list></block></custom-block></block></script></block></script></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="function"/><l>sin</l></block><script><block s="doReport"><custom-block s="function %br f(x) = %repRing %br f′(x) = %repRing %br F(x) = %repRing"><block s="reifyReporter"><autolambda><custom-block s="sin %n"><l></l></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="cos %n"><l></l></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="- %n"><custom-block s="cos %n"><l></l></custom-block></custom-block></autolambda><list></list></block></custom-block></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="function"/><l>cos</l></block><script><block s="doReport"><custom-block s="function %br f(x) = %repRing %br f′(x) = %repRing %br F(x) = %repRing"><block s="reifyReporter"><autolambda><custom-block s="cos %n"><l></l></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="- %n"><custom-block s="sin %n"><l></l></custom-block></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="sin %n"><l></l></custom-block></autolambda><list></list></block></custom-block></block></script><script><block s="doReport"><l></l></block></script></block></script></block></script></block></script></block></script></block-definition><block-definition s="call func %&apos;function&apos; with %&apos;value&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n">0</input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportListItem"><l>1</l><block var="function"/></block><list><block var="value"/></list></block></block></script></block-definition><block-definition s="invert %&apos;matrix&apos;" type="reporter" category="lists"><comment x="0" y="0" w="90" collapsed="false">Compute the inverse of a matrix</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>solve</l><l>divisor</l><l>using</l></list></block><block s="doSetVar"><l>solve</l><custom-block s="matrix concat %l and %l"><block var="matrix"/><custom-block s="matrix %n x %n with: %n"><custom-block s="#rows of %l"><block var="matrix"/></custom-block><custom-block s="#columns of %l"><block var="matrix"/></custom-block><l>identity</l></custom-block></custom-block></block><block s="doFor"><l>i</l><l>1</l><custom-block s="#rows of %l"><block var="matrix"/></custom-block><script><block s="doSetVar"><l>using</l><custom-block s="pickValidPivot %n %l"><block var="i"/><block var="solve"/></custom-block></block><block s="doIf"><block s="reportLessThan"><block var="using"/><l>0</l></block><script><custom-block s="throw %mlt"><l>Matrix does not have an inverse</l></custom-block></script></block><block s="doSetVar"><l>divisor</l><custom-block s="matrix item %n %n of %l"><block var="using"/><block var="i"/><block var="solve"/></custom-block></block><block s="doFor"><l>k</l><l>1</l><custom-block s="#columns of %l"><block var="solve"/></custom-block><script><custom-block s="matrix replace item %n %n of %l with %n"><block var="using"/><block var="k"/><block var="solve"/><block s="reportQuotient"><custom-block s="matrix item %n %n of %l"><block var="using"/><block var="k"/><block var="solve"/></custom-block><block var="divisor"/></block></custom-block></script></block><block s="doFor"><l>j</l><l>1</l><custom-block s="#rows of %l"><block var="solve"/></custom-block><script><block s="doIf"><custom-block s="%s ≠ %s"><block var="j"/><block var="using"/></custom-block><script><block s="doSetVar"><l>divisor</l><custom-block s="- %n"><custom-block s="matrix item %n %n of %l"><block var="j"/><block var="i"/><block var="solve"/></custom-block></custom-block></block><block s="doFor"><l>k</l><block var="i"/><custom-block s="#columns of %l"><block var="solve"/></custom-block><script><custom-block s="matrix change item %n %n of %l by %n"><block var="j"/><block var="k"/><block var="solve"/><block s="reportProduct"><custom-block s="matrix item %n %n of %l"><block var="using"/><block var="k"/><block var="solve"/></custom-block><block var="divisor"/></block></custom-block></script></block></script></block></script></block></script></block><block s="doReport"><custom-block s="matrix sub %n %n of %l"><block s="reportSum"><custom-block s="#columns of %l"><block var="matrix"/></custom-block><l>1</l></block><l>last</l><block var="solve"/></custom-block></block></script></block-definition><block-definition s="pickValidPivot %&apos;i&apos; %&apos;matrix&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%l"></input></inputs><script><block s="doFor"><l>j</l><block var="i"/><custom-block s="#rows of %l"><block var="matrix"/></custom-block><script><block s="doIf"><custom-block s="%s ≠ %s"><custom-block s="matrix item %n %n of %l"><block var="j"/><block var="i"/><block var="matrix"/></custom-block><l>0</l></custom-block><script><block s="doReport"><block var="j"/></block></script></block></script></block><custom-block s="for %upvar = %n to %n by %n %ca"><l>j</l><l>1</l><block s="reportDifference"><block var="i"/><l>1</l></block><l>1</l><script><block s="doIf"><custom-block s="%s ≠ %s"><custom-block s="matrix item %n %n of %l"><block var="j"/><block var="i"/><block var="matrix"/></custom-block><l>0</l></custom-block><script><block s="doReport"><block var="j"/></block></script></block></script></custom-block><block s="doReport"><l>-1</l></block></script></block-definition><block-definition s="%&apos;high&apos; $nl $- Σ %&apos;function&apos; $nl %&apos;low&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Compute the sum of a function</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%anyUE"></input><input type="%n">0</input></inputs><script><block s="doDeclareVariables"><list><l>sum</l><l>test</l></list></block><block s="doSetVar"><l>test</l><block s="evaluate"><block var="function"/><list></list></block></block><block s="doIf"><block s="reportIsA"><block var="test"/><l><option>list</option></l></block><script><block s="doSetVar"><l>function</l><block s="reportListItem"><l>1</l><block var="test"/></block></block></script></block><block s="doSetVar"><l>sum</l><l>0</l></block><custom-block s="for %upvar = %n to %n by %n %ca"><l>i</l><block var="low"/><block var="high"/><l>1</l><script><block s="doChangeVar"><l>sum</l><block s="evaluate"><block var="function"/><list><block var="i"/></list></block></block></script></custom-block><block s="doReport"><block var="sum"/></block></script></block-definition><block-definition s="$- lim %&apos;function&apos; $nl n → %&apos;value&apos; %&apos;kind&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Estimate the limit of a function</comment><header></header><code></code><translations></translations><inputs><input type="%anyUE"></input><input type="%n">0<options>∞&#xD;-∞</options></input><input type="%s" readonly="true">+<options>+&#xD;-</options></input></inputs><script><block s="doDeclareVariables"><list><l>test</l></list></block><block s="doSetVar"><l>test</l><block s="evaluate"><block var="function"/><list></list></block></block><block s="doIf"><block s="reportIsA"><block var="test"/><l><option>list</option></l></block><script><block s="doSetVar"><l>function</l><block s="reportListItem"><l>1</l><block var="test"/></block></block></script></block><block s="doIfElse"><block s="reportEquals"><block var="value"/><l>∞</l></block><script><block s="doSetVar"><l>value</l><custom-block s="big"></custom-block></block></script><script><block s="doIf"><block s="reportEquals"><block var="value"/><l>-∞</l></block><script><block s="doSetVar"><l>value</l><custom-block s="- %n"><custom-block s="big"></custom-block></custom-block></block></script></block></script></block><block s="doReport"><block s="evaluate"><block var="function"/><list><block s="reportSum"><block var="value"/><block s="reportProduct"><custom-block s="really tiny"></custom-block><block s="reportIfElse"><block s="reportEquals"><block var="kind"/><l>+</l></block><l>1</l><l>-1</l></block></block></block></list></block></block></script></block-definition><block-definition s="big" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><custom-block s="tonumber %s"><l>1e25</l></custom-block></block></script></block-definition><block-definition s="tiny" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><custom-block s="tonumber %s"><l>1e-15</l></custom-block></block></script></block-definition><block-definition s="really tiny" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><custom-block s="tonumber %s"><l>1e-25</l></custom-block></block></script></block-definition><block-definition s="%&apos;high&apos; $nl $- ∏ %&apos;function&apos; $nl %&apos;low&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Compute the product of a function</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%anyUE"></input><input type="%n">0</input></inputs><script><block s="doDeclareVariables"><list><l>sum</l><l>test</l></list></block><block s="doSetVar"><l>test</l><block s="evaluate"><block var="function"/><list></list></block></block><block s="doIf"><block s="reportIsA"><block var="test"/><l><option>list</option></l></block><script><block s="doSetVar"><l>function</l><block s="reportListItem"><l>1</l><block var="test"/></block></block></script></block><block s="doSetVar"><l>sum</l><l>1</l></block><custom-block s="for %upvar = %n to %n by %n %ca"><l>i</l><block var="low"/><block var="high"/><l>1</l><script><block s="doSetVar"><l>sum</l><block s="reportProduct"><block var="sum"/><block s="evaluate"><block var="function"/><list><block var="i"/></list></block></block></block></script></custom-block><block s="doReport"><block var="sum"/></block></script></block-definition><block-definition s="cframe $nl %&apos;i1&apos; %&apos;i2&apos; %&apos;i3&apos; %&apos;i4&apos; $nl %&apos;i5&apos; %&apos;i6&apos; %&apos;i7&apos; %&apos;i8&apos; $nl %&apos;i9&apos; %&apos;i10&apos; %&apos;i11&apos; %&apos;i12&apos;" type="reporter" category="motion"><comment x="0" y="0" w="90" collapsed="false">Generate cframe directly from matrix values</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input><input type="%n">1</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input><input type="%n">1</input><input type="%n">0</input></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><block var="i1"/><block var="i2"/><block var="i3"/><block var="i4"/></list></block><block s="reportNewList"><list><block var="i5"/><block var="i6"/><block var="i7"/><block var="i8"/></list></block><block s="reportNewList"><list><block var="i9"/><block var="i10"/><block var="i11"/><block var="i12"/></list></block><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l><l>1</l></list></block></list></block></block></script></block-definition><block-definition s="%&apos;num&apos; to %&apos;type&apos;" type="reporter" category="sound"><comment x="0" y="0" w="90" collapsed="false">Convert between pitches and frequencies</comment><header></header><code></code><translations></translations><inputs><input type="%n">69<options>§_pianoKeyboardMenu</options></input><input type="%txt" readonly="true">frequency<options>pitch&#xD;frequency</options></input></inputs><script><block s="doIfElse"><block s="reportEquals"><block var="type"/><l>pitch</l></block><script><block s="doReport"><block s="reportSum"><block s="reportProduct"><block s="reportMonadic"><l><option>lg</option></l><block s="reportQuotient"><block var="num"/><l>440</l></block></block><l>12</l></block><l>69</l></block></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="type"/><l>frequency</l></block><script><block s="doReport"><block s="reportProduct"><l>440</l><block s="reportPower"><l>2</l><block s="reportQuotient"><block s="reportDifference"><block var="num"/><l>69</l></block><l>12</l></block></block></block></block></script><script><block s="doReport"><l></l></block></script></block></script></block></script></block-definition><block-definition s="%&apos;matrix&apos; ᵀ" type="reporter" category="lists"><comment x="0" y="0" w="90" collapsed="false">Transpose a matrix</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>temp</l><l>arr</l></list></block><block s="doSetVar"><l>temp</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><custom-block s="#columns of %l"><block var="matrix"/></custom-block><script><block s="doSetVar"><l>arr</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>j</l><l>1</l><custom-block s="#rows of %l"><block var="matrix"/></custom-block><script><block s="doAddToList"><custom-block s="matrix item %n %n of %l"><block var="j"/><block var="i"/><block var="matrix"/></custom-block><block var="arr"/></block></script></block><block s="doAddToList"><block var="arr"/><block var="temp"/></block></script></block><block s="doReport"><block var="temp"/></block></script></block-definition><block-definition s="EnferneBuchstabeAusMatrix - Matrix: %&apos;Matrix&apos; X: %&apos;X&apos; Y: %&apos;Y&apos; Buchstabe: %&apos;Buchstabe&apos;" type="command" category="variables"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><custom-block s="matrix replace item %n %n of %l with %n"><block var="X"/><block var="Y"/><block var="Matrix"/><block s="reportJoinWords"><list><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportEquals"><l></l><block var="Buchstabe"/></block></block></autolambda><list></list></block><block s="reportTextSplit"><custom-block s="matrix item %n %n of %l"><block var="X"/><block var="Y"/><block var="Matrix"/></custom-block><l><option>letter</option></l></block></block></list></block></custom-block></script></block-definition><block-definition s="GrundMatrizenErzeugen - Gangbreite: %&apos;Gangbreite&apos; BühneHöhe: %&apos;BühneHöhe&apos; BühneBreite: %&apos;BühneBreite&apos;" type="command" category="variables"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doSetVar"><l>Matrix1</l><custom-block s="matrix %n x %n with: %n"><block s="reportSum"><block s="reportQuotient"><block var="BühneBreite"/><block var="Gangbreite"/></block><l>2</l></block><block s="reportSum"><block s="reportQuotient"><block var="BühneHöhe"/><block var="Gangbreite"/></block><l>2</l></block><l>0</l></custom-block></block><block s="doBroadcast"><l>weiter</l></block><block s="doSetVar"><l>Matrix2</l><custom-block s="matrix %n x %n with: %n"><block s="reportSum"><block s="reportQuotient"><block var="BühneBreite"/><block var="Gangbreite"/></block><l>2</l></block><block s="reportSum"><block s="reportQuotient"><block var="BühneHöhe"/><block var="Gangbreite"/></block><l>2</l></block><block s="reportJoinWords"><list><l>NSWO</l></list></block></custom-block></block><block s="doBroadcast"><l>weiter</l></block><block s="doFor"><l>x</l><l>1</l><block s="reportSum"><block s="reportQuotient"><block var="BühneBreite"/><block var="Gangbreite"/></block><l>2</l></block><script><block s="doFor"><l>y</l><l>1</l><block s="reportSum"><block s="reportQuotient"><block var="BühneHöhe"/><block var="Gangbreite"/></block><l>2</l></block><script><block s="doIf"><block s="reportOr"><block s="reportOr"><block s="reportEquals"><block var="x"/><l>1</l></block><block s="reportEquals"><block var="x"/><block s="reportSum"><block s="reportQuotient"><block var="BühneBreite"/><block var="Gangbreite"/></block><l>2</l></block></block></block><block s="reportOr"><block s="reportEquals"><block var="y"/><l>1</l></block><block s="reportEquals"><block var="y"/><block s="reportSum"><block s="reportQuotient"><block var="BühneHöhe"/><block var="Gangbreite"/></block><l>2</l></block></block></block></block><script><custom-block s="matrix replace item %n %n of %l with %n"><block var="x"/><block var="y"/><block var="Matrix1"/><l>1</l></custom-block><block s="doBroadcast"><l>weiterklein</l></block></script></block></script></block></script></block></script></block-definition><block-definition s="GeheZu - 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="%s"></input></inputs><script><block s="gotoXY"><block s="reportSum"><block s="reportProduct"><l>-1</l><block s="reportSum"><block s="reportQuotient"><block var="BühneBreite"/><l>2</l></block><block s="reportProduct"><block var="Gangbreite"/><l>0.5</l></block></block></block><block s="reportProduct"><block s="reportDifference"><block var="X"/><l>1</l></block><block var="Gangbreite"/></block></block><block s="reportDifference"><block s="reportSum"><block s="reportQuotient"><block var="BühneHöhe"/><l>2</l></block><block s="reportProduct"><block var="Gangbreite"/><l>0.5</l></block></block><block s="reportProduct"><block s="reportDifference"><block var="Y"/><l>1</l></block><block var="Gangbreite"/></block></block></block></script></block-definition><block-definition s="SpriteGehtEinenSchritt - Xalt %&apos;Xalt_&apos; Yalt %&apos;Yalt_&apos; RichtungAlt %&apos;RichtungAlt_&apos; LängeGeradeausLokal %&apos;LängeGeradeausLokal_&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="up"></block><custom-block s="GeheZu - X: %s Y: %s"><block var="Xalt_"/><block var="Yalt_"/></custom-block><block s="down"></block><block s="doDeclareVariables"><list><l>Xneu_</l><l>Yneu_</l><l>ZielGefunden_</l><l>Zufallszahl_</l><l>RichtungNeu_</l><l>RichtungNeuInvers_</l></list></block><block s="doIf"><block s="reportNot"><block s="reportEquals"><block s="reportSum"><block s="reportSum"><custom-block s="matrix item %n %n of %l"><block s="reportDifference"><block var="Xalt_"/><l>1</l></block><block s="reportDifference"><block var="Yalt_"/><l>0</l></block><block var="Matrix1"/></custom-block><custom-block s="matrix item %n %n of %l"><block s="reportDifference"><block var="Xalt_"/><l>0</l></block><block s="reportSum"><block var="Yalt_"/><l>1</l></block><block var="Matrix1"/></custom-block></block><block s="reportSum"><custom-block s="matrix item %n %n of %l"><block s="reportSum"><block var="Xalt_"/><l>0</l></block><block s="reportDifference"><block var="Yalt_"/><l>1</l></block><block var="Matrix1"/></custom-block><custom-block s="matrix item %n %n of %l"><block s="reportSum"><block var="Xalt_"/><l>1</l></block><block s="reportSum"><block var="Yalt_"/><l>0</l></block><block var="Matrix1"/></custom-block></block></block><l>4</l></block></block><script><block s="doSetVar"><l>ZielGefunden_</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doUntil"><block s="reportEquals"><block var="ZielGefunden_"/><block s="reportBoolean"><l><bool>true</bool></l></block></block><script><block s="doSetVar"><l>Zufallszahl_</l><block s="reportRandom"><l>1</l><l>10</l></block></block><block s="doIfElse"><block s="reportGreaterThan"><block var="Zufallszahl_"/><block s="reportDifference"><l>10</l><block var="LängeGeradeausLokal_"/></block></block><script><block s="doIf"><block s="reportEquals"><block var="RichtungAlt_"/><l>O</l></block><script><block s="doSetVar"><l>Xneu_</l><block s="reportSum"><block var="Xalt_"/><l>1</l></block></block><block s="doSetVar"><l>Yneu_</l><block s="reportSum"><block var="Yalt_"/><l>0</l></block></block><block s="doSetVar"><l>RichtungNeu_</l><l>O</l></block><block s="doSetVar"><l>RichtungNeuInvers_</l><l>W</l></block></script><comment w="90" collapsed="false">O</comment></block><block s="doIf"><block s="reportEquals"><block var="RichtungAlt_"/><l>S</l></block><script><block s="doSetVar"><l>Xneu_</l><block s="reportSum"><block var="Xalt_"/><l>0</l></block></block><block s="doSetVar"><l>Yneu_</l><block s="reportSum"><block var="Yalt_"/><l>1</l></block></block><block s="doSetVar"><l>RichtungNeu_</l><l>S</l></block><block s="doSetVar"><l>RichtungNeuInvers_</l><l>N</l></block></script><comment w="90" collapsed="false">S</comment></block><block s="doIf"><block s="reportEquals"><block var="RichtungAlt_"/><l>W</l></block><script><block s="doSetVar"><l>Xneu_</l><block s="reportDifference"><block var="Xalt_"/><l>1</l></block></block><block s="doSetVar"><l>Yneu_</l><block s="reportDifference"><block var="Yalt_"/><l>0</l></block></block><block s="doSetVar"><l>RichtungNeu_</l><l>W</l></block><block s="doSetVar"><l>RichtungNeuInvers_</l><l>O</l></block></script><comment w="90" collapsed="false">W</comment></block><block s="doIf"><block s="reportEquals"><block var="RichtungAlt_"/><l>N</l></block><script><block s="doSetVar"><l>Xneu_</l><block s="reportDifference"><block var="Xalt_"/><l>0</l></block></block><block s="doSetVar"><l>Yneu_</l><block s="reportDifference"><block var="Yalt_"/><l>1</l></block></block><block s="doSetVar"><l>RichtungNeu_</l><l>N</l></block><block s="doSetVar"><l>RichtungNeuInvers_</l><l>S</l></block></script><comment w="90" collapsed="false">N</comment></block></script><script><block s="doIfElse"><block s="reportGreaterThan"><block var="Zufallszahl_"/><block s="reportProduct"><l>3</l><block s="reportQuotient"><block s="reportDifference"><l>10</l><block var="LängeGeradeausLokal_"/></block><l>4</l></block></block></block><script><block s="doSetVar"><l>Xneu_</l><block s="reportSum"><block var="Xalt_"/><l>1</l></block></block><block s="doSetVar"><l>Yneu_</l><block s="reportSum"><block var="Yalt_"/><l>0</l></block></block><block s="doSetVar"><l>RichtungNeu_</l><l>O</l></block><block s="doSetVar"><l>RichtungNeuInvers_</l><l>W</l></block></script><script><block s="doIfElse"><block s="reportGreaterThan"><block var="Zufallszahl_"/><block s="reportProduct"><l>2</l><block s="reportQuotient"><block s="reportDifference"><l>10</l><block var="LängeGeradeausLokal_"/></block><l>4</l></block></block></block><script><block s="doSetVar"><l>Xneu_</l><block s="reportSum"><block var="Xalt_"/><l>0</l></block></block><block s="doSetVar"><l>Yneu_</l><block s="reportSum"><block var="Yalt_"/><l>1</l></block></block><block s="doSetVar"><l>RichtungNeu_</l><l>S</l></block><block s="doSetVar"><l>RichtungNeuInvers_</l><l>N</l></block></script><script><block s="doIfElse"><block s="reportGreaterThan"><block var="Zufallszahl_"/><block s="reportProduct"><l>1</l><block s="reportQuotient"><block s="reportDifference"><l>10</l><block var="LängeGeradeausLokal_"/></block><l>4</l></block></block></block><script><block s="doSetVar"><l>Xneu_</l><block s="reportDifference"><block var="Xalt_"/><l>1</l></block></block><block s="doSetVar"><l>Yneu_</l><block s="reportDifference"><block var="Yalt_"/><l>0</l></block></block><block s="doSetVar"><l>RichtungNeu_</l><l>W</l></block><block s="doSetVar"><l>RichtungNeuInvers_</l><l>O</l></block></script><script><block s="doSetVar"><l>RichtungNeu_</l><l>N</l><comment w="90" collapsed="false">N</comment></block><block s="doSetVar"><l>Xneu_</l><block s="reportDifference"><block var="Xalt_"/><l>0</l></block></block><block s="doSetVar"><l>Yneu_</l><block s="reportDifference"><block var="Yalt_"/><l>1</l></block></block><block s="doSetVar"><l>RichtungNeuInvers_</l><l>S</l></block></script><comment w="90" collapsed="false">W</comment></block></script><comment w="90" collapsed="false">S</comment></block></script><comment w="90" collapsed="false">O</comment></block></script></block><block s="doIf"><block s="reportEquals"><custom-block s="matrix item %n %n of %l"><block var="Xneu_"/><block var="Yneu_"/><block var="Matrix1"/></custom-block><l>0</l></block><script><block s="doSetVar"><l>ZielGefunden_</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><comment w="202.3076923076922" collapsed="false">Per Zufall nächstes Feld finden.&#xD;ZielGefunden = ausgewähltes Feld ist frei</comment></block><custom-block s="GeheZu - X: %s Y: %s"><block var="Xneu_"/><block var="Yneu_"/></custom-block><block s="up"></block><custom-block s="EnferneBuchstabeAusMatrix - Matrix: %s X: %s Y: %s Buchstabe: %s"><block var="Matrix2"/><block var="Xalt_"/><block var="Yalt_"/><block var="RichtungNeu_"/></custom-block><custom-block s="EnferneBuchstabeAusMatrix - Matrix: %s X: %s Y: %s Buchstabe: %s"><block var="Matrix2"/><block var="Xneu_"/><block var="Yneu_"/><block var="RichtungNeuInvers_"/></custom-block><custom-block s="matrix replace item %n %n of %l with %n"><block var="Xneu_"/><block var="Yneu_"/><block var="Matrix1"/><l>1</l></custom-block><block s="doIf"><block s="reportAnd"><block s="reportEquals"><block var="RichtungNeu_"/><block var="RichtungAlt_"/></block><block s="reportGreaterThan"><block var="LängeGeradeausLokal_"/><l>0</l></block></block><script><block s="doSetVar"><l>LängeGeradeausLokal_</l><block s="reportDifference"><block var="LängeGeradeausLokal_"/><l>1</l></block></block></script></block><block s="doIf"><block s="reportNot"><block s="reportEquals"><block var="RichtungNeu_"/><block var="RichtungAlt_"/></block></block><script><block s="doSetVar"><l>LängeGeradeausLokal_</l><block var="LängeGeradeaus"/></block></script></block><custom-block s="SpriteGehtEinenSchritt - Xalt %s Yalt %s RichtungAlt %s LängeGeradeausLokal %s"><block var="Xneu_"/><block var="Yneu_"/><block var="RichtungNeu_"/><block var="LängeGeradeausLokal_"/></custom-block><block s="doSetVar"><l>Zufallszahl_</l><block s="reportRandom"><l>1</l><l>10</l></block></block><block s="doIf"><block s="reportAnd"><block s="reportLessThan"><block s="reportSum"><block s="reportSum"><custom-block s="matrix item %n %n of %l"><block s="reportDifference"><block var="Xalt_"/><l>1</l></block><block s="reportDifference"><block var="Yalt_"/><l>0</l></block><block var="Matrix1"/></custom-block><custom-block s="matrix item %n %n of %l"><block s="reportDifference"><block var="Xalt_"/><l>0</l></block><block s="reportSum"><block var="Yalt_"/><l>1</l></block><block var="Matrix1"/></custom-block></block><block s="reportSum"><custom-block s="matrix item %n %n of %l"><block s="reportSum"><block var="Xalt_"/><l>0</l></block><block s="reportDifference"><block var="Yalt_"/><l>1</l></block><block var="Matrix1"/></custom-block><custom-block s="matrix item %n %n of %l"><block s="reportSum"><block var="Xalt_"/><l>1</l></block><block s="reportSum"><block var="Yalt_"/><l>0</l></block><block var="Matrix1"/></custom-block></block></block><l>3</l></block><block s="reportLessThan"><block var="Zufallszahl_"/><block var="WahrschAbzweig"/></block></block><script><block s="doTellTo"><block s="newClone"><l><option>myself</option></l></block><block s="reifyScript"><script><custom-block s="SpriteGehtEinenSchritt - Xalt %s Yalt %s RichtungAlt %s LängeGeradeausLokal %s"><block var="Xalt_"/><block var="Yalt_"/><block var="RichtungAlt_"/><block var="LängeGeradeaus"/></custom-block></script><list></list></block><list></list></block></script></block></script><comment w="90" collapsed="false">Wenn nicht in Sackgasse, ...</comment></block></script></block-definition><block-definition s="LöcherSuchenUndFüllen" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>ListeLöcher</l><l>Zufallszahl</l><l>Zufallszahl2</l><l>AnsatzGefunden</l><l>RandAusgleichN</l><l>RandAusgleichS</l><l>RandAusgleichW</l><l>RandAusgleichO</l><l>Xstart</l><l>ystart</l><l>Richtung</l></list></block><block s="doSetVar"><l>ListeLöcher</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>x</l><l>2</l><block s="reportSum"><block s="reportQuotient"><block var="BühneBreite"/><block var="Gangbreite"/></block><l>1</l></block><script><block s="doFor"><l>y</l><l>2</l><block s="reportSum"><block s="reportQuotient"><block var="BühneHöhe"/><block var="Gangbreite"/></block><l>1</l></block><script><block s="doIf"><block s="reportAnd"><block s="reportEquals"><custom-block s="matrix item %n %n of %l"><block var="x"/><block var="y"/><block var="Matrix1"/></custom-block><l>0</l></block><block s="reportNot"><block s="reportEquals"><block s="reportSum"><block s="reportSum"><custom-block s="matrix item %n %n of %l"><block s="reportDifference"><block var="x"/><l>1</l></block><block s="reportDifference"><block var="y"/><l>0</l></block><block var="Matrix1"/></custom-block><custom-block s="matrix item %n %n of %l"><block s="reportDifference"><block var="x"/><l>0</l></block><block s="reportSum"><block var="y"/><l>1</l></block><block var="Matrix1"/></custom-block></block><block s="reportSum"><custom-block s="matrix item %n %n of %l"><block s="reportSum"><block var="x"/><l>0</l></block><block s="reportDifference"><block var="y"/><l>1</l></block><block var="Matrix1"/></custom-block><custom-block s="matrix item %n %n of %l"><block s="reportSum"><block var="x"/><l>1</l></block><block s="reportSum"><block var="y"/><l>0</l></block><block var="Matrix1"/></custom-block></block></block><l>4</l></block></block></block><script><block s="doAddToList"><block s="reportNewList"><list><block var="x"/><block var="y"/></list></block><block var="ListeLöcher"/></block></script><comment w="90" collapsed="false">Loch UND Loch ist größer als ein Feld</comment></block></script></block></script></block><block s="doUntil"><block s="reportListIsEmpty"><block var="ListeLöcher"/></block><script><block s="doSetVar"><l>Zufallszahl</l><block s="reportRandom"><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="ListeLöcher"/></block></block></block><block s="doIfElse"><block s="reportEquals"><custom-block s="matrix item %n %n of %l"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><block var="Matrix1"/></custom-block><l>1</l><comment w="90" collapsed="false">Loch wurde bereits gefüllt</comment></block><script><block s="doDeleteFromList"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></script><script><block s="doSetVar"><l>RandAusgleichW</l><block s="reportIfElse"><block s="reportEquals"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>2</l></block><l>0</l><l>1</l></block><comment w="337.6923076923077" collapsed="false">RandAusgleich? soll verhindern, dass ein neuer Weg am Rand beginnt.&#xD;Alle Wege sollen vom Start aus erreichbar sein.</comment></block><block s="doSetVar"><l>RandAusgleichO</l><block s="reportIfElse"><block s="reportEquals"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><block s="reportSum"><block s="reportQuotient"><block var="BühneBreite"/><block var="Gangbreite"/></block><l>1</l></block></block><l>0</l><l>1</l></block></block><block s="doSetVar"><l>RandAusgleichN</l><block s="reportIfElse"><block s="reportEquals"><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>2</l></block><l>0</l><l>1</l></block></block><block s="doSetVar"><l>RandAusgleichS</l><block s="reportIfElse"><block s="reportEquals"><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><block s="reportSum"><block s="reportQuotient"><block var="BühneHöhe"/><block var="Gangbreite"/></block><l>1</l></block></block><l>0</l><l>1</l></block></block><block s="doIf"><block s="reportGreaterThan"><block s="reportSum"><block s="reportSum"><block s="reportProduct"><custom-block s="matrix item %n %n of %l"><block s="reportDifference"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>1</l></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>0</l></block><block var="Matrix1"/></custom-block><block var="RandAusgleichW"/></block><block s="reportProduct"><custom-block s="matrix item %n %n of %l"><block s="reportDifference"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>0</l></block><block s="reportSum"><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>1</l></block><block var="Matrix1"/></custom-block><block var="RandAusgleichS"/></block></block><block s="reportSum"><block s="reportProduct"><custom-block s="matrix item %n %n of %l"><block s="reportSum"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>0</l></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>1</l></block><block var="Matrix1"/></custom-block><block var="RandAusgleichN"/></block><block s="reportProduct"><custom-block s="matrix item %n %n of %l"><block s="reportSum"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>1</l></block><block s="reportSum"><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>0</l></block><block var="Matrix1"/></custom-block><block var="RandAusgleichO"/></block></block></block><l>0</l></block><script><block s="doSetVar"><l>AnsatzGefunden</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doUntil"><block var="AnsatzGefunden"/><script><block s="doSetVar"><l>Zufallszahl2</l><block s="reportRandom"><l>1</l><l>4</l></block></block><block s="doIfElse"><block s="reportEquals"><block var="Zufallszahl2"/><l>1</l></block><script><block s="doIf"><block s="reportEquals"><block s="reportProduct"><custom-block s="matrix item %n %n of %l"><block s="reportDifference"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>1</l></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>0</l></block><block var="Matrix1"/></custom-block><block var="RandAusgleichW"/></block><l>1</l></block><script><block s="doSetVar"><l>AnsatzGefunden</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>Xstart</l><block s="reportDifference"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>1</l></block></block><block s="doSetVar"><l>ystart</l><block s="reportDifference"><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>0</l></block></block><block s="doSetVar"><l>Richtung</l><l>O</l></block></script></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="Zufallszahl2"/><l>2</l></block><script><block s="doIf"><block s="reportEquals"><block s="reportProduct"><custom-block s="matrix item %n %n of %l"><block s="reportDifference"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>0</l></block><block s="reportSum"><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>1</l></block><block var="Matrix1"/></custom-block><block var="RandAusgleichS"/></block><l>1</l></block><script><block s="doSetVar"><l>AnsatzGefunden</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>Xstart</l><block s="reportDifference"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>0</l></block></block><block s="doSetVar"><l>ystart</l><block s="reportSum"><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>1</l></block></block><block s="doSetVar"><l>Richtung</l><l>N</l></block></script></block></script><script><block s="doIfElse"><block s="reportEquals"><block var="Zufallszahl2"/><l>3</l></block><script><block s="doIf"><block s="reportEquals"><block s="reportProduct"><custom-block s="matrix item %n %n of %l"><block s="reportSum"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>0</l></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>1</l></block><block var="Matrix1"/></custom-block><block var="RandAusgleichN"/></block><l>1</l></block><script><block s="doSetVar"><l>AnsatzGefunden</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>Xstart</l><block s="reportDifference"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>0</l></block></block><block s="doSetVar"><l>ystart</l><block s="reportDifference"><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>1</l></block></block><block s="doSetVar"><l>Richtung</l><l>S</l></block></script></block></script><script><block s="doIf"><block s="reportEquals"><block s="reportProduct"><custom-block s="matrix item %n %n of %l"><block s="reportSum"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>1</l></block><block s="reportSum"><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>0</l></block><block var="Matrix1"/></custom-block><block var="RandAusgleichO"/></block><l>1</l></block><script><block s="doSetVar"><l>AnsatzGefunden</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>Xstart</l><block s="reportSum"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>1</l></block></block><block s="doSetVar"><l>ystart</l><block s="reportDifference"><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></block><l>0</l></block></block><block s="doSetVar"><l>Richtung</l><l>W</l></block></script></block></script></block></script></block></script></block></script><comment w="90" collapsed="false">Per Zufall den Startpunkt finden.</comment></block><custom-block s="SpriteGehtEinenSchritt - Xalt %s Yalt %s RichtungAlt %s LängeGeradeausLokal %s"><block var="Xstart"/><block var="ystart"/><block var="Richtung"/><block var="LängeGeradeaus"/></custom-block><block s="doDeleteFromList"><block var="Zufallszahl"/><block var="ListeLöcher"/></block></script><comment w="90" collapsed="false">Falls neben dem Loch ein Weg liegt, der nicht der Rand ist, dann ...</comment></block></script></block></script><comment w="90" collapsed="false">Liste durchgehen per Zufall</comment></block></script></block-definition></blocks><variables><variable name="Matrix1" transient="true"/><variable name="Matrix2" transient="true"/><variable name="Gangbreite"><l>30</l></variable><variable name="BühneHöhe"><l>360</l></variable><variable name="BühneBreite"><l>480</l></variable><variable name="LängeGeradeaus"><l>5</l></variable><variable name="WahrschAbzweig"><l>3</l></variable></variables></project><media name="Labyrinth" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>