Кнопка «Очистить» очищает массивы до значений по умолчанию, но функция newGame отказывается запускаться впоследствии.Функция newGame отлично работает, как и предполагалось, до вызова функции Clear.Я полагаю, что новая игровая функция является виновником, но я понятия не имею, какая ее часть может ее сломать.
Можно ожидать другого массива после вызова newGame во второй раз, но я просто получаюпустой массив независимо от того, сколько раз я его называю.
let shuffledBoxes = [];
let boxes = []
let boxMax = 16;
let boxCount = 0;
const newGame = () => {
for (let i = boxes.length; i != boxMax; i++) {
if (boxes.length === boxMax) {
return null;
}
if (boxCount != Math.floor(boxMax * 0.4)) {
if (boxes.includes(2) === false) {
boxes.push(2);
}
boxes.push(1);
boxCount++;
} else {
boxes.push(0);
}
}
};
const randomBoxes = () => {
for (let i = boxes.length - 1; i >= 0; i--) {
math = Math.floor(Math.random() * boxMax);
shuffledBoxes.push(boxes[math]);
boxes.splice([math], 1);
boxMax--;
}
};
const boxesClear = () => {
for (let i = shuffledBoxes.length - 1; i > -1; i--) {
shuffledBoxes.pop();
}
for (let j = boxes.length - 1; j > -1; j--) {
boxes.pop();
}
boxCount = 0;
};
newGame();
randomBoxes();
boxesClear();
//After this point, newGame does not like to run.
newGame();
randomBoxes();
Logging boxes and shuffledBoxes show that
newGame is working before boxClear is called.
boxes = []
shuffledBoxes = [ 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 2, 1, 0, 0, 0, 0 ]
boxCount = 6
boxes = []
shuffledBoxes = []
boxCount = 0