Что в этом случае возвращает computerPick [randomPick]? - PullRequest
0 голосов
/ 11 февраля 2020

Нуб здесь. По какой-то причине я просто не мог понять, что такое доза [randomPick]. Достаточно ли вернуть компьютер?

function computerPlay() {
computerPick = ['Rock', 'Paper', 'Scissors'];
randomPick = [Math.floor(Math.random() *computerPick.length)];
return computerPick[randomPick]; }

1 Ответ

0 голосов
/ 11 февраля 2020

Итак, у вас есть список ходов, и вы хотите выбрать один из них наугад.

Если вы вернули computerPick, вы бы вернули список из 3 ходов, а это не то, что вам нужно.

Math.random() выберет число больше или равно 0, но меньше 1. Таким образом, вы получите дробь. Следовательно, вы умножаете его на длину вашего массива, чтобы увеличить его.

Допустим, вы получили случайное число r

0 <= r <1 </p>

Длина вашего массива равна 3. Итак,

0 <= 3r <3 </p>

Но это может быть доля, скажем 2.3. Теперь у вас не может быть дробных индексов.

Таким образом, вы берете слово, которое преобразует 2,3 в 2.

floor (3r) = 0 или 1 или 2

Следовательно, вы получите случайное число 0 или 1 или 2, так как база r была случайной. И поэтому функция вернет случайный ход.

...