var resultSet = [];
var redParent = document.querySelector(".red .balls-wp");
var allRedItems = redParent.children;
var blueParent = document.querySelector(".blue .balls-wp");
var allBlueItems = blueParent.children;
function restore() {
var str1 = "";
var str2 = "";
for (var i = 1; i <= 33; i++) {
str1 += "<b>" + (i >= 10 ? i : "0" + i) + "</b>";
}
for (var j = 1; j <= 16; j++) {
str2 += "<b>" + (j >= 10 ? j : "0" + j) + "</b>";
}
redParent.innerHTML = str1;
blueParent.innerHTML = str2;
}
function randomFn() {
var redBlockRandomNums = getRandomNums(33, 6).sort(function (a, b) {
return parseInt(a) - parseInt(b);
});
var blueBlockRandomNums = getRandomNums(16, 1);
var resultStr =
redBlockRandomNums.join(",") + "|" + blueBlockRandomNums.join("");
if (resultSet.includes(resultStr)) {
randomFn();
return;
}
resultSet.push(resultStr);
restore();
var selectedRedItems = [];
var unselectedRedItems = [];
for (var item of allRedItems) {
var val = item.innerText;
item.classList.remove("active");
if (redBlockRandomNums.includes(val)) {
item.classList.add("active");
selectedRedItems.push(item);
} else {
unselectedRedItems.push(item);
}
}
var selectedBlueItems = [];
var unselectedBlueItems = [];
for (var item of allBlueItems) {
var val = item.innerText;
item.classList.remove("active");
if (blueBlockRandomNums.includes(val)) {
item.classList.add("active");
selectedBlueItems.push(item);
} else {
unselectedBlueItems.push(item);
}
}
redParent.innerHTML = "";
selectedRedItems = selectedRedItems.sort(function (first, last) {
return first.innerText - last.innerText;
});
selectedRedItems.concat(unselectedRedItems).forEach(function (item) {
redParent.appendChild(item);
});
blueParent.innerHTML = "";
selectedBlueItems = selectedBlueItems.sort(function (first, last) {
return first.innerText - last.innerText;
});
selectedBlueItems.concat(unselectedBlueItems).forEach(function (item) {
blueParent.appendChild(item);
});
return redBlockRandomNums.join(",") + "|" + blueBlockRandomNums.join("");
}
function getRandomNums(base, numCount) {
var existNums = [];
while (existNums.length < numCount) {
var num = Math.floor(Math.random() * base + 1);
var fNum = num >= 10 ? String(num) : "0" + num;
if (!existNums.includes(fNum)) {
existNums.push(fNum);
}
}
return existNums;
}