Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.10.2006, 02:25
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 11  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Не, ну если хочешь можешь засунуть в цикл, но копи/пасте быстрее
(я всё понимаю про "красоту кода", потому и просил не смеяться)
__________________
Reality.getBounds(this);

Старый 29.10.2006, 02:32
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 12  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Код:
a = ['a', 'b', 'c'];
Array.prototype.shuffle = function() {var len = this.length;for (l=0; l<len; l++) {this.splice(random(this.length), 0, this.splice(random(this.length), 1));}};
a.shuffle();
trace(a);

Старый 29.10.2006, 02:36
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 13  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
А вообще, мне больше всех вот это элегантное решение нравится:
Код:
Array.prototype.shuffle = function() {
	var rand = function() {return Math.floor(Math.random()*3);};
	return this.sort(rand);
}
a = [1,2,3,4,5,6,7,8,9];
a.shuffle();
trace(a);

Старый 29.10.2006, 02:57
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 14  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Денис, как тебе это может нравится, когда это не АС2 и меняет текущий класс?
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 29.10.2006, 02:57
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 15  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Элегантное??? Может быть. Только оно ПОВТОРЯЕТСЯ, а значит не является решением заявленной проблемы. И первое (прости за наглость), тоже повторяется.
__________________
Reality.getBounds(this);

Старый 29.10.2006, 03:03
Хемуль вне форума Посмотреть профиль Отправить личное сообщение для Хемуль Найти все сообщения от Хемуль
  № 16  
Ответить с цитированием
Хемуль
Квач
 
Аватар для Хемуль

Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
Ну, вообще, если говорить о задаче, то вот:
Цитата:
отбор случайности не повторялся до тех пор пока все елементы массива не пройдут
То есть, насколько я понял, элементы массива выбираются случайным образом, пока не будут выбраны все, после чего всё повторяется...
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого

Старый 29.10.2006, 03:05
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 17  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от Wolsh
Элегантное??? Может быть. Только оно ПОВТОРЯЕТСЯ, а значит не является решением заявленной проблемы. И первое (прости за наглость), тоже повторяется.
Где оно повторяется?
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 29.10.2006, 03:06
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 18  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Думаю, товарищ сформулировал неверно. Понятно же и так, чего он хочет - чтобы два раза подряд один и тот же мувик не пошел
__________________
Reality.getBounds(this);

Старый 29.10.2006, 03:12
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 19  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Нет, массив-то оно перемешивает будь здоров. Это его задача, и она решена на 5. Но элементы по одному индексу повторяются, и значит невозможно вытащить неповторяющееся число. Это в общем и так видно, из кода. Чтобы решить поставленную задачу, надо либо проверять на равенство с предыдущим значением, либо исключать это значение из рассматриваемых заранее.
Других способов не вижу.
А первый способ просто подряд совершенно одинаковые массивы выдает с частотой примерно один из восьми
__________________
Reality.getBounds(this);

Старый 29.10.2006, 03:14
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 20  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Wolsh, не фига не понял того что ты написал.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:38.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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