Flash Zone Forum > random
Ïîìîùü · Ïîèñê · Ïîëüçîâàòåëè · Êàëåíäàðü
Ïîëíàÿ âåðñèÿ ýòîé ñòðàíèöû: random
Flash Zone Forum > Macromedia Flash > Îáùèå âîïðîñû
Rohan
Ñåãîäíÿ ñäåëàë âåëèêîå îòêðûòèå íà ðîâíîì ìåñòå: ÿ òóïèë â òå÷åíèè äîëãèõ ëåò )) Âîîáùåì, ñìûñë â ñëåäóþùåì. Äîïóñòèì, âàì íóæíî ïîëó÷èòü êàêîå-òî ÷èñëî â äèàïàçîíå îò 0 äî 9. Ìíîãèå èñïîëüçóþò äëÿ ýòîãî random(), íî, êàê ïî ìíå, ýòó åðóíäó âîîáùå íóæíî âûêèíóòü èç AS, âåäü åñòü íàìíîãî áîëåå ãèáêèé Math.random(). Èòàê, Math.random... Äëÿ ïîëó÷åíèÿ ÷èñëà â äèàïàçîíå îò 0 äî 9 ÿ âñåãäà ïîëüçîâàëñÿ âûðàæåíèåì òèïà
Êîä
Math.round(Math.random()*9)

è âñå âðîäå ÎÊ... Ïðåæäå ÷åì ïðîäîëæó - õîòåëîñü áû ïîëó÷èòü íåêîòîðóþ ñòàòèñòèêó: ïîëüçîâàëèñü ëè âû êîãäà ëèáî òàêèì ñïîñîáîì ïîëó÷åíèÿ ñëó÷àéíîãî ÷èñëà? (âîïðîñ _áåç_ ïîäâîõà smile.gif )
MustLive
Öèòàòà(Rohan @ 16.06.2006 - 22:25) *
(âîïðîñ _áåç_ ïîäâîõà smile.gif )

Òû íàâåðíîå êàê-òî ïðîïóñòèë ýòîò ìîìåíò.

random() ÿâëÿåòñÿ óñòàðåâøèì (äåïðèêåéòèä) ñ ôëåøà 5. Íà÷èíàÿ ñ êîòîðîãî Ìàêðîìåäèÿ ðåêîìåíäîâàëà þçàòü Math.random().

Ïðè÷¸ì çäåñü óïîð íå ñêîëüêî íà ãèáêîñòü (äëÿ áîëüøèíñòâà ñëó÷àåâ îáû÷íîãî ðàíäîìà õâàòàåò, ïëþñ ñèíòàêñèñ äëèííåå ó ìàç.ðàíäîìà, è íóæíî îáðåçàòü ðåçóëüòàò (äëÿ ïîëó÷åíèå öåëîãî ÷èñëà), äà è êòî çíàåò, ìîæåò îáû÷íûé ðàíäîì ÷åðåç ìàç ñåé÷àñ è âûïîëíÿåòñÿ), à íà ñêîðîñòü âûïîëíåíèÿ. Ìîë Math-û âñå áîëåå áûñòðåå âûïîëíÿþòñÿ (íà÷èíàÿ ñ 5ãî ôëåøà), ÷åì "ñòàíäàðòíûå".

Ïëþñ çäåñü èä¸ò óïîð íà ñòàíäàðòèçàöèþ (â êàíîíàõ åêìà ñêðèïò), ìîë â ÿâà-ñêðèïòå èñïîëüçóåòñÿ Math.random(), âîò è âî ôëåøå èñïîëüçóéòå. Òàê ÷òî random() - ýòî ýïîõà 4ãî ôëåøà.

Öèòàòà
Math.round(Math.random()*9)

ß ÷àùå (â îñíîâíîì) ôëîð èñïîëüçóþ:
Êîä
Math.floor(Math.random()*9)

P.S.

Rohan, äàâíî ïîðà óæå áûëî íà÷èíàòü þçàòü Math.random() wink.gif

 ôëåø 4 ÿ þçàë îáû÷íûé random().  ôëåø 5, ïðîäîëæèë åãî þçàòü, íå áûëî îñîáîé íóæäû â Math.random(). À âîò âî ôëåø 6 óæå íà÷àë ïåðåõîäèòü íà Math.random() - ñ êàæäûì íîâûé ïðîåêòîì ïðî ñòàðûé ðàíäîì âñ¸ ìåíüøå âñïîìèíàåøü. À êàê â ÿíâàðå 2006 óñòàíîâèë ôëåø 8 - òî íè î êàêèõ ðàíäîìàõ (îáû÷íûõ) óæå è ðå÷è áûòü íå ìîæåò smile.gif.

