Цитата:
И еще такой вопрос, 0.0385 это 3.85%? А если установить 0.55385, это какая вероятность? 55.385%?
|
Если бы вы не прогуливали уроки Теории вероятности, то знали бы, что вероятность может пребывать не только в процентной форме, но и в форме дроби. с:
Godwarlock, перед тем как задать вопрос "что возвращает Math.random()", попробуйте обратиться к документации от Adobe, где чётко и ясно на русском языке написано, что он возвращает.
http://help.adobe.com/ru_RU/FlashPla....html#random()
Вообще, Math.random без скобок возвращает функцию.
Код AS3:
var f:Function = Math.random;
trace(f()); // какое-то случайное значение
Цитата:
Через Math.random получается только с целыми числами и то, выпадение от 1-4(если к примеру шанс выпадения равен 4%) это достаточно большой шанс мне кажется
|
Довольно забавно, но в этом случае
Код AS3:
trace( int ( 1 + Math.random()*4));
шанс выпадения 1 из 4, 2 из 4, 3 из 4 и 4 из 4 одинаков, так как Math.random() возвращает псевдослучайное число от 0 до 1 без уклона в какую-либо сторону(равномерно).
Проверить это можно так:
Код AS3:
package com.zackmercury.test
{
import flash.display.Sprite;
import flash.events.Event;
/**
* ...
* @author ZackMercury
*/
public class Main extends Sprite
{
public function Main()
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
var numsDrops:Vector.<uint> = new <uint>[0, 0, 0, 0];
var length:int = numsDrops.length;
for (var i:int = 0; i < 10000; i ++)
{
numsDrops[int(Math.random() * length)] ++;
}
trace(numsDrops.toString());
}
}
}
->
Код:
2521,2520,2514,2445
Больше оборотов
Код AS3:
for (var i:int = 0; i < 10000000; i ++)
Код:
2500448,2498833,2499876,2500843
Что означает, что шанс выпадения 1 из 4 при использовании Math.random() является 1/4, тоесть, 0.25(что не равно 4%(0.04))
Цитата:
это скобки дают результат возврата boolen-а
|
Скобки не могут ничего возвращать, они просто определяют порядок действий над операндами.
А вот логические операторы( > < == <= >= === <== >== != ! ) возвращают булевые значения, это же основы.