Нужны отзывы.
Я очень новичок в программировании. И выполняя следующую задачу в течение последних нескольких дней: пользователь вводит число 0-5 (сколько пальцев я держу?), И компьютер случайным образом угадывает, что это за число, и сколько попыток требуется, чтобы его угадать. Мне удалось написать код, который выполнил это, однако иногда компьютеру требовалось более 20 попыток. Я полагал, что это должно занять не более 6 попыток, так как есть только 6 чисел.
document.getElementById("submitButton").onclick = function() {
var chosenNumber = document.getElementById("myNumber").value;
var gotIt = false;
var howManyGuesses = 0;
var cmpGuess = 0;
var temp = "";
var numbers = [0, 1, 2, 3, 4, 5];
var ranNums = [];
i = numbers.length
console.log(numbers);
console.log(ranNums);
if (chosenNumber < 0 || chosenNumber > 5) {
alert("Please choose a number between 0 and 5.")
return;
}
while (gotIt == false) {
cmpGuess = Math.floor(Math.random() * (i + 1));
howManyGuesses = howManyGuesses + 1;
if (cmpGuess == chosenNumber) {
gotIt = true;
alert("Got it! You number was " + chosenNumber + " and it took me " + howManyGuesses + " guesses to get it!")
} else {
numbers.splice(cmpGuess, 1);
ranNums.push(cmpGuess);
i--;
}
}
}
Я только что возился с информацией, полученной в Интернете, и не уверен, работают ли сплайс и пушправильно. До того, как я добавил i-- в конце, казалось, что компьютеру все еще нужно много попыток. Я добавил его, и теперь кажется, что оно всегда равно 6 или меньше, но мой браузер постоянно дает сбой.
Может кто-нибудь взглянуть на этот код, может быть, дать мне какой-нибудь отзыв?
Спасибо большоемного!