Çäåñü òàêæå ñòîèò îáðàòèòü âíèìàíèå, êðîìå ñòèëÿ, ÷òî ðàç ìåòîä óñòàðåâøèé (äåïðèêåéòèä), òî â ëþáîé ìîìåíò Ìàêðîìåäèÿ/Àäîá ìîæåò ïðåêðàòèòü åãî ïîääåðæêó â ïëååðå (ñêîëüêî ìîæíî ñîâìåñòèìîñòü ïîääåðæèâàòü, ñî âñåì óñòàðåâøèì, òîæå âåäü ëèøíèé êîä â ïëååðå è ðåäàêòîðå) - òàê ÷òî âñåì äàâíî ïîðà èñïîëüçîâàòü íîâûå ìåòîäû è ïîäõîäû.
Rohan
Áëèí, ÿ íå îá ýòîì! ß ñàì íèêîãäà íå ïîëüçîâàëñÿ îáû÷íûì random-îì, âñþ æèçíü _òîëüêî_ Math.random.
Ñóòü âîïðîñà â äðóãîì... Ó ðàíäîìà, êàê îêàçàëîñü, êó÷à íüþàíñîâ )) Âîîáùåì, ñìûñë â òîì, ÷òî
Êîä
Math.round(Math.random()*9)
èñïîëüçîâàòü âîîáùå íåëüçÿ! Ýòî - íå êîððåêòíî ))
Íî ýòî ìåëî÷è... Âîïðîñ íà çàñûïêó: ÿâëÿåòñÿ ëè ñëó÷àéíûì ÷èñëî
Êîä
Math.random()+Math.random()
? smile.gif Îïÿòü æå: íèêîãäà íå îáðàùàë íà ýòî âíèìàíèå, è ñ÷èòàë ÷òî ÄÀ. À îêàçàëîñü... Ïðîâåë ñòàòèñòèêó, îôèãåë îò ðåçóëüòàòîâ =) Õîòÿ, åñëè ðàçîáðàòüñÿ, âñå òàê è äîëæíî áûòü...

Öèòàòà(MustLive @ 17.06.2006 - 03:38) *
Rohan, äàâíî ïîðà óæå áûëî íà÷èíàòü þçàòü Math.random() wink.gif

Ïðîñòî èíòåðåñíî: __â êàêîì ìåñòå__ ÿ íàïèñàë ÷òî èñïîëüçóþ îáû÷íûé random()??? dry.gif
MustLive
Öèòàòà(Rohan @ 17.06.2006 - 10:27) *
Ïðîñòî èíòåðåñíî: __â êàêîì ìåñòå__ ÿ íàïèñàë ÷òî èñïîëüçóþ îáû÷íûé random()??? dry.gif

Öèòàòà
Ñåãîäíÿ ñäåëàë âåëèêîå îòêðûòèå íà ðîâíîì ìåñòå: ÿ òóïèë â òå÷åíèè äîëãèõ ëåò ))

smile.gif

Öèòàòà
Áëèí, ÿ íå îá ýòîì! ß ñàì íèêîãäà íå ïîëüçîâàëñÿ îáû÷íûì random-îì, âñþ æèçíü _òîëüêî_ Math.random.

Ýòî õîðîøî, òàê è íóæíî.

Öèòàòà
Ñóòü âîïðîñà â äðóãîì... Ó ðàíäîìà, êàê îêàçàëîñü, êó÷à íüþàíñîâ ))

Íàïðèìåð? Ðàññêàæè ïîïîäðîáíåé î ñâîèõ íàáëþäåíèÿõ.

Öèòàòà
Âîîáùåì, ñìûñë â òîì, ÷òî
Êîä
Math.round(Math.random()*9)
èñïîëüçîâàòü âîîáùå íåëüçÿ! Ýòî - íå êîððåêòíî ))

1) Math.round íåêîððåêòåí çäåñü, êàê ÿ ïèñàë, ÿ þçàþ ôëîð - è ýòî áîëåå êîððåêòíî, ýòî ïîçâîëèò èçáåæàòü âîçìîæíûõ îøèáîê, êîòîðûå ìîãóò âîçíèêíóòü ïðè îêðóãëåíèè (Math.round). Ò.å. Math.round(Math.random()*9) íå ÿâëÿåòñÿ 100% ýêâèâàëåíòîì random(9). Êîèì ÿâëÿåòñÿ Math.floor(Math.random()*9).

2)  ÷¸ì ïî òâîåìó íåêîððåêòíîñòü Math.random()*9 (ñ ðàóíäîì, ôëîðîì, áåç ðàçíèöû, ñàì Math.random()*9 â ÷¸ì íåêîððåêòåí)?

Öèòàòà
Âîïðîñ íà çàñûïêó: ÿâëÿåòñÿ ëè ñëó÷àéíûì ÷èñëî
Êîä
Math.random()+Math.random()
? smile.gif Îïÿòü æå: íèêîãäà íå îáðàùàë íà ýòî âíèìàíèå, è ñ÷èòàë ÷òî ÄÀ. À îêàçàëîñü... Ïðîâåë ñòàòèñòèêó, îôèãåë îò ðåçóëüòàòîâ =) Õîòÿ, åñëè ðàçîáðàòüñÿ, âñå òàê è äîëæíî áûòü...

Ïî èäåå ÷èñëî äîëæíî áûòü (ïñåâäî) ñëó÷àéíûì. Ò.å. åñëè âçÿòü ÷òî ïåðâûé Math.random() ñëó÷àéíîå ÷èñëî è âòîðîé Math.random() òîæå, òî ìû ïðèõîäèì ê âîïðîñó, ÿâëÿåòñÿ ëè ñëó÷àéíûì ÷èñëîì ñóììà äâóõ ñëó÷àéíûõ ÷èñåë. Íó è âîïðîñ î ïîëíîé ñëó÷àéíîñòè Math.random() òîæå èìååò ìåñòî. smile.gif

