#javascript #actionscript-3 #flash #random #flashdevelop
#javascript #actionscript-3 #flash #Случайный #flashdevelop
Вопрос:
Я разрабатываю игровой автомат «камень-ножницы-бумага» против компьютера. Нет ничего особенного, кроме игрока, играющего 3 раунда за игру.
Я использую этот код для генерации случайного числа от 1 до 3
Math.floor(Math.random()*(1 3-1)) 1
1 = Ножницы, 2 = Бумага, 3 = Камень
Я не уверен, но этот код подходит для номера 2.
Это означает, что компьютер генерирует Paper-Paper-Paper, чтобы игрок заметил это, воспользовался преимуществом и выбрал scissor-scissor-scissor. Бьюсь об заклад, вы тоже это сделаете.
Как я могу генерировать реальную случайность в AS3?
Ответ №1:
Ваш код правильный, хотя его можно упростить до простого Math.floor(Math.random()*3) 1
. Это вернет числа от 1 до 3, и распределение должно быть равномерным (если только во Flash Player нет большой ошибки).
Вы можете проверить это, выполнив цикл по числу и подсчитав вхождение каждого числа. Например:
var count = [0,0,0];
for (var i = 0; i < 10000; i ) {
var n = Math.floor(Math.random()*3) 1;
count[n-1] ;
}
trace(count);
Комментарии:
1. Я попробую это. Спасибо.