Я создаю игру, в которой компьютер пытается угадать номер пользователя на основе обратной связи с пользователем, например, слишком высокой или слишком низкой.Я использую бинарный поиск.Функции работают должным образом, однако каждый раз, когда нажимаются кнопки, код сбрасывается, чтобы исходный список составлял от 1 до 100, делая предположение 50 вместо запоминания нового списка и предположения, определенных в моих функциях.
var list = new Array();
for (i = 0; i <= 100; i++) {
list.push(i)
}
//console.log(list)
// List is intially an empty array (list). The
// for loop generates integers from
// 0 to 100 and pushes them into the array.
var guess = list[Math.floor((list.length / 2))];
console.log(guess);
var toolow = function(guess) {
while (list.includes(guess) == true) {
list.shift()
};
var guess = list[Math.floor((list.length / 2) - 1)];
console.log(list);
console.log(guess)
}
// toolow(guess)
var toohigh = function(guess) {
var last = parseInt(list.length);
while (list.includes(guess) == true) {
list.pop()
};
var guess = list[Math.round(list.length / 2)];
console.log(list);
console.log(guess)
}
// toohigh(guess)
<h1> Guess Your Number </h1>
<button id="TooLow" onclick="toolow(guess);"> Too Low</button>
<button id="TooHigh" onclick="toohigh(guess);">Too High</button>