À âîò ñòàòèñòèêà (à îíà äîëæíà áûòü äîñòàòî÷íî îáú¸ìíîé äëÿ ïîëó÷åíèÿ âûâîäîâ) - ýòî óæå èíòåðåñíî. ×òî çà ñòàòèñòèêà, êàêîâà ìåòîäèêà, êàêèå ðåçóëüòàòû (÷òî òàê âçáóäîðàæèëè) è êàêèå âûâîäû.
Rohan
Öèòàòà(MustLive @ 17.06.2006 - 16:12) *
smile.gif
2)  ÷¸ì ïî òâîåìó íåêîððåêòíîñòü Math.random()*9 (ñ ðàóíäîì, ôëîðîì, áåç ðàçíèöû, ñàì Math.random()*9 â ÷¸ì íåêîððåêòåí)?

íåêîððåêòíîñòü Math.floor(Math.random()*9) â òîì, ÷òî òû ïîëó÷èøü çíà÷åíèÿ â äèàïàçîíå îò ÍÓËß è äî ÂÎÑÜÌÈ, è âñå, êàçàëîñü áû, êðóòî - íàïèñàòü Math.floor(Math.random()*10) - è íåò ïðîáëåì... ÍÎ! Âåäü ñóùåñòâóåò â òàêîì ñëó÷àå âåðîÿòíîñòü òîãî ÷òî âûïàäåò 10 =)) Îäíà íà ìèëëèàðä, íî îíà åñòü (â ñëó÷àå, êîãäà Math.random() âîçâðàòèò ðîâíî åäèíèöó)!
Ñ Math.round() âîîáùå âåñåëî - åñëè íàïèñàòü Math.round(Math.random()*9) - âñå áóäåò ÎÊ ñ äèàïàçîíîì - çíà÷åíèÿ áóäóò ëåæàòü â äèàïàçîíå îò 0 äî 9 ÂÑÅÃÄÀ, ÍÎ!!! ÍÓËÅÉ è ÄÅÂßÒÎÊ áóäåò â äâà ðàçà ìåíüøå ÷åì åäèíèö, äâîåê, è ò.ä. Óãàäàéòå, ïî÷åìó? wink.gif
Öèòàòà(MustLive @ 17.06.2006 - 16:12) *
Ïî èäåå ÷èñëî äîëæíî áûòü (ïñåâäî) ñëó÷àéíûì. Ò.å. åñëè âçÿòü ÷òî ïåðâûé Math.random() ñëó÷àéíîå ÷èñëî è âòîðîé Math.random() òîæå, òî ìû ïðèõîäèì ê âîïðîñó, ÿâëÿåòñÿ ëè ñëó÷àéíûì ÷èñëîì ñóììà äâóõ ñëó÷àéíûõ ÷èñåë. Íó è âîïðîñ î ïîëíîé ñëó÷àéíîñòè Math.random() òîæå èìååò ìåñòî. smile.gif

Ñëó÷àéíîñòü ñàìîãî ðàíäîìà âî ôëåøå âíå ñîìíåíèé - ïîäòâåðæäåíî âñå òîé æå ñòàòèñòèêîé wink.gif À ÂÎÒ ÑÓÌÌÀ ÄÂÓÕ ÐÀÍÄÎÌÍÛÕ ×ÈÑÅË ñëó÷àéíîé ÍÅ ÿâëÿåòñÿ!!! Îíà ïîä÷èíÿåòñÿ íåêîòîðîìó (ïîõîæåìó íà íîðìàëüíîå) ðàñïðåäåëåíèþ, ò.å. Çíà÷åíèå 0 è çíà÷åíèå 2 âûïàäåò êðàéíå ðåäêî, ÷àùå âñåãî áóäåò âûïàäàòü åäèíèöà )) Ñåé÷àñ ïðîäåìîíñòðèðóþ íàãëÿäíî...
Rohan
Âîîáùåì, î ñòàòèñòèêå =)) Âîçüìåì ñëåäóþùèé êîä:
Êîä
var DATA:Array = [];
for(var i:Number=0; i<2000; i++){
    var num1:Number = Math.floor(Math.random()*15);
    var num2:Number = Math.floor(Math.random()*15);
    var index:Number = num1;
    if(DATA[index]==undefined) DATA[index]=0;
    DATA[index]++;
}
trace(DATA);

Î÷åâèäíî, ÷òî ýòà êîíñòðóêöèÿ ìíîãî ðàç âû÷èñëÿåò íåêîòîðîå öåëîå ÷èñëî, çàòåì ñ÷èòàåò, ñêîëüêî ðàç ýòî ÷èñëî âûïàëî (DATA[0] - êîëè÷åñòâî âûïàäåíèé íóëÿ, DATA[1]-åäèíèöû è ò.ä.) Ç.Û. Íå îáðàùàéòå âíèìàíèå íà íåèñïîëüçóåìûé num2 - îí ïîíàäîáèòñÿ äàëüøå wink.gif
Âîò ïðèìåð ðåçóëüòàòà:
Êîä
128,118,130,133,134,134,136,128,137,118,134,143,152,141,134

êàê âèäíî, âñå íîðìàëüíî: âåðîÿòíîñòü âûïàäåíèÿ êàæäîãî ÷èñëà îäèíàêîâà. À òåïåðü ïðîäåëàåì ýêñïåðèìåíò íîìåð äâà )
Êîä
var DATA:Array = [];
for(var i:Number=0; i<2000; i++){
    var num1:Number = Math.floor(Math.random()*15);
    var num2:Number = Math.floor(Math.random()*15);
    var index:Number = (num1 + num2)/2; //ðàçäåëèì íà äâà, ÷òîáû ïîëó÷èòü çíà÷åíèÿ â òîì æå äèàïàçîíå - ýòî íå ïðèíöèïèàëüíî
    if(DATA[index]==undefined) DATA[index]=0;
    DATA[index]++;
}
trace(DATA);

