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)){

目前,这一切都很好。当然,这可能不是最有效的方式,但它实现了我迄今为止想要的。

但我现在想要多个包含整数的数组。这是因为如果用户重新加载游戏,那么他们就会确切地知道要按下哪些图像才能获胜。因此,我想创建几个数组,其中一个将在游戏开始时随机选择。

例如..

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 处理随机数组的选择。

希望你能得到我想要的。我试图尽可能地具有描述性。再次总结一下,我希望能够在游戏开始时选择一个数组,以便可以多次玩游戏。你能写出我需要的代码吗?我有一种感觉它非常简单。但我花了几天时间寻找。

谢谢您的帮助 :)

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 回答