フォルダに一連の画像があり、画像を繰り返すことができない回数をユーザーが言うことができる状態で画像をランダムに表示したい。つまり、10 個の画像とユーザー入力 3 がある場合、最近表示されなかった他の画像 (最近表示された 3 つを除く) をランダムな順序で表示する必要があります。
1 に答える
2
List
すべてのファイル名を含む aを作成します。n
同じ画像の 2 つの表示の間にある画像の最小数を とします。
var list = new List<string>();
// Fill list with all filenames ...
次に、範囲から[0..len(List)-n]
ランダムに画像の1つを選択するだけです
// Initialization of random number generator just once...
var rand = new Random();
// ...
var index = rand.Next(list.Count - n);
var nextImage = list[index];
次に、画像を削除してリストの最後に置きます。
list.RemoveAt(index);
list.Add(nextImage);
nextImage
次の画像が含まれています。
于 2012-08-11T15:01:02.357 に答える