ðåçóëüòàò ñëåäóþùèé:
Êîä
8,41,47,55,78,111,126,142,128,97,73,59,52,22,8

íó êàê? wink.gif Æåëàþùèå ìîãóò ïîñòðîèòü ãðàôèê çàâèñèìîñòè êîëè÷åñòâà âûïàäåíèé ÷èñëà îò ñàìîãî çíà÷åíèÿ ýòîãî ÷èñëà. Ïîëó÷èòñÿ î÷åíü äàæå íåõèëîå ðàñïðåäåëåíèå smile.gif
MustLive
Rohan, èíòåðåñíîå èññëåäîâàíèå.
Êîä
var DATA1 = [];
var DATA2 = [];
var DATA3 = [];
var DATA4 = [];
for (var i=0; i<2000; i++){
    var num1 = Math.floor(Math.random()*15);
    var num2 = Math.floor(Math.random()*15);
    var num3 = Math.floor(Math.random()*15);
    var index1 = num1;
    var index2 = (num1 + num2)/2; //ðàçäåëèì íà äâà, ÷òîáû ïîëó÷èòü çíà÷åíèÿ â òîì æå äèàïàçîíå - ýòî íå ïðèíöèïèàëüíî
    var index3 = (num1 + num3)/2;
    var index4 = (num2 + num3)/2;
    if (DATA1[index1]==undefined) DATA1[index1]=0;
    if (DATA2[index2]==undefined) DATA2[index2]=0;
    if (DATA3[index3]==undefined) DATA3[index3]=0;
    if (DATA4[index3]==undefined) DATA4[index4]=0;
    DATA1[index1]++;
    DATA2[index2]++;
    DATA3[index3]++;
    DATA4[index4]++;
}
trace(DATA1);
trace(DATA2);
trace(DATA3);
trace(DATA4);

Ïðè÷¸ì åñëè âçÿòü åù¸ äîáàâèòü 3 ñëó÷àéíîå ÷èñëî, è ñëîæèòü ïîìèìî 1 è 2, 1 è 3, 2 è 3, òî ðàñïðåäåëåíèÿ ïîëó÷èòñÿ òàêèìè æå. Ââèäå ïàðàáîëû (ãàóñîâñêîå ðàñïðåäåëåíèå).
Êîä
143,121,159,123,129,123,130,162,134,134,143,125,136,123,115
14,37,51,62,83,100,110,122,113,100,79,67,54,23,12
12,30,52,68,69,88,121,145,113,96,77,56,48,21,5
10,35,51,63,87,110,118,126,99,80,76,52,42,25,10

Êàê ÿ óæå óïîìèíàë íåêîòîðûì òîâàðèùàì, ñåé÷àñ ÿ áåç ñâîåãî êîìïà (êîòîðûé 26.05.2006 óìåð, è äî ñèõ ïîð íå óäàëîñü åãî âåðíóòü ê æèçíè, îæèäàåòñÿ ÷òî îêîí÷àòåëüíàÿ çàìåíà íåðàáîòàþùåãî õàðäâàðà ïðîèçîéä¸ò óæå íà ñëåäóþùåé íåäåëå), è ôëåøà 8 íå èìåþ - äëÿ ðàáîòû íà äðóãîé ÏÊ ÿ ñåáå ïîñòàâèë ôëåø 6/ìõ. Ïîýòîìó êîä ïðèâîæó â 6/ìõ ôîðìàòå.

Òàê âîò, èíòåðåñíîå ðàñïðåäåëåíèå. Ïî íà÷àëó ÿ ïîäóìàë, ÷òî ìîæåò åñòü ñâÿçü â ãåíåðàòîðå ñëó÷àéíûõ ÷èñåë, ÷òî ìîë êàæäîå ñëåäóþùåå íå ïîëíîñòüþ ñëó÷àéíî, à çàâèñèò îò ïðåäûäóùåãî (â ëþáîì ñëó÷àå âñåãäà ìîæíî ïðèäðàòüñÿ ê êà÷åñòâó ãåíåðàòîðà ñëó÷àéíûõ ÷èñåë). Ìîë ïåðâîå ÷èñëî âûõîäèò íåáîëüøîå (â îñíîâíîì), âòîðîå óæå áîëüøîå (â îñíîâíîì), ñóììà èõ ïîäåë¸ííàÿ íà 2 ÿâëÿåòñÿ "ñåðåäèíîé" - ÷òî è ïîêàçûâàåò äàííîå ðàñïðåäåëåíèå - ÷òî áîëüøå ñðåäíèõ çíà÷åíèé (íàøà ïàðàáîëà). Íî âîò åñëè ñäåëàòü 3 ðàíäîìà è âçÿòü òðè ðàçíûå ñóììû, òî ðàñïðåäåëåíèå îäèíàêîâûå. Ò.å. ìû èìååì òî ÷òî èìååì smile.gif - ÷òî ñóììà äâóõ ñëó÷àéíûõ ÷èñåë ÷èñëî äàëåêî íå ñëó÷àéíîå.

