0

多数の埋め込み画像があり、置換せずに 4 回ランダム化します (画像が表示されると、再度表示することはできません)。(以前に選択された画像だけでなく) 追加の画像のセットが表示されないことを示唆する条件を追加したいと思います。これらは、選択したものと同様の特徴を持つ画像です。

デモンストレーションするには:

次の変数の配列があるとしましょう: BF1、BA1、BF2、BA2、BF3、BA3

置換せずに配列から 3 つの変数 (画像) をランダムに描画し、次の配列からも番号 2 (同じセット) を持つ変数を削除したいと考えています。したがって、最初に描画された var が BF2 の場合、次の描画は次の配列から行われます。

BF1、BA1、BF3、BA3(いずれか1つのみランダム出現)

ここで変数 BF1 を描画したとします。次の可能な変数のセットは次のようになります。

BF3、BA3。

これが理にかなっていることを願っています..これは、これまでのところ、置換なしで描画するためのコードです:

function shuffle(array){
  var counter = array.length,
  temp, index;
  while (counter > 0){
  index = Math.floor(Math.random() * counter);
  counter = counter-1;
  temp = array[counter];
  array[counter] = array[index];
  array[index] = temp;
  }
  return array;


var myArray=[BF1,BA1,BF2, BA2, BF3,BA3, BA4, BF4, BA5, BF5, BF6, BA6, BF7, BA7, BA8, BF8, BA9, BF9, 
                BF10, BA10, BA11, BF11, BA12, BF12, BA13, BF13, BA14, BF14, BA15, BF15, BA16, BF16, BA17, BF17,
                BA18, BF18, BA19, BF19, BA20, BF20, BA21, BF21, BF22, BA23, BF23, BA24, BF24, BA25, BF25, BA26,
                BF26, BA27, BF27, BA28, BF28, BA29, BF29, BA30, BF30, BA31, BF31, BA32, BF33, BA33, BA34, BF35,
                BA35, BA36, BF36];
    
    shuffle(myArray)

4

2 に答える 2