Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   почему незаполняетца масив рандомними числами без повторений (http://www.flasher.ru/forum/showthread.php?t=189588)

роман731 14.12.2012 20:00

почему незаполняетца масив рандомними числами без повторений
 
почему незаполняетца масив рандомними числами без повторений
КОД


var q,w,e,t:int; t=0;e=0;var r:Array = new Array();
for (var p:int=0; p<30; p++){
r[p]=-1;}

for (var j:int=0; j<30; j++){
bobo();

trace(r[j]);
}
function rep ():void {q=(Math.ceil(Math.random()* (XMLData.children().length())))-1;}
tes1();

function bobo ():void {
for (var i:int=0; i<30; i++){ rep();
if (q==r[i]) {i=0;trace("qwe"+q);} else {r[j]=q;}
}}

Wolsh 14.12.2012 20:17

Для оформления своего кода надо использовать теги [as3][/as3]
Коверкать русский язык на этом форуме запрещено. Еще раз — будет плюс. Три плюса — бан.

am_devcorp 14.12.2012 20:50

ОП, ты, конечно, извини за прямоту, но

http://cs403518.userapi.com/v4035184...lwmD7m5Ixo.jpg

А по делу, что за tes1(); ? Она у тебя нигде не определена, что такое у тебя XMLData.children().length()? Что ты с ним делать хочешь? Мне сейчас немного лениво открывать справку, но ты уверен что length — это метод, а не свойство? таки это метод, ладно. А что ты хочешь сделать вообще? Судя по второму твоему топику могу предположить, что перемешивание потомков в дереве XML? Тогда вот тебе заготовка:

Код AS3:

        public function getShuffledVector(length:int):Vector.<int> {
            var arr:Vector.<int> = new Vector.<int>;
                        for (var j:int = 0; j < length; j++) {
                                arr.push(-1);
                        }
 
                        for (var i:int = 0; i < arr.length; i++) {
                                var test:int = roll(arr.length);
                                while (arr.indexOf(test) != -1) {
                                        test = roll(arr.length);
                                }
                                arr[i] = test;
                        }
                        return arr;
        }
                private function roll(max:int) :int {
                        return Math.floor(Math.random() * max) % max;
                }



Часовой пояс GMT +4, время: 13:09.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.