Èç ìàò.ñòàòèñòèêè è òåîðèè âåðîÿòíîñòè (èç óíèâåðà) ÿ î äàííîé ñóììå íè÷åãî íå ïðèïîìèíàþ - òàêèõ âîïðîñîâ ìû âðîäå íå ïðîõîäèëè. Òàê ÷òî ãëÿíåì èíôó â èíåòå. È êàê ìîæíî ïðî÷èòàòü (â îäíîì âûñêàçûâàíèè), ÷òî "èìåííî ñóììèðîâàíèåì ñëó÷àéíûõ âåëè÷èí ðåêîìåíäóåòñÿ âîñïîëüçîâàòüñÿ äëÿ ãåíåðèðîâàíèÿ íîðìàëüíîãî ðàñïðåäåëåíèÿ".

Òàê ÷òî â äàííîì èññëåäîâàíèè ìû ïîëó÷èëè òî, ÷òî è ä.á. ïîëó÷èòü - íîðìàëüíîå ðàñïðåäåëåíèå (ãàóñîâñêîå). Ò.å. âïîëíå ðàíäîìàéçåð âî ôëåøå ðàáîòàåò wink.gif. Êàêèå åù¸ ïðèòåíçèè ó Ðîõàíà ê Math.random() à? ×òî òåáÿ âîîáùå ñìóòèëî (ñàìî íîðìàëüíîå ðàñïðåäåëåíèå) è ÷òî ïîòÿíóëî ê ñîçäàíèþ òåìû? smile.gif
Rohan
Öèòàòà(MustLive @ 18.06.2006 - 03:09) *
×òî òåáÿ âîîáùå ñìóòèëî (ñàìî íîðìàëüíîå ðàñïðåäåëåíèå) è ÷òî ïîòÿíóëî ê ñîçäàíèþ òåìû? smile.gif

Òî ÷òî ìû âñåìè ýòèìè ïðèêîëàìè ïîëüçóåìñÿ è íå äîãàäóåìñÿ îá ýòîì. ß íå èñêëþ÷àþ òî ÷òî âî ìíîãèõ èãðàõ ñ ðàíäîìîì ñîçäàòåëè íå ñëåäÿò çà òàêèìè íüþàíñàìè è â ðåçóëüòàòå...
Òî ÷òî ðàñïðåäåëåíèå ëîãè÷íîå - ß ÍÀÏÈÑÀË ÑÐÀÇÓ! Ýòî âïîëíå íîðìàëüíî, íî çàìåòü: òû îòâåòèë ÷òî ñóììà äâóõ ñëó÷àéíûõ ÷èñåë åñòü òàêæå ÷èñëî ñëó÷àéíîå, è êàæäûé áû òàê îòâåòèë - íî, êàê âèäíî, íå âñå òàê ïðîñòî.
ÂÎÏÐÎÑ Ñ Math.floor è Math.round ÒÀÊ È ÍÅ ÑÍßËÈ!!!, à òåìà èçíà÷àëüíî ñîçäàâàëàñü èìåííî îá ýòîì. Îáúÿñíþ åùå ðàç: Math.floor(Math.random()*10) îáÿçàí êàê áû âîçâðàùàòü çíà÷åíèÿ îò 0 äî 9, ÍÎ!  îäíîì ñëó÷àå íà ìèëëèàðä îí âîçâðàòèò çíà÷åíèå 10!!! È ÂÛ ÓÂÅÐÅÍÛ ÷òî âàø ïðîåêò íå ñëåò èç-çà ýòîãî??? Åñëè âäðóã îí ãäå-íèòü ïîïûòàåòñÿ îáðàòèòñÿ ê äåñÿòîìó ýëåìåíòó ìàññèâà è ïîñòðîèòü íà åãî çíà÷åíèè âñå äàëüíåéøèå âû÷èñëåíèÿ, à åãî ÒÓÏÎ ÍÅÒÓ?..
Ñ Math.round(Math.random()) òàêîãî ÍÅ ÁÓÄÅÒ, ÍÎ! Òàêîé ñïîñîá ÂÎÎÁÙÅ ÍÅËÜÇß èñïîëüçîâàòü, õîòü íèêòî èç âàñ òàê è íå äîãàäàëñÿ ïî÷åìó wink.gif
À òû ñïðàøèâàåøü ÷òî ìåíÿ ñìóòèëî... Äà íè÷åãî â ñàìîì ìåòîäå Math.random() ìåíÿ ÍÅ ñìóòèëî, ìåíÿ ñìóùàåò òî, êàê âñå ôëåøåðû (â ò.÷. è ÿ) ýòè ìåòîäîì ïîëüçóþòñÿ...
MustLive
Rohan
Öèòàòà
Òî ÷òî ðàñïðåäåëåíèå ëîãè÷íîå - ß ÍÀÏÈÑÀË ÑÐÀÇÓ! Ýòî âïîëíå íîðìàëüíî, íî çàìåòü: òû îòâåòèë ÷òî ñóììà äâóõ ñëó÷àéíûõ ÷èñåë åñòü òàêæå ÷èñëî ñëó÷àéíîå, è êàæäûé áû òàê îòâåòèë - íî, êàê âèäíî, íå âñå òàê ïðîñòî.

ß îòâåòèë ÷òî ïî èäåå.
Öèòàòà
Ïî èäåå ÷èñëî äîëæíî áûòü (ïñåâäî) ñëó÷àéíûì. Ò.å. åñëè âçÿòü ÷òî ïåðâûé Math.random() ñëó÷àéíîå ÷èñëî è âòîðîé Math.random() òîæå, òî ìû ïðèõîäèì ê âîïðîñó, ÿâëÿåòñÿ ëè ñëó÷àéíûì ÷èñëîì ñóììà äâóõ ñëó÷àéíûõ ÷èñåë.

