#javascript #function
#javascript #функция
Вопрос:
Я учусь программировать уже несколько месяцев и постепенно начинаю создавать свою собственную очень простую программу «орел или решка».
Я не понимаю, почему функция computerPick() не присваивает новое значение компьютеру из случайного индекса??? Любая помощь была бы отличной!
let player = "heads";
let computer = null;
let gamePicks = ["heads", "tails"];
function computerPick() {
let randomIndex = gamePicks[Math.floor(Math.random() * gamePicks)];
computer = gamePicks[randomIndex];
}
function comparePicks() {
computerPick()
if (player === computer) {
console.log(`This game was a tie with both players picking ${player}`);
} else if (player === "heads" amp;amp; computer === "tails") {
console.log(`Wooh player won with ${player}`);
} else console.log(`boooo computer won with ${computer}`);
}
comparePicks();
Комментарии:
1. ваша строка
let randomIndex = gamePicks[Math.floor(Math.random() * gamePicks)];
должна бытьlet randomIndex = gamePicks[Math.floor(Math.random() * gamePicks.length)];
…gamePicks.length
— количество элементов в массиве (в данном случае 2), в то времяgamePicks
как фактический массив.2. Странные правила для победы.
Ответ №1:
Вы столкнулись с этой проблемой, потому что пытаетесь умножить значение массива на числовое значение. Вместо этого используйте приведенный ниже код:
let randomIndex = gamePicks[Math.floor(Math.random() * gamePicks.length)];