PDA

Просмотр полной версии : Про рандом


flastar
04.10.2006, 18:53
водлопиаа... ой о чем это я?
Добрый день, господа flash'еры!!!;)
Просьба помочь в такой ситуации!!!!
У меня на сцене 12 ящиков. При нажатии на ящик(любой) появляется
число. И снова. И снова. Проблема в том, как при загрузке сцены эти числа
(в ящиках) менялись местами, т.е. я запустил мою флэшку 1-ый раз и в ящике 6 (например) число 10000, а при 2-ом запуске в ящике 3 (например)
число 10000.
Помогите плз!!!!!!!!!!!!!!!!!

Storm[pfp]
04.10.2006, 19:38
в чем проблема !? рандоино при запуске выбирай ящик и помещай туда число

D12
05.10.2006, 01:07
Задача не так проста , тебе нужно работать с масивом и проверять варианты совпадения ...

P.S. Попробую сделать что небудь ... завтра , а сейчас спать =)

iNils
05.10.2006, 02:31
function getUnique (array:Array) {
var len:Number = array.length;
var arrayA:Array = array.concat ();
var arrayB:Array = new Array ();
for (var i:Number = 0; i < len; i++) {
arrayB.push (arrayA.splice (Math.floor (Math.random () * arrayA.length), 1)[0]);
}
return arrayB;
}
////
var array:Array = new Array (0, 1, 2, 3, 4, 5, 6);
////
trace (getUnique (array));
trace (getUnique (array));
trace (getUnique (array));
trace (getUnique (array));
trace (getUnique (array));

ASp
05.10.2006, 11:51
1) если нужно просто размещеть произвольные числа, то можно просто обойтись random(max_value+1);
2) iNils в принципе правильный код подсказал, но зачем так городить? Тем более он зафиксировать тип возвращаемого функцией значение, так что в трейсе вылетят ошибки.
3) вот код, получившийся у меня:

function getUnique (array:Array): Number {
var arr_length:Number = array.length;
var rand_index:Number = random(arr_length);
var element:Number = array[rand_index];

array.splice(rand_index, 1);
return element;
}
var array:Array = [0, 1, 2, 3, 4, 5, 6];
trace(getUnique(array));Данная функция работает без повторов значений из массива, т.е. число ящиков, по идее, должно не превышать кол-во эл-тов массива array, иначе будет одна пустота.
iNils - каким образом помещать текст кода в сообщениях, чтобы он был в отдельном окне?

etc
05.10.2006, 13:10
ASp, тегами code.

D12
06.10.2006, 00:13
Спасибо =)