Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.26;
Скачать: CL | DM;

Вниз

Алгоритм случайного выбора без повтора   Найти похожие ветки 

 
AntiGen   (2004-09-11 13:04) [0]

Может знает кто такой алгоритм. Это что-то вроде выбора песен из плейлиста,например, в WinAmp или WMP. Причем там всегда возможен переход от одной песни к другой в любом направлении (назад, вперед) с той же неповторяющейся последовательностью.


 
Profi ©   (2004-09-11 13:06) [1]

AntiGen   (11.09.04 13:04)
Создаешь массив случайных чисел (как сделать так, чтобы не повторялись, сам догадаешься) и все!


 
Yuri Btr ©   (2004-09-11 13:13) [2]

Если используется случайный выбор, то не имеет значения - вперед или назад - вы всегда выбираете новое случайное число.
Например у вас есть список песен. Они идентифицируются по позиции в листе. Тогда выбор следующей будет
Random(Макс. позиция в листе)
В создании формы поставь Randomize
и все.


 
AntiGen   (2004-09-11 13:14) [3]

Точно! :)) с утра голова совсем не работает! Спасибо за помощь!


 
AntiGen   (2004-09-11 13:17) [4]

2 Yuri Btr: в том то и дело, что хочется вперед\назад. WinAmp запоминает позиции. Помоему Profi тут правильный выход подсказал.


 
Yuri Btr ©   (2004-09-11 13:21) [5]

to AntiGen
"WinAmp запоминает позиции"
И правда, запоминает... Однако мне всегда казалось что наоборот :)


 
Alekc   (2004-09-11 14:45) [6]

Создаёшь два списка - в один суёшь все песни, потом их оттуда выдёргиваешь рандомом по одной и добавляешь во второй (удаляя из первого). Второй играешь с начала до конца. Когда он (второй) закончится - повторяешь операцию :)) Вперёд-назад - последовательный переход по второму.


 
Mihey_temporary ©   (2004-09-11 19:39) [7]

Заполнение массива случайными неповторяющимися числами:


procedure FillArray(var A: array of Integer);
var

I, S, R: Integer;
begin

for I := 0 to High(A) do A[I] := I;
for i := High(A) downto 0 do begin
R := Random(I);
S := A[R]; A[R] := A[I]; A[I] := S;
end;
end;



Страницы: 1 вся ветка

Текущий архив: 2004.09.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.039 c
9-1085808775
Poison man
2004-05-29 09:32
2004.09.26
Камера в GLScene


3-1093442653
Sirruf
2004-08-25 18:04
2004.09.26
Сортировка в TDBGridEh


14-1094650016
bloodman
2004-09-08 17:26
2004.09.26
Нужна ли поддержка скинов маленьким программам.


1-1094647438
Garfunkel
2004-09-08 16:43
2004.09.26
Распределение строк по captions


1-1095089837
Charly22
2004-09-13 19:37
2004.09.26
Что мешает удалению каталога?