Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.036 c
6-1090224937
Sky
2004-07-19 12:15
2004.09.26
DHTML компонента


3-1093518597
1g0r
2004-08-26 15:09
2004.09.26
список всех таблиц в SQLDataSet


1-1095074202
kolos_rus
2004-09-13 15:16
2004.09.26
Глобальная переменная


4-1092129289
BorH
2004-08-10 13:14
2004.09.26
Как узнать, есть ли птичка у ListItem у чужого ListView


4-1092209852
CHEK
2004-08-11 11:37
2004.09.26
APIHOOKS




   Наверх