À òàêæå:
Öèòàòà
Èç ìàò.ñòàòèñòèêè è òåîðèè âåðîÿòíîñòè (èç óíèâåðà) ÿ î äàííîé ñóììå íè÷åãî íå ïðèïîìèíàþ - òàêèõ âîïðîñîâ ìû âðîäå íå ïðîõîäèëè. Òàê ÷òî ãëÿíåì èíôó â èíåòå. È êàê ìîæíî ïðî÷èòàòü (â îäíîì âûñêàçûâàíèè), ÷òî "èìåííî ñóììèðîâàíèåì ñëó÷àéíûõ âåëè÷èí ðåêîìåíäóåòñÿ âîñïîëüçîâàòüñÿ äëÿ ãåíåðèðîâàíèÿ íîðìàëüíîãî ðàñïðåäåëåíèÿ".

Ò.å. âñ¸ ñâîäèòñÿ ê íàëè÷èþ (èëè îòñóòñòâèþ) êîíêðåòíûõ çíàíèé.

Öèòàòà
ÂÎÏÐÎÑ Ñ Math.floor è Math.round ÒÀÊ È ÍÅ ÑÍßËÈ!!!

Íà ñàìîì äåëå ÿ åãî ñíÿë åù¸ â ïåðâîì ñâî¸ì ìåñàäæå, êîãäà óïîìÿíóë ïðî ôëîð, ïðîñòî òû òàê è íå çàìåòèë ýòîãî.

Öèòàòà
à òåìà èçíà÷àëüíî ñîçäàâàëàñü èìåííî îá ýòîì. Îáúÿñíþ åùå ðàç: Math.floor(Math.random()*10) îáÿçàí êàê áû âîçâðàùàòü çíà÷åíèÿ îò 0 äî 9, ÍÎ!  îäíîì ñëó÷àå íà ìèëëèàðä îí âîçâðàòèò çíà÷åíèå 10!!! È ÂÛ ÓÂÅÐÅÍÛ ÷òî âàø ïðîåêò íå ñëåò èç-çà ýòîãî??? Åñëè âäðóã îí ãäå-íèòü ïîïûòàåòñÿ îáðàòèòñÿ ê äåñÿòîìó ýëåìåíòó ìàññèâà è ïîñòðîèòü íà åãî çíà÷åíèè âñå äàëüíåéøèå âû÷èñëåíèÿ, à åãî ÒÓÏÎ ÍÅÒÓ?..

ß òàê è ïîíÿë, ÷òî â ýòîì òåìà. È ïîòîìó íàïèñàë òåáå ïðî ìàç.ôëîð. ×òî ÿ åãî èñïîëüçóþ è âñåì ðåêîìåíäóþ. ß íå ðàñïèñûâàë äåòàëè ðàáîòû ìàç.ôëîðà, à òû ïî íåçíàþíèþ óæå âòîðîå ñîîáùåíèå ïîäðÿä ïèøåò íåêîððåêòíûå âåùè è íà ýòîì ñòðîèøü ñâî¸ óáåæäåíèå â òîì, ÷òî åñòü ïðîáëåìû â ìàçàõ.

ß êàê ÿ ïëàíèðîâàë îòâåòèòü íà òâî¸ ïðåäûäóùåå, è íà òâî¸ ïîñëåäíåå ñîîáùåíèå, ãäå òû ïðèâîäèë äîâîäû ïðî ôëîð è ðàóíä, òî ñåé÷àñ ÿ òåáå ïîÿñíþ â ÷¸ì òû íå ïðàâ.

Íà÷í¸ì ñ òîãî, ÷òî êàê ÿ ñêàçàë â ïåðâîì ïîñòå "Òû íàâåðíîå êàê-òî ïðîïóñòèë ýòîò ìîìåíò." Ò.å. âîçâðàùàåìñÿ ê "ÿ òóïèë â òå÷åíèè äîëãèõ ëåò". È ñåé÷àñ ñäåëàåì äëÿ òåáÿ, è ñêîðåå âñåãî äëÿ ìíîãèõ äðóãèõ ôëåøåðîâ, îòêðûòèå.

Math.random() íå âîçâðàùåò åäèíèöó. Åñëè áû êòî-íèáóäü óäîñóæèëñÿ, åù¸ â 5 ôëåøå, âíèìàòåëíüî ïðî÷èòàòü õåëï òî íè ïîäîáíûõ ðàçãîâîðîâ, íè ýòîé òåìû, íè âîîáùå ïîäîáíûõ ïðîáëåì áû íå áûëî.

Öèòèðóþ õåëï:
Êîä
Usage

Math.random()

Description

Method; returns n, where 0 <= n < 1.

Ò.å. íèêîãäà íå âîçâðàùàåò åäèíèöó.

È ïî ýòîìó åñëè þçàòü ìàç.ôëîð âìåñòå ñ ìàç. ðàíäîìîì - òî âñ¸ ðàáîòàåò êàê íàäî! Âñåãäà!


Âîò ïî÷åìó ÿ þçàþ Math.floor(Math.random()*x) è âîò ïî÷åìó ýòî âûáîð ïðîôåññèîíàëîâ. È äàæå ëþäè êîòîðûå íåâåðíî äóìàëè íà äàííóþ êîìáèíàöèþ (êàê òû), âñ¸ ðàâíî å¸ þçàþò - òàê êàê ýòî âåðíîå ðåøåíèå.

