Browse Source

needs hue

master
Victor Giers 5 years ago
parent
commit
bab542621b
3 changed files with 649 additions and 247 deletions
  1. BIN
      qubeenee.blend
  2. 66
    56
      visual_logic.js
  3. 583
    191
      visual_logic.xml

BIN
qubeenee.blend View File


+ 66
- 56
visual_logic.js View File

@@ -1,6 +1,6 @@
/**
* Generated by Verge3D Puzzles v.2.12.5
* Fri Jun 07 2019 19:29:14 GMT+0200 (Mitteleuropäische Sommerzeit)
* Fri Jun 07 2019 23:17:23 GMT+0200 (Mitteleuropäische Sommerzeit)
* Do not edit this file - your changes may get overridden when Puzzles are saved.
* Refer to https://www.soft8soft.com/docs/manual/en/introduction/Using-JavaScript.html
* for information on how to add your own JavaScript to Verge3D apps.
@@ -204,27 +204,7 @@ initOptions = initOptions || {};
if ('fadeAnnotations' in initOptions) {
_pGlob.fadeAnnotations = initOptions.fadeAnnotations;
}
var maxDist, dragging, inboundStepper, distZ, distY, distX;


// getObjectMaterial puzzle
function getObjectMaterial(objNames) {
objNames = retrieveObjectNames(objNames);
if (!objNames)
return '';
for (var i = 0; i < objNames.length; i++) {
var objName = objNames[i]
if (!objName)
continue;
var obj = getObjectByName(objName);
if (!obj)
continue;
if (obj.material && typeof obj.material.name == "string")
return obj.material.name;
}
return '';
}

var distZ, light, stepY, distY, dragging, distX, inboundStepper, maxDist, sat, hue, value;


// utility function envoked by almost all V3D-specific puzzles
@@ -335,6 +315,43 @@ function swizzleVec3(vec, isScale) {
}


// getObjTransform puzzle
function getObjTransform(objName, mode, coord) {
if (!objName)
return;
var obj = getObjectByName(objName);
if (!obj)
return;
if (mode == "rotation")
return swizzleValueSign(coord, obj[mode][coord] * 180/Math.PI);
else if (mode == 'position')
return swizzleValueSign(coord, obj[mode][coord]);
else
return obj[mode][coord];
}



// getObjectMaterial puzzle
function getObjectMaterial(objNames) {
objNames = retrieveObjectNames(objNames);
if (!objNames)
return '';
for (var i = 0; i < objNames.length; i++) {
var objName = objNames[i]
if (!objName)
continue;
var obj = getObjectByName(objName);
if (!obj)
continue;
if (obj.material && typeof obj.material.name == "string")
return obj.material.name;
}
return '';
}



// assignMaterial puzzle
function assignMat(objNames, matName) {
objNames = retrieveObjectNames(objNames);
@@ -465,19 +482,6 @@ function registerOnClick(objNames, cbDo, cbIfMissedDo) {



// distanceBetweenObjects puzzle
function getDistanceBetweenObjects(objName1, objName2) {
if (!objName1 || !objName2)
return;
var obj1 = getObjectByName(objName1);
var obj2 = getObjectByName(objName2);
if (!obj1 || !obj2)
return;
return obj1.getWorldPosition(_pGlob.vec3Tmp).distanceTo(obj2.getWorldPosition(_pGlob.vec3Tmp2));
}



function intersectPlaneCSS(plane, cssX, cssY, dest) {
var coords = _pGlob.vec2Tmp;
var rc = _pGlob.raycasterTmp;
@@ -562,19 +566,15 @@ function dragMove(objNames, mode, blockId, parentDragOverBlockId) {



// getObjTransform puzzle
function getObjTransform(objName, mode, coord) {
if (!objName)
// distanceBetweenObjects puzzle
function getDistanceBetweenObjects(objName1, objName2) {
if (!objName1 || !objName2)
return;
var obj = getObjectByName(objName);
if (!obj)
var obj1 = getObjectByName(objName1);
var obj2 = getObjectByName(objName2);
if (!obj1 || !obj2)
return;
if (mode == "rotation")
return swizzleValueSign(coord, obj[mode][coord] * 180/Math.PI);
else if (mode == 'position')
return swizzleValueSign(coord, obj[mode][coord]);
else
return obj[mode][coord];
return obj1.getWorldPosition(_pGlob.vec3Tmp).distanceTo(obj2.getWorldPosition(_pGlob.vec3Tmp2));
}


@@ -878,11 +878,11 @@ function eventHTMLElem(eventType, ids, isParent, callback) {



2 + 2;

Math.sqrt(4);

distZ = getObjTransform("qubit", "position", "y") - getObjTransform("qubit_controller", "position", "y");
distY = getObjTransform("qubit", "position", "z") - getObjTransform("qubit_controller", "position", "z");
distX = getObjTransform("qubit", "position", "x") - getObjTransform("qubit_controller", "position", "x");
maxDist = 2;
stepY = 0.1;

registerOnClick("bit", function() {
if (getObjectMaterial("bit") == "white") {
@@ -892,20 +892,26 @@ registerOnClick("bit", function() {
}
}, function() {});

light;

registerOnDrag(["GROUP", "qubit_grp"], function() {
dragging = true;
},
function() {
console.log(getDistanceBetweenObjects("qubit_controller", "qubit"));
dragMove("qubit_controller", "XY", "5{hamS]l^diNZ_?={UNM", "x7;j`9Tr6$fIW]tXfLwm");
inboundStepper = 0;
distZ = getObjTransform("qubit", "position", "y") - getObjTransform("qubit_controller", "position", "y");
distY = getObjTransform("qubit", "position", "z") - getObjTransform("qubit_controller", "position", "z");
distX = getObjTransform("qubit", "position", "x") - getObjTransform("qubit_controller", "position", "x");
while (getDistanceBetweenObjects("qubit_controller", "qubit") > maxDist) {
inboundStepper = (typeof inboundStepper == 'number' ? inboundStepper : 0) + 1;
applyObjLocalTransform("qubit_controller", "position", (distX / 50) * inboundStepper, 0, (distZ / 50) * inboundStepper);
}
hue = 0;
sat = Math.sqrt(distX * distX + distY * distY) / maxDist;
value = ((distZ - maxDist) / (2 * maxDist)) * -1;
console.log(hue);
console.log(sat);
console.log(value);
},
function() {
dragging = false;
@@ -914,19 +920,23 @@ registerOnDrag(["GROUP", "qubit_grp"], function() {
eventHTMLElem('wheel', ["DOCUMENT"], false, function(event) {
if (dragging == true) {
if (getEventProperty('deltaY', event) < 0) {
applyObjLocalTransform("qubit_controller", "position", 0, 0.1, 0);
applyObjLocalTransform("qubit_controller", "position", 0, stepY, 0);
if (getDistanceBetweenObjects("qubit_controller", "qubit") >= maxDist) {
applyObjLocalTransform("qubit_controller", "position", 0, -0.1, 0);
applyObjLocalTransform("qubit_controller", "position", 0, stepY * -1, 0);
}
} else if (getEventProperty('deltaY', event) > 0) {
applyObjLocalTransform("qubit_controller", "position", 0, -0.1, 0);
applyObjLocalTransform("qubit_controller", "position", 0, stepY * -1, 0);
if (getDistanceBetweenObjects("qubit_controller", "qubit") >= maxDist) {
applyObjLocalTransform("qubit_controller", "position", 0, 0.1, 0);
applyObjLocalTransform("qubit_controller", "position", 0, stepY, 0);
}
}
distY = getObjTransform("qubit", "position", "z") - getObjTransform("qubit_controller", "position", "z");
sat = Math.sqrt(distX * distX + distY * distY) / maxDist;
}
});

stepY;

} // end of PL.init function

if (window.v3dApp) {

+ 583
- 191
visual_logic.xml View File

@@ -1,5 +1,5 @@
<xml xmlns="http://www.w3.org/1999/xhtml">
<tab name="Init" type="InitTab" active="false" scrollx="326.8509198386647" scrolly="291.0316409522357" scale="0.7462349768006044">
<tab name="Init" type="InitTab" active="false" scrollx="326.8509198386643" scrolly="291.0316409522357" scale="0.7462349768006044">
<variables>
<variable type="" id="U?SMwCJdbQuF-Xah3ja#">ctrlInit</variable>
<variable type="" id=";D?T^;K0%2HHlr__^(^G">cinitx</variable>
@@ -116,45 +116,153 @@
</next>
</block>
</tab>
<tab name="Main" type="MainTab" active="true" scrollx="328.3415222167969" scrolly="302.7644958496093" scale="0.6503120144559991">
<tab name="Main" type="MainTab" active="true" scrollx="232.04986572265625" scrolly="254.50326538085938" scale="0.5226292566934678">
<variables>
<variable type="" id="2Zu0]gb$+5H;Luc?anOJ">maxDist</variable>
<variable type="" id="vG99U|`lU,3SOsjwD]~h">dragging</variable>
<variable type="" id="y`}^nMMYi2(=a@$1Rji}">inboundStepper</variable>
<variable type="" id="JjHAX,fgz)6.fPl8`pav">distZ</variable>
<variable type="" id="APc5)WJ[Hf2IW+7hrxsN">light</variable>
<variable type="" id="GKERIN}`~rk0$MWnY3aS">stepY</variable>
<variable type="" id="vpri#?vQ7`ZyX.tU55{Z">distY</variable>
<variable type="" id="vG99U|`lU,3SOsjwD]~h">dragging</variable>
<variable type="" id="~q~?4XeOMHNMn:t_#,#/">distX</variable>
<variable type="" id="y`}^nMMYi2(=a@$1Rji}">inboundStepper</variable>
<variable type="" id="2Zu0]gb$+5H;Luc?anOJ">maxDist</variable>
<variable type="" id="YfcA/U/M4Db,!/u8lx*r">sat</variable>
<variable type="" id="S`ib|8a9}oYR22qe`UUI">hue</variable>
<variable type="" id="rAlwiT?%pA#CG+i+x-1G">value</variable>
</variables>
<block type="math_arithmetic" id="Al?JxY],wv1(5{x32gC(" x="210" y="-470">
<field name="OP">ADD</field>
<value name="A">
<shadow type="math_number" id="cd~6EcUJ}w4$Y0=Gs$6%">
<field name="NUM">2</field>
</shadow>
</value>
<value name="B">
<shadow type="math_number" id="Coj2pJ.sC%(KX0VZQW%H">
<field name="NUM">2</field>
</shadow>
</value>
</block>
<block type="math_single" id="mR3K,B%P_$S#sDK8/1(V" x="450" y="-430">
<field name="OP">ROOT</field>
<value name="NUM">
<shadow type="math_number" id="$OohHrE7wu.+7Nu[mJ[B">
<field name="NUM">4</field>
</shadow>
</value>
</block>
<block type="variables_set" id="-Of)YdS4L7nQ{p`I;tM#" x="-230" y="-370">
<field name="VAR" id="2Zu0]gb$+5H;Luc?anOJ" variabletype="">maxDist</field>
<block type="variables_set" id="`dwC`Z,Jf0#0u/hYw%ew" x="-210" y="-690">
<field name="VAR" id="JjHAX,fgz)6.fPl8`pav" variabletype="">distZ</field>
<value name="VALUE">
<block type="math_number" id="s]#FuGUegt%vmJp:3X`4">
<field name="NUM">2</field>
<block type="math_arithmetic" id="vYK48iPq%bW?rAmEe9e)">
<field name="OP">MINUS</field>
<value name="A">
<shadow type="math_number" id="0DG!*XvC,U1mWBgCk!jP">
<field name="NUM">2</field>
</shadow>
<block type="getObjTransform" id="5`pEqU!+T@.H%!=sMaor">
<field name="MODE">position</field>
<field name="COORD">z</field>
<value name="TARGETOBJ">
<block type="objectList" id="bzd9goTNPfKBqmwo,R,-">
<field name="FIELDNAME">qubit</field>
</block>
</value>
</block>
</value>
<value name="B">
<shadow type="math_number" id="X3}UPd$~_EqQT^^(@`*t">
<field name="NUM">2</field>
</shadow>
<block type="getObjTransform" id="2:!qnU.-eH-O,w_xyT`D">
<field name="MODE">position</field>
<field name="COORD">z</field>
<value name="TARGETOBJ">
<block type="objectList" id="jdE@_?jnP;_a{UcFn|0%">
<field name="FIELDNAME">qubit_controller</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="yOX3;)`=#)@F+liUVF[,">
<field name="VAR" id="vpri#?vQ7`ZyX.tU55{Z" variabletype="">distY</field>
<value name="VALUE">
<block type="math_arithmetic" id=".$$Ir3t/zh,c%uV`_yJ7">
<field name="OP">MINUS</field>
<value name="A">
<shadow type="math_number" id="0DG!*XvC,U1mWBgCk!jP">
<field name="NUM">2</field>
</shadow>
<block type="getObjTransform" id="=d.wxA$Q%pnx!IU0$DWg">
<field name="MODE">position</field>
<field name="COORD">y</field>
<value name="TARGETOBJ">
<block type="objectList" id="_Qzu==Dq@/zCBnE_EL]]">
<field name="FIELDNAME">qubit</field>
</block>
</value>
</block>
</value>
<value name="B">
<shadow type="math_number" id="X3}UPd$~_EqQT^^(@`*t">
<field name="NUM">2</field>
</shadow>
<block type="getObjTransform" id="[m4A8A:umjr%RDXzbzcD">
<field name="MODE">position</field>
<field name="COORD">y</field>
<value name="TARGETOBJ">
<block type="objectList" id="@AJ7Qw=H2IwtJh~ei$wO">
<field name="FIELDNAME">qubit_controller</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="+8%a+-KwyZJzeQ_Qj66+">
<field name="VAR" id="~q~?4XeOMHNMn:t_#,#/" variabletype="">distX</field>
<value name="VALUE">
<block type="math_arithmetic" id="]YpiBLHKYkQprG??v+5y">
<field name="OP">MINUS</field>
<value name="A">
<shadow type="math_number" id="0DG!*XvC,U1mWBgCk!jP">
<field name="NUM">2</field>
</shadow>
<block type="getObjTransform" id=",n~;r.0|lDZ^+RSep-dU">
<field name="MODE">position</field>
<field name="COORD">x</field>
<value name="TARGETOBJ">
<block type="objectList" id="va4zQCbl(ZO{I:7J%9%:">
<field name="FIELDNAME">qubit</field>
</block>
</value>
</block>
</value>
<value name="B">
<shadow type="math_number" id="X3}UPd$~_EqQT^^(@`*t">
<field name="NUM">2</field>
</shadow>
<block type="getObjTransform" id="@)R!Uyt_lbQ[f7b~IlnE">
<field name="MODE">position</field>
<field name="COORD">x</field>
<value name="TARGETOBJ">
<block type="objectList" id="@H{KdHdF]*RA,3c@uDfn">
<field name="FIELDNAME">qubit_controller</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="-Of)YdS4L7nQ{p`I;tM#">
<field name="VAR" id="2Zu0]gb$+5H;Luc?anOJ" variabletype="">maxDist</field>
<value name="VALUE">
<block type="math_number" id="s]#FuGUegt%vmJp:3X`4">
<field name="NUM">2</field>
</block>
</value>
<next>
<block type="variables_set" id="3M^aWp_VVE1w5w;F,yxq">
<field name="VAR" id="GKERIN}`~rk0$MWnY3aS" variabletype="">stepY</field>
<value name="VALUE">
<block type="math_number" id="iy!e.f4@?gAiK`|;4ff1">
<field name="NUM">0.1</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
<block type="whenClicked" id="VqdFSAMNy2s9dV;DeF8R" x="-230" y="-330">
<block type="whenClicked" id="VqdFSAMNy2s9dV;DeF8R" x="-210" y="-450">
<mutation enableifmissed="false"></mutation>
<value name="VALUE">
<block type="objectList" id="PH*#jp%0:0P`YjJL[ku%">
@@ -214,7 +322,10 @@
</block>
</statement>
</block>
<block type="whenDraggedOver" id="x7;j`9Tr6$fIW]tXfLwm" x="-230" y="-150">
<block type="variables_get" id="H4]N(O5pLY;L0jVF{}NC" x="-670" y="-250">
<field name="VAR" id="APc5)WJ[Hf2IW+7hrxsN" variabletype="">light</field>
</block>
<block type="whenDraggedOver" id="x7;j`9Tr6$fIW]tXfLwm" x="-230" y="-230">
<mutation do_start="true" do_drop="true"></mutation>
<value name="VALUE">
<block type="groupList" id="AEkco$;9u|Mbt604k;B@">
@@ -232,55 +343,72 @@
</block>
</statement>
<statement name="DO_MOVE">
<block type="console.log" id="YD|,?Pg@t):Hg%^5^8oG">
<value name="VALUE">
<shadow type="text" id="Kc|_R-d}JxtO=O6`/Xn/">
<field name="TEXT">I'm here!!!</field>
</shadow>
<block type="distanceBetweenObjects" id="r_J:sRE+l`v]2rZgf9.B">
<value name="OBJECT1">
<block type="objectList" id="=H7NvinNZ/(`F:k8D5#F">
<field name="FIELDNAME">qubit_controller</field>
</block>
</value>
<value name="OBJECT2">
<block type="objectList" id="V9mq;rx+*Qw+!i=L58[=">
<field name="FIELDNAME">qubit</field>
</block>
</value>
<block type="dragMove" id="5{hamS]l^diNZ_?={UNM">
<field name="MODE">XZ</field>
<value name="TARGETOBJ">
<block type="objectList" id="rHOSmM)n,Q}U{eykuH}|">
<field name="FIELDNAME">qubit_controller</field>
</block>
</value>
<next>
<block type="dragMove" id="5{hamS]l^diNZ_?={UNM">
<field name="MODE">XZ</field>
<value name="TARGETOBJ">
<block type="objectList" id="rHOSmM)n,Q}U{eykuH}|">
<field name="FIELDNAME">qubit_controller</field>
<block type="variables_set" id="%*R-u}jpV((3F+X6x(Uj">
<field name="VAR" id="y`}^nMMYi2(=a@$1Rji}" variabletype="">inboundStepper</field>
<value name="VALUE">
<block type="math_number" id="]%ksyli0`iMBODcEbl27">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="variables_set" id="%*R-u}jpV((3F+X6x(Uj">
<field name="VAR" id="y`}^nMMYi2(=a@$1Rji}" variabletype="">inboundStepper</field>
<block type="variables_set" id="Wv!0F4xh^hawxwecaIbL">
<field name="VAR" id="JjHAX,fgz)6.fPl8`pav" variabletype="">distZ</field>
<value name="VALUE">
<block type="math_number" id="]%ksyli0`iMBODcEbl27">
<field name="NUM">0</field>
<block type="math_arithmetic" id="sAsYfOqJ/E]FY@REJJqG">
<field name="OP">MINUS</field>
<value name="A">
<shadow type="math_number" id="0DG!*XvC,U1mWBgCk!jP">
<field name="NUM">2</field>
</shadow>
<block type="getObjTransform" id="Ay(I!chs9%D*##8G97cb">
<field name="MODE">position</field>
<field name="COORD">z</field>
<value name="TARGETOBJ">
<block type="objectList" id="f@J@jzs|)p2|Gqq,cOW#">
<field name="FIELDNAME">qubit</field>
</block>
</value>
</block>
</value>
<value name="B">
<shadow type="math_number" id="X3}UPd$~_EqQT^^(@`*t">
<field name="NUM">2</field>
</shadow>
<block type="getObjTransform" id="]^}oWp7A7:]CUU.bhLn?">
<field name="MODE">position</field>
<field name="COORD">z</field>
<value name="TARGETOBJ">
<block type="objectList" id="w6-=np`W^Y0JFJXbE$!R">
<field name="FIELDNAME">qubit_controller</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="Wv!0F4xh^hawxwecaIbL">
<field name="VAR" id="JjHAX,fgz)6.fPl8`pav" variabletype="">distZ</field>
<block type="variables_set" id="I^59|%3J[Pp=,9E)!n%1">
<field name="VAR" id="~q~?4XeOMHNMn:t_#,#/" variabletype="">distX</field>
<value name="VALUE">
<block type="math_arithmetic" id="sAsYfOqJ/E]FY@REJJqG">
<block type="math_arithmetic" id="w6~AyhEi@I2voSnD5Qs;">
<field name="OP">MINUS</field>
<value name="A">
<shadow type="math_number" id="0DG!*XvC,U1mWBgCk!jP">
<field name="NUM">2</field>
</shadow>
<block type="getObjTransform" id="Ay(I!chs9%D*##8G97cb">
<block type="getObjTransform" id="A+N=Q2./TudX4)GWKJ0%">
<field name="MODE">position</field>
<field name="COORD">z</field>
<field name="COORD">x</field>
<value name="TARGETOBJ">
<block type="objectList" id="f@J@jzs|)p2|Gqq,cOW#">
<block type="objectList" id="J=1YKFQ0F~_KLP9E|gEX">
<field name="FIELDNAME">qubit</field>
</block>
</value>
@@ -290,11 +418,11 @@
<shadow type="math_number" id="X3}UPd$~_EqQT^^(@`*t">
<field name="NUM">2</field>
</shadow>
<block type="getObjTransform" id="]^}oWp7A7:]CUU.bhLn?">
<block type="getObjTransform" id="i,_AeCoql~5v,cVQ.Mux">
<field name="MODE">position</field>
<field name="COORD">z</field>
<field name="COORD">x</field>
<value name="TARGETOBJ">
<block type="objectList" id="w6-=np`W^Y0JFJXbE$!R">
<block type="objectList" id="o5SJLeBds*hw;I~5vqS8">
<field name="FIELDNAME">qubit_controller</field>
</block>
</value>
@@ -303,197 +431,312 @@
</block>
</value>
<next>
<block type="variables_set" id="z;k{})Sv={iQOB((|RW/">
<field name="VAR" id="vpri#?vQ7`ZyX.tU55{Z" variabletype="">distY</field>
<value name="VALUE">
<block type="math_arithmetic" id="x|0[hZ*j+{GF5W_mN23}">
<field name="OP">MINUS</field>
<block type="controls_whileUntil" id="^NZi,j++e!6z=a#YOOTk">
<field name="MODE">WHILE</field>
<value name="BOOL">
<block type="logic_compare" id="F-`89U`MEzX9Wjwjvt]C">
<field name="OP">GT</field>
<value name="A">
<shadow type="math_number" id="0DG!*XvC,U1mWBgCk!jP">
<field name="NUM">2</field>
</shadow>
<block type="getObjTransform" id="Xp*)@OBdP!rgk|%9f,nl">
<field name="MODE">position</field>
<field name="COORD">y</field>
<value name="TARGETOBJ">
<block type="objectList" id="J9a(X,RgR[+)gGLaXh}J">
<block type="distanceBetweenObjects" id="oCw^[Hr+_UvTP;*RgU8[">
<value name="OBJECT1">
<block type="objectList" id="occ^^!0bsS70~c2X[]uG">
<field name="FIELDNAME">qubit_controller</field>
</block>
</value>
<value name="OBJECT2">
<block type="objectList" id="YkIP|D][m]5r4eL,Gnz}">
<field name="FIELDNAME">qubit</field>
</block>
</value>
</block>
</value>
<value name="B">
<shadow type="math_number" id="X3}UPd$~_EqQT^^(@`*t">
<field name="NUM">2</field>
<block type="variables_get" id=",f{MC|KOzCi-(xQa,^(}">
<field name="VAR" id="2Zu0]gb$+5H;Luc?anOJ" variabletype="">maxDist</field>
</block>
</value>
</block>
</value>
<statement name="DO">
<block type="math_change" id="bS9hHKGp1w0.Jyu[b!q]">
<field name="VAR" id="y`}^nMMYi2(=a@$1Rji}" variabletype="">inboundStepper</field>
<value name="DELTA">
<shadow type="math_number" id=":V?g{Pn8bsj-BujoGI=g">
<field name="NUM">1</field>
</shadow>
<block type="getObjTransform" id="}J9xBre;KG-0aV!gUlqq">
</value>
<next>
<block type="applyObjLocalTransform" id="knv^{r=2u6Pp.|/J[csR">
<field name="MODE">position</field>
<field name="COORD">y</field>
<value name="TARGETOBJ">
<block type="objectList" id="qkxx?_WCLugVI#]A1|i9">
<block type="objectList" id="/N!3vWHOEnVTy$GHrzAY">
<field name="FIELDNAME">qubit_controller</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="I^59|%3J[Pp=,9E)!n%1">
<field name="VAR" id="~q~?4XeOMHNMn:t_#,#/" variabletype="">distX</field>
<value name="VALUE">
<block type="math_arithmetic" id="w6~AyhEi@I2voSnD5Qs;">
<field name="OP">MINUS</field>
<value name="A">
<shadow type="math_number" id="0DG!*XvC,U1mWBgCk!jP">
<field name="NUM">2</field>
</shadow>
<block type="getObjTransform" id="A+N=Q2./TudX4)GWKJ0%">
<field name="MODE">position</field>
<field name="COORD">x</field>
<value name="TARGETOBJ">
<block type="objectList" id="J=1YKFQ0F~_KLP9E|gEX">
<field name="FIELDNAME">qubit</field>
<value name="X">
<block type="math_arithmetic" id="yB|Uw:,Rj-5AW!_6,yyz">
<field name="OP">MULTIPLY</field>
<value name="A">
<shadow type="math_number" id="z]92Q1tu8C!^*;;$2;B)">
<field name="NUM">2</field>
</shadow>
<block type="math_arithmetic" id="Od9P3?n,+?gUCD_mZ(7_">
<field name="OP">DIVIDE</field>
<value name="A">
<shadow type="math_number" id="=~;Jgz+o/f7~q]VcQ|Fl">
<field name="NUM">2</field>
</shadow>
<block type="variables_get" id="ItxEVADZ3ud_~@gDi[ZE">
<field name="VAR" id="~q~?4XeOMHNMn:t_#,#/" variabletype="">distX</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="=R8,J(+pOVEbr4/4*B1{">
<field name="NUM">50</field>
</shadow>
</value>
</block>
</value>
</block>
</value>
<value name="B">
<shadow type="math_number" id="X3}UPd$~_EqQT^^(@`*t">
<field name="NUM">2</field>
</shadow>
<block type="getObjTransform" id="i,_AeCoql~5v,cVQ.Mux">
<field name="MODE">position</field>
<field name="COORD">x</field>
<value name="TARGETOBJ">
<block type="objectList" id="o5SJLeBds*hw;I~5vqS8">
<field name="FIELDNAME">qubit_controller</field>
<value name="B">
<shadow type="math_number" id="vjBW`vtLrGH0GWlckj-?">
<field name="NUM">2</field>
</shadow>
<block type="variables_get" id="boEL@E@|?,J2+(EB@o`J">
<field name="VAR" id="y`}^nMMYi2(=a@$1Rji}" variabletype="">inboundStepper</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="controls_whileUntil" id="^NZi,j++e!6z=a#YOOTk">
<field name="MODE">WHILE</field>
<value name="BOOL">
<block type="logic_compare" id="F-`89U`MEzX9Wjwjvt]C">
<field name="OP">GT</field>
<value name="Y">
<block type="math_number" id="ssA=tBr#8Md(=[nunV,G">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_arithmetic" id="k*b`P3|X?/PErtqDyc=a">
<field name="OP">MULTIPLY</field>
<value name="A">
<block type="distanceBetweenObjects" id="oCw^[Hr+_UvTP;*RgU8[">
<value name="OBJECT1">
<block type="objectList" id="occ^^!0bsS70~c2X[]uG">
<field name="FIELDNAME">qubit_controller</field>
<shadow type="math_number" id="z]92Q1tu8C!^*;;$2;B)">
<field name="NUM">2</field>
</shadow>
<block type="math_arithmetic" id="4FZ#5-e`#/!sefUu8e;.">
<field name="OP">DIVIDE</field>
<value name="A">
<shadow type="math_number" id="=~;Jgz+o/f7~q]VcQ|Fl">
<field name="NUM">2</field>
</shadow>
<block type="variables_get" id="c#,K~NKfxDVsLJ/7+Zq`">
<field name="VAR" id="JjHAX,fgz)6.fPl8`pav" variabletype="">distZ</field>
</block>
</value>
<value name="OBJECT2">
<block type="objectList" id="YkIP|D][m]5r4eL,Gnz}">
<field name="FIELDNAME">qubit</field>
</block>
<value name="B">
<shadow type="math_number" id="FT[k1IWOwHDf3Ivfo4?_">
<field name="NUM">50</field>
</shadow>
</value>
</block>
</value>
<value name="B">
<block type="variables_get" id=",f{MC|KOzCi-(xQa,^(}">
<field name="VAR" id="2Zu0]gb$+5H;Luc?anOJ" variabletype="">maxDist</field>
<shadow type="math_number" id="vjBW`vtLrGH0GWlckj-?">
<field name="NUM">2</field>
</shadow>
<block type="variables_get" id="A-bq9~@`?XZ:%GP^p1o)">
<field name="VAR" id="y`}^nMMYi2(=a@$1Rji}" variabletype="">inboundStepper</field>
</block>
</value>
</block>
</value>
<statement name="DO">
<block type="math_change" id="bS9hHKGp1w0.Jyu[b!q]">
<field name="VAR" id="y`}^nMMYi2(=a@$1Rji}" variabletype="">inboundStepper</field>
<value name="DELTA">
<shadow type="math_number" id=":V?g{Pn8bsj-BujoGI=g">
<field name="NUM">1</field>
</block>
</next>
</block>
</statement>
<next>
<block type="variables_set" id="3|`bOGc]nvhBn*Da}hgy">
<field name="VAR" id="S`ib|8a9}oYR22qe`UUI" variabletype="">hue</field>
<next>
<block type="variables_set" id="^;`leB*3R^PP0@RXA6su">
<field name="VAR" id="YfcA/U/M4Db,!/u8lx*r" variabletype="">sat</field>
<value name="VALUE">
<block type="math_arithmetic" id="Yil~]$W#~BocJLB=o].F">
<field name="OP">DIVIDE</field>
<value name="A">
<shadow type="math_number" id="S0Np#`v#++JrRo_%OUfa">
<field name="NUM">2</field>
</shadow>
</value>
<next>
<block type="applyObjLocalTransform" id="knv^{r=2u6Pp.|/J[csR">
<field name="MODE">position</field>
<value name="TARGETOBJ">
<block type="objectList" id="/N!3vWHOEnVTy$GHrzAY">
<field name="FIELDNAME">qubit_controller</field>
</block>
</value>
<value name="X">
<block type="math_arithmetic" id="yB|Uw:,Rj-5AW!_6,yyz">
<field name="OP">MULTIPLY</field>
<block type="math_single" id="mg4;fq51cjuGZ4JAtpP/">
<field name="OP">ROOT</field>
<value name="NUM">
<shadow type="math_number" id="X8Z3iY`yvw7g*jrkj|!m">
<field name="NUM">4</field>
</shadow>
<block type="math_arithmetic" id="9jL-Yxx!^f}yz[ow[Af]">
<field name="OP">ADD</field>
<value name="A">
<shadow type="math_number" id="z]92Q1tu8C!^*;;$2;B)">
<shadow type="math_number" id="Xo,+$nRS!9QxDy=`dND:">
<field name="NUM">2</field>
</shadow>
<block type="math_arithmetic" id="Od9P3?n,+?gUCD_mZ(7_">
<field name="OP">DIVIDE</field>
<block type="math_arithmetic" id="9/8Ls$`#M5i[C/v@:(#b">
<field name="OP">MULTIPLY</field>
<value name="A">
<shadow type="math_number" id="=~;Jgz+o/f7~q]VcQ|Fl">
<shadow type="math_number" id="[xy)HgT*MT%~YL.W(Zj^">
<field name="NUM">2</field>
</shadow>
<block type="variables_get" id="ItxEVADZ3ud_~@gDi[ZE">
<block type="variables_get" id="bTRYCQBCE}/_c!PzFX[#">
<field name="VAR" id="~q~?4XeOMHNMn:t_#,#/" variabletype="">distX</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="=R8,J(+pOVEbr4/4*B1{">
<field name="NUM">50</field>
<shadow type="math_number" id="C$`00?V4.;}wSN{;Wdz`">
<field name="NUM">2</field>
</shadow>
<block type="variables_get" id="g5E!Ic_lqU[jMb%%=:u(">
<field name="VAR" id="~q~?4XeOMHNMn:t_#,#/" variabletype="">distX</field>
</block>
</value>
</block>
</value>
<value name="B">
<shadow type="math_number" id="vjBW`vtLrGH0GWlckj-?">
<shadow type="math_number" id="uA=2*pIxh$I%z8M~={:l">
<field name="NUM">2</field>
</shadow>
<block type="variables_get" id="boEL@E@|?,J2+(EB@o`J">
<field name="VAR" id="y`}^nMMYi2(=a@$1Rji}" variabletype="">inboundStepper</field>
<block type="math_arithmetic" id="9J^ZpiX*9%%PtfsKXgj5">
<field name="OP">MULTIPLY</field>
<value name="A">
<shadow type="math_number" id="[xy)HgT*MT%~YL.W(Zj^">
<field name="NUM">2</field>
</shadow>
<block type="variables_get" id="42L=Xk}Du2;+QM8^4}3s">
<field name="VAR" id="vpri#?vQ7`ZyX.tU55{Z" variabletype="">distY</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="C$`00?V4.;}wSN{;Wdz`">
<field name="NUM">2</field>
</shadow>
<block type="variables_get" id="9}89aeBa8]t*@=boTW23">
<field name="VAR" id="vpri#?vQ7`ZyX.tU55{Z" variabletype="">distY</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="Y">
<block type="math_number" id="ssA=tBr#8Md(=[nunV,G">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_arithmetic" id="k*b`P3|X?/PErtqDyc=a">
<field name="OP">MULTIPLY</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="K@M^hf+75BhVgSSR8$ls">
<field name="NUM">2</field>
</shadow>
<block type="variables_get" id="_~WcLcdOrxI=j:/5$=/L">
<field name="VAR" id="2Zu0]gb$+5H;Luc?anOJ" variabletype="">maxDist</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="QTxq?o9Xd0!;+e3xE);V">
<field name="VAR" id="rAlwiT?%pA#CG+i+x-1G" variabletype="">value</field>
<value name="VALUE">
<block type="math_arithmetic" id="$OVVAII^[rLt`^!auu;k">
<field name="OP">MULTIPLY</field>
<value name="A">
<shadow type="math_number" id="HGyo(i)j(;yl5eJ,0DQC">
<field name="NUM">2</field>
</shadow>
<block type="math_arithmetic" id="1N$g9I`3,:hzaoe@}n#O">
<field name="OP">DIVIDE</field>
<value name="A">
<shadow type="math_number" id="z]92Q1tu8C!^*;;$2;B)">
<shadow type="math_number" id="FEx%-fAYQ~_Aeg0{%[l8">
<field name="NUM">2</field>
</shadow>
<block type="math_arithmetic" id="4FZ#5-e`#/!sefUu8e;.">
<field name="OP">DIVIDE</field>
<block type="math_arithmetic" id="ZQ,ZUjoHhgZp:,MMw2`X">
<field name="OP">MINUS</field>
<value name="A">
<shadow type="math_number" id="=~;Jgz+o/f7~q]VcQ|Fl">
<shadow type="math_number" id="(Iy6-MmUULxHWuEgy=G/">
<field name="NUM">2</field>
</shadow>
<block type="variables_get" id="c#,K~NKfxDVsLJ/7+Zq`">
<block type="variables_get" id="$=`|8*0/S(sZ^q=*GZ)W">
<field name="VAR" id="JjHAX,fgz)6.fPl8`pav" variabletype="">distZ</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="FT[k1IWOwHDf3Ivfo4?_">
<field name="NUM">50</field>
<shadow type="math_number" id="$}TPtY:.O`xA(}d1q^RC">
<field name="NUM">2</field>
</shadow>
<block type="variables_get" id="-_AjbT15:i5@imQtPhN-">
<field name="VAR" id="2Zu0]gb$+5H;Luc?anOJ" variabletype="">maxDist</field>
</block>
</value>
</block>
</value>
<value name="B">
<shadow type="math_number" id="vjBW`vtLrGH0GWlckj-?">
<shadow type="math_number" id="Qk}0AAjQ4GM66ar-;M:~">
<field name="NUM">2</field>
</shadow>
<block type="variables_get" id="A-bq9~@`?XZ:%GP^p1o)">
<field name="VAR" id="y`}^nMMYi2(=a@$1Rji}" variabletype="">inboundStepper</field>
<block type="math_arithmetic" id="/=i_}X|(r@perYSXuE+}">
<field name="OP">MULTIPLY</field>
<value name="A">
<shadow type="math_number" id="IC4sbe6(+yrn4AO/vsga">
<field name="NUM">2</field>
</shadow>
</value>
<value name="B">
<shadow type="math_number" id="Qk}0AAjQ4GM66ar-;M:~">
<field name="NUM">2</field>
</shadow>
<block type="variables_get" id="2-#v]v)~[?)PoU#:i_1:">
<field name="VAR" id="2Zu0]gb$+5H;Luc?anOJ" variabletype="">maxDist</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="B">
<shadow type="math_number" id="/C}:%0wMbSNH!0xEq6tp">
<field name="NUM">-1</field>
</shadow>
</value>
</block>
</value>
<next>
<block type="console.log" id="CSz~#m-=cKJ+IThK8A1T">
<value name="VALUE">
<shadow type="text" id="a]UNhQ)g?NDLjQ9L~ZBN">
<field name="TEXT">I'm here!!!</field>
</shadow>
<block type="variables_get" id="$3OIc0O#E7j~cJ,R`-?e">
<field name="VAR" id="S`ib|8a9}oYR22qe`UUI" variabletype="">hue</field>
</block>
</value>
<next>
<block type="console.log" id="upJ:FgyxTuO(6`0:FHlM">
<value name="VALUE">
<shadow type="text" id="a]UNhQ)g?NDLjQ9L~ZBN">
<field name="TEXT">I'm here!!!</field>
</shadow>
<block type="variables_get" id="fmN^BQWJ}iRc265bH#RM">
<field name="VAR" id="YfcA/U/M4Db,!/u8lx*r" variabletype="">sat</field>
</block>
</value>
<next>
<block type="console.log" id="A1s~7jbj`yz@j/+Q$2RU">
<value name="VALUE">
<shadow type="text" id="a]UNhQ)g?NDLjQ9L~ZBN">
<field name="TEXT">I'm here!!!</field>
</shadow>
<block type="variables_get" id="B=0NOM]eM`n,Ws`rlPbn">
<field name="VAR" id="rAlwiT?%pA#CG+i+x-1G" variabletype="">value</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</next>
</block>
</next>
</block>
@@ -519,7 +762,7 @@
</block>
</statement>
</block>
<block type="eventHTMLElem" id="fTN5K]$,(lHQ5YaPZx[f" x="-230" y="310">
<block type="eventHTMLElem" id="fTN5K]$,(lHQ5YaPZx[f" x="-210" y="610">
<field name="EVENT">wheel</field>
<field name="PARENT">FALSE</field>
<value name="ID">
@@ -574,8 +817,8 @@
</block>
</value>
<value name="Y">
<block type="math_number" id="bj=oQpgpZnobcfM]#n9w">
<field name="NUM">0.1</field>
<block type="variables_get" id="c@t6oA~3!vLGI5fmom+e">
<field name="VAR" id="GKERIN}`~rk0$MWnY3aS" variabletype="">stepY</field>
</block>
</value>
<value name="Z">
@@ -623,8 +866,21 @@
</block>
</value>
<value name="Y">
<block type="math_number" id="u/s{`r]:d;Z23,JKv}Qo">
<field name="NUM">-0.1</field>
<block type="math_arithmetic" id="6/gB.@gxXHZnF58T$uB2">
<field name="OP">MULTIPLY</field>
<value name="A">
<shadow type="math_number" id="[xy)HgT*MT%~YL.W(Zj^">
<field name="NUM">2</field>
</shadow>
<block type="variables_get" id="xR8%pI5HtVXCidC7},}z">
<field name="VAR" id="GKERIN}`~rk0$MWnY3aS" variabletype="">stepY</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="|h2dtW31$t{A;g#?7uys">
<field name="NUM">-1</field>
</shadow>
</value>
</block>
</value>
<value name="Z">
@@ -667,8 +923,21 @@
</block>
</value>
<value name="Y">
<block type="math_number" id="Qzis^7NbPX%LU~2OdS#X">
<field name="NUM">-0.1</field>
<block type="math_arithmetic" id="}5x:]=VxHAyc*C#cOfK@">
<field name="OP">MULTIPLY</field>
<value name="A">
<shadow type="math_number" id="[xy)HgT*MT%~YL.W(Zj^">
<field name="NUM">2</field>
</shadow>
<block type="variables_get" id="P}rh!K*js}]|^oz%H@tf">
<field name="VAR" id="GKERIN}`~rk0$MWnY3aS" variabletype="">stepY</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="enM}yWz[@t]ONBK/Fi/A">
<field name="NUM">-1</field>
</shadow>
</value>
</block>
</value>
<value name="Z">
@@ -716,8 +985,8 @@
</block>
</value>
<value name="Y">
<block type="math_number" id="g?6IS0+5$Kl/!xNz:yhl">
<field name="NUM">0.1</field>
<block type="variables_get" id="--3:1+_?$6d-4Q8Z3hR_">
<field name="VAR" id="GKERIN}`~rk0$MWnY3aS" variabletype="">stepY</field>
</block>
</value>
<value name="Z">
@@ -731,11 +1000,134 @@
</next>
</block>
</statement>
<next>
<block type="variables_set" id="z;k{})Sv={iQOB((|RW/">
<field name="VAR" id="vpri#?vQ7`ZyX.tU55{Z" variabletype="">distY</field>
<value name="VALUE">
<block type="math_arithmetic" id="x|0[hZ*j+{GF5W_mN23}">
<field name="OP">MINUS</field>
<value name="A">
<shadow type="math_number" id="0DG!*XvC,U1mWBgCk!jP">
<field name="NUM">2</field>
</shadow>
<block type="getObjTransform" id="Xp*)@OBdP!rgk|%9f,nl">
<field name="MODE">position</field>
<field name="COORD">y</field>
<value name="TARGETOBJ">
<block type="objectList" id="J9a(X,RgR[+)gGLaXh}J">
<field name="FIELDNAME">qubit</field>
</block>
</value>
</block>
</value>
<value name="B">
<shadow type="math_number" id="X3}UPd$~_EqQT^^(@`*t">
<field name="NUM">2</field>
</shadow>
<block type="getObjTransform" id="}J9xBre;KG-0aV!gUlqq">
<field name="MODE">position</field>
<field name="COORD">y</field>
<value name="TARGETOBJ">
<block type="objectList" id="qkxx?_WCLugVI#]A1|i9">
<field name="FIELDNAME">qubit_controller</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="!wH7ftfDJu5;2o1jo.+x">
<field name="VAR" id="YfcA/U/M4Db,!/u8lx*r" variabletype="">sat</field>
<value name="VALUE">
<block type="math_arithmetic" id="d@.*K`1T!(;jfY}}U,`L">
<field name="OP">DIVIDE</field>
<value name="A">
<shadow type="math_number" id="S0Np#`v#++JrRo_%OUfa">
<field name="NUM">2</field>
</shadow>
<block type="math_single" id="N8KU|I`D(#shOlV=F]D`">
<field name="OP">ROOT</field>
<value name="NUM">
<shadow type="math_number" id="X8Z3iY`yvw7g*jrkj|!m">
<field name="NUM">4</field>
</shadow>
<block type="math_arithmetic" id="5|?-!b|yg^#uW`x$U#D.">
<field name="OP">ADD</field>
<value name="A">
<shadow type="math_number" id="Xo,+$nRS!9QxDy=`dND:">
<field name="NUM">2</field>
</shadow>
<block type="math_arithmetic" id="Fq9iWXX02J2;E$,]RxEt">
<field name="OP">MULTIPLY</field>
<value name="A">
<shadow type="math_number" id="[xy)HgT*MT%~YL.W(Zj^">
<field name="NUM">2</field>
</shadow>
<block type="variables_get" id="cnV#+J;nQct7EAGpp_,A">
<field name="VAR" id="~q~?4XeOMHNMn:t_#,#/" variabletype="">distX</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="C$`00?V4.;}wSN{;Wdz`">
<field name="NUM">2</field>
</shadow>
<block type="variables_get" id="=L7)mcDxkT`Mq4E=lq##">
<field name="VAR" id="~q~?4XeOMHNMn:t_#,#/" variabletype="">distX</field>
</block>
</value>
</block>
</value>
<value name="B">
<shadow type="math_number" id="uA=2*pIxh$I%z8M~={:l">
<field name="NUM">2</field>
</shadow>
<block type="math_arithmetic" id="U$k,;e)U0oam-N6*rf8_">
<field name="OP">MULTIPLY</field>
<value name="A">
<shadow type="math_number" id="[xy)HgT*MT%~YL.W(Zj^">
<field name="NUM">2</field>
</shadow>
<block type="variables_get" id="@gRbx8MkRX~S[9i)x6H4">
<field name="VAR" id="vpri#?vQ7`ZyX.tU55{Z" variabletype="">distY</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="C$`00?V4.;}wSN{;Wdz`">
<field name="NUM">2</field>
</shadow>
<block type="variables_get" id="YubMW1~XnHKierG*SYfG">
<field name="VAR" id="vpri#?vQ7`ZyX.tU55{Z" variabletype="">distY</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="B">
<shadow type="math_number" id="K@M^hf+75BhVgSSR8$ls">
<field name="NUM">2</field>
</shadow>
<block type="variables_get" id="N+hvhVgj!YeTFp.h0(2E">
<field name="VAR" id="2Zu0]gb$+5H;Luc?anOJ" variabletype="">maxDist</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</statement>
</block>
<block type="variables_get" id="?0P6$c~E5z*Au;qUl-K+" x="250" y="1390">
<field name="VAR" id="GKERIN}`~rk0$MWnY3aS" variabletype="">stepY</field>
</block>
</tab>
<editorsettings width="1055" height="715"></editorsettings>
<editorsettings width="1087" height="614"></editorsettings>
</xml>

Loading…
Cancel
Save