0

現在、ユーザーが大量の画像をクリックできるゲームを作成しています。どの画像をクリックするかによって、さまざまなことが起こります。以前の質問を見たところ、「配列内の項目をランダムに選択するにはどうすればよいですか」と尋ねているようです。しかし、私のものはこれらとは少し異なります。私の答えがどこかにあると感じたら申し訳ありません。でもとにかく!

私の質問は簡単です:

配列をランダムに選択するにはどうすればよいですか? これまでのコードには、配列内に整数が存在するかどうかを確認できる関数が含まれています。これはこれまでの私のコードです。

//The array below contains the integers.
example=new Array(1,2,3);


//The function below checks whether 'image' (which is an integer) is the same as any integers within the example array.

function isItThere(obj) {
    var j = false;
    for (var i = 0; i < example.length; i++) {
        if (example[hits] == obj) {
            j = true;
            break;
        }
    }
    return j;
}
//This is the IF statement I have used. After the integer associated with 'image' has been passed through the 'isItThere' function either A or B will happen. (A happens if the number exists).
if(isItThere(image)){

現在、これはすべて完全に正常に機能します。確かに、それは最も効率的な方法ではないかもしれませんが、私がこれまで望んでいたことを達成できます.

しかし、整数を含む複数の配列が必要になりました。これは、ユーザーがゲームをリロードすると、勝つためにどの画像を押せばよいかを正確に把握できるためです。したがって、いくつかの配列を作成したいと考えており、そのうちの 1 つがゲームの開始時にランダムに選択されます。

例えば..

example0=new Array(1,2,3);
example1=new Array(4,5,6);
example2=new Array(7,8,9);

次のコードを使用する必要があると思います。

var num=Math.floor(Math.random()*3);

そして、どういうわけかその数字を「例」という言葉に結び付けます。

そうすれば、私のコードのこの部分

if(isItThere(image)){

ランダムな配列の選択を扱うのは isItThere であるため、同じままでかまいません。

うまくいけば、私が求めようとしているものが得られます。できるだけ説明的になるように努めました。もう一度要約すると、ゲームを複数回プレイできるように、ゲームの開始時に 1 つの配列を選択できるようにしたいと考えています。必要なコードを書いてもらえますか? とてもシンプルな気がします。しかし、私は何日も見て過ごしました。

助けてくれてありがとう :)

4

2 に答える 2

2

親配列を作って、その親配列を参照するのはどうですか?

var childArray1 = [1,2,3],
childArray2 = [4,5,6],
childArray3 = [7,8,9],
parentArray = [childArray1, childArray2, childArray3];

また、 parentArray.push(childArray1);で追加することもできます。、どちらがあなたに適していますか。

于 2012-05-03T09:22:35.557 に答える
0

配列の配列を実行し、 random で選択する必要があります:

var myArray = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9],
];

var theArray = myArray[Math.random() * 3)];
于 2012-05-03T09:27:23.597 に答える