JSFiddle - React, Tailwind, and code Playground
by tanvir_alam_shawn
JavaScript
var collection=[
{value:20, next:"", prev: "", isLocked:false},
{value:20, next:"", prev: "", isLocked:false},
{value:20, next:"", prev: "", isLocked:false},
{value:20, next:"", prev: "", isLocked:false},
{value:20, next:"", prev: "", isLocked:false},
];
for(i = 0; i < collection.length; i++) {
collection[i].next = (i+1) % collection.length;
collection[i].prev = i > 0 ? i-1 : collection.length-1;
}
collection[1].value = 21;
currentPointer = collection[1];
nextPointer = collection[currentPointer.next]
newTargetValue(currentPointer, nextPointer);
function newTargetValue(currentPointer, nextPointer) {
console.log(currentPointer, nextPointer)
if (currentPointer.value >= nextPointer.value) {
toBeStolen = currentPointer.value - nextPointer.value;
console.log(toBeStolen)
}
if (currentPointer.value <= nextPointer.value) {
}
/*if (slider.value<targetValue) {
toBeStolen = targetValue - slider.value;
do {
if (isValidForStealing(slider,currentPointer)) {
currentPointer.value--;
toBeStolen--;
}
currentPointer = currentPointer.next;
} while (toBeStolen > 0);
} else if(slider.value>targetValue) {
toBeDistributed = slider.value - targetValue;
do {
if (isValidForDistribution(slider,currentPointer)) {
currentPointer.value++;
toBeDistributed--;
}
currentPointer = currentPointer.prev;
} while (toBeDistributed > 0);
}
slider.value = targetValue;*/
}
function isValidForStealing(slider, currentPointer) {
console.log(slider, currentPointer)
if (currentPointer) {
if (currentPointer.value===0) return false;
if (slider === currentPointer) return false;
if (currentPointer.isLocked) return false;
}
return true;
}
function isValidForDistribution(slider, currentPointer) {
if (currentPointer.value===100) return false;
if (slider === currentPointer) return false;
if...