Math.floor(Math.random()*9) âîçâðàùàåò îò 0 äî 8, êàê è random(9) - ò.å. ýòî ïîëíûå ýêâèâàëåíòû, êàê ÿ è ãîâîðèë. È íèêàêèõ Math.round(Math.random()*9) - êîòîðûé îêðóãëÿåò, èìååò íåðàâíîìåðíîå ðàñïðåäåëåíèå è âîçâðàùàåò îò 0 äî 9.
Öèòàòà
Ñ Math.round(Math.random()) òàêîãî ÍÅ ÁÓÄÅÒ, ÍÎ! Òàêîé ñïîñîá ÂÎÎÁÙÅ ÍÅËÜÇß èñïîëüçîâàòü, õîòü íèêòî èç âàñ òàê è íå äîãàäàëñÿ ïî÷åìó

Çíàþùèì ëþäÿì è äîãàäûâàòüñÿ íåíóæíî wink.gif À êòî íå çíàë, íî êîìó íàäî - òîò äîãàäàåòñÿ. Math.round ñ Math.random íåëüçÿ èñïîëüçîâàòüñÿ - êàê è òû, ÿ îá ýòîì òîæå ãîâîèðèë ìíîãîêðàòíî.

È íåðàâíîìåðíîå ðàñïðåäåëåíèå Math.round(Math.random()) èñõîäèò èç ïðèðîäû îêðóãëåíèÿ. À Math.floor(Math.random()) - èìååò ñàìîå äîáðîòíîå ðàñïðåäåëåíèå, òóò ìîæíî íå ïåðåæèâàòü, ýòî íå Math.round. Ñ Math.floor(Math.random()) íèêàêèõ ïðîáëåì íå áóäåò, è ïðîåêò áóäåò ðàáîòàòü êàê íàäî.

Êîðèñòóâà÷³â Math.round(Math.random()) äî ðàþ íå ïóñêàþòü... wink.gif

Öèòàòà
À òû ñïðàøèâàåøü ÷òî ìåíÿ ñìóòèëî... Äà íè÷åãî â ñàìîì ìåòîäå Math.random() ìåíÿ ÍÅ ñìóòèëî, ìåíÿ ñìóùàåò òî, êàê âñå ôëåøåðû (â ò.÷. è ÿ) ýòè ìåòîäîì ïîëüçóþòñÿ...

ß ïî òîìó è ñïðàøèâàë - âåäü ñ ñàìèì Math.random() âñ¸ õîðîøî. Ïîòîìó íåïîíÿòíà áûëà èç ïåðâûõ ïîñòîâ ñóòü òâîèõ çàìå÷àíèé. Âñ¸ äåëî áûëî óæå â îêðóãëåíèÿõ-îòñå÷åíèÿõ (ðàóíä-ôëîð). Ïðîáëåìà áûëà â íå êîððåêòíûõ çíàíèÿõ î ðàáîòå ôëîðà, ïîòîìó è àêöåíòû áûëè íåâåðíî ðàñòàâëåíû (÷òî è ôëîð è ðàóíä - îáà ïëîõèå). Þçàé ôëîð è âñ¸ áóäåò õîðîøî smile.gif.
Jox
ß ñìîòðþ âû êðóòî â ýòîì øàðèòå, ñàì ÿ ïîëüçóþñü:
Êîä
Math.round(Math.random()*9)

Ó ìåíÿ âîïðîñ: äîïóñòèì ó ìåíÿ 2 ìóâèêà êðóã (kr) è êâàäðàò (kv) â øóòåðå. È ÿ õî÷ó ÷òîáû îíè âûáåãàëè íå ïîñëåäîâàòåëüíî. Äîïóñòèì ÿ ñòðåëÿþ â êðóã (óáèâàþ), îí åù¸ ðàç ïîÿâëÿåòñÿ, çàòåì êâàäðàò.
ß äóìàþ, ÷òî ýòî ìîæíî îñóùåñòâèòü, ÷åðåç Math.random(). Íàäî ëè ìóâèêè îáîçíà÷àòü öèôðàìè, è âîîáùå êàê ìîæíî ýòî îñóùåñòâèòü?
Eyronz
Åñëè òåáÿ ÿ ïðàâèëüíî ïîíÿë íóæíî ÷òîáû ïðè êàêîì-òî ñîáûòèè âûëåòàë èëè êðóã èëè êâàäðàò, ÷òî îïðåäåëÿåòñÿ ñëó÷àéíî. Âîò ãëÿíü êîä, òóò ïðè çàïóñêå êëèïà áóäåò âûëåòàåò êàêîé íèáóäü îáüåêò.
Êîä
z=Math.floor(Math.random()*2);
if(z==1){
attachMovie("kv","kv1",1);
    _root.kv1._x=600;
    _root.kv1._y=200;
    onEnterFrame = function (){
    _root.kv1._x-=25;
}
}
if(z==0){
attachMovie("kr","kr1",1);
    _root.kr1._x=600;
    _root.kr1._y=200;
    onEnterFrame = function (){
    _root.kr1._x-=25;
}
}


Ïåðåìåííàÿ z ìîæåò áûòü èëè 0 èëè 1, ñëó÷àéíûì îáðàçîì. Åñëè íîëü, òî âûëåòàåò êðóã, åñëè æå 1, òî ñîîòâåòñòâåííî êâàäðàò.
Êîä ïèñàòü â êàäð. Ñîçäàòü äâà ñèìâîëà - ìóâèêà: êðóã è êâàäðàò. Äàòü ñèìâîëàì ( íå ýêçåìïëÿðàì, ò.ê. íà ïîëå íå äîëæíî íè÷åãî áûòü) ñîîòâåòñòâåííî êîäó èìåíà. Ïîñòàâèòü â ñâîéñòâàõ Linkage ñèìâîëîâ ãàëî÷êè íà Export for AS. Äóìàþ òû çíàåøü êàê ýòî äåëàòü.
Ïîíÿòíî?

Òîëüêî çà ïðàâèëüíîñòü íàïèñàíèÿ ñèëüíî íå áåéòå ïî ðóêàì. Ãëàâíîå ÐÀÁÎÒÀÅÒ.
MustLive
Öèòàòà(Jox @ 9.07.2006 - 12:11) *
ß ñìîòðþ âû êðóòî â ýòîì øàðèòå, ñàì ÿ ïîëüçóþñü:
Êîä
Math.round(Math.random()*9)

Jox

Íèêàêèõ Math.round(Math.random())!

Èñïîëüçóé èñêëþ÷èòåëüíî Math.floor(Math.random()). Ò.ê. ñ Math.round áàãè îáåñïå÷åíû. Î ÷¸ì óæå ìíîãî ïèñàëîñü âûøå.

Êàê ÿ ïèñàë:
Öèòàòà
Êîðèñòóâà÷³â Math.round(Math.random()) äî ðàþ íå ïóñêàþòü... wink.gif

Òàê ÷òî èñïîëüçóé Math.floor.

Öèòàòà
ß äóìàþ, ÷òî ýòî ìîæíî îñóùåñòâèòü, ÷åðåç Math.random(). Íàäî ëè ìóâèêè îáîçíà÷àòü öèôðàìè, è âîîáùå êàê ìîæíî ýòî îñóùåñòâèòü?

Eyronz óæå ïðèâåë ïðèìåð, èç êîòîðîãî òû ìîæåøü ïîíÿòü ñóòü àëãîðèòìà ðàáîòû ñ Math.random().
Jox
Âñ¸ êðóòî, ñïàñèáî çà ïîäñêàçó, ìû ñ ïðîãðàììèñòîì òàê âñ¸ è ñäåëàëè (íå çàõîäÿ åù¸ ñþäà),
íî ó íàñ íå ìíîãî ïðîáëåìà â äðóãîì, ôëåøêà ñîñòîèò èç ìíîæåñòâî ôàéëîâ, ïîýòîìó ñ ïóòÿìè çàãðóçêè ïðîáëåìû.
P.S. Îòâå÷àòü íå îáÿçàòåëüíî.

 ãëàâíîì swf ôàéëå Port â êàäðå íàïèñàëè
Êîä
_root.Port.loadMovie("em"+Math.floor(Math.random()*2+1)+".swf");

, ãäå åù¸ 3 swf ôàéëû (em1, em2, em3) ÿâëÿþòñÿ âðàãàìè.
chingachgoog
Öèòàòà(MustLive @ 17.06.2006 - 03:38) *
random() ÿâëÿåòñÿ óñòàðåâøèì (äåïðèêåéòèä) ñ ôëåøà 5. Íà÷èíàÿ ñ êîòîðîãî Ìàêðîìåäèÿ ðåêîìåíäîâàëà þçàòü Math.random().

Ïðè÷¸ì çäåñü óïîð íå ñêîëüêî íà ãèáêîñòü (äëÿ áîëüøèíñòâà ñëó÷àåâ îáû÷íîãî ðàíäîìà õâàòàåò, ïëþñ ñèíòàêñèñ äëèííåå ó ìàç.ðàíäîìà, è íóæíî îáðåçàòü ðåçóëüòàò (äëÿ ïîëó÷åíèå öåëîãî ÷èñëà), äà è êòî çíàåò, ìîæåò îáû÷íûé ðàíäîì ÷åðåç ìàç ñåé÷àñ è âûïîëíÿåòñÿ), à íà ñêîðîñòü âûïîëíåíèÿ. Ìîë Math-û âñå áîëåå áûñòðåå âûïîëíÿþòñÿ (íà÷èíàÿ ñ 5ãî ôëåøà), ÷åì "ñòàíäàðòíûå".


Ñàìûé ïðèêîë â òîì, ÷òî ÿêîáû "óñòàðåâøèé" random() âûïîëíÿåòñÿ ÁÛÑÒÐÅÅ, ÷åì "íîâåéøèé" Math. Ýòî ïðè âûïîëíåíèè â ãîëîì âèäå. À åñëè ïðèáàâèòü îêðóãëåíèå è ïåðåìíîæåíèå äëÿ Math, òî åãî îòñòàâàíèå åùå áîëüøå.
(íó è âû ñàìè çàìåòèëè, ÷òî random() ñèíòàêñè÷åñêè óäîáíåå).
Ïîýòîìó â êðèòè÷íûõ ê ñêîðîñòè áëîêàõ êîäà êàê ðàç öåëåñîîáðàçíåå èñïîëüçîâàòü "ñòàðûé" random().

PS
Ðàçðàáîò÷èêè âñåãäà ìíîãî íåäîãîâàðèâàþò èëè äàæå âðóò - èõ öåëü: ïðîäàòü íîâûé ïðîäóêò.
Ðóññêàÿ âåðñèÿ IP.Board © 2001-2009 IPS, Inc.