Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays AS3在循环中创建多个数组_Arrays_Actionscript 3_Loops_Random_For Loop - Fatal编程技术网

Arrays AS3在循环中创建多个数组

Arrays AS3在循环中创建多个数组,arrays,actionscript-3,loops,random,for-loop,Arrays,Actionscript 3,Loops,Random,For Loop,我试图制作六个数组,所以我都是手工创建的。我知道有一种方法可以让这场混战变得更短,但我已经忘记了 var variant_1:Array = new Array (rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.ge

我试图制作六个数组,所以我都是手工创建的。我知道有一种方法可以让这场混战变得更短,但我已经忘记了

var variant_1:Array = new Array
                    (rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), 
                     "", "",  "", "",  "", "", "", "", "", "", "", "");

var variant_2:Array = new Array
                    (rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), 
                     "", "",  "", "",  "", "", "", "", "", "", "", "");

var variant_3:Array = new Array
                    (rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), 
                     "", "",  "", "",  "", "", "", "", "", "", "", "");

var variant_4:Array = new Array
                    (rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), 
                     "", "",  "", "",  "", "", "", "", "", "", "", "");

var variant_5:Array = new Array
                    (rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), 
                     "", "",  "", "",  "", "", "", "", "", "", "", "");

var variant_6:Array = new Array
                    (rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), rp.getNum(), 
                     "", "",  "", "",  "", "", "", "", "", "", "", "");
注意:getNum()是一个函数,它给我一个介于1和90之间的随机数字范围,然后我将它们分配给一个动态创建的表

注2:数组中的空值是表中的空单元格,因为在一个9x3的表中,我需要15个数字和12个空格

注3:是的,这是一个宾果游戏


谢谢。

您可以使用for循环

for(var i:int=0; i<10; i++) {
  trace(i);       
} 

for(var i:int=0;i您可以使用for循环

for(var i:int=0; i<10; i++) {
  trace(i);       
} 
for(变量i:int=0;i
//使用您的变体:
//变体[0][0]与您的变体_1[0]相同

function createVariants(numVariants : int, numPrefilled : int, numEmpty : int) : Array{
  var variants : Array = [];
  for(var i : int = 0;i<numVariants;i++){
    var variant : Array = [];
    for(var j : int = 0;j<numPrefilled ;j++){
      variant.push(rp.getNum());
    }
    for(var j : int = 0;j<numEmpty ;j++){
      variant.push("");
    }
    variants.push(variant);
  }
  return variants;
}
函数createVariants(numVariants:int,numPrefilled:int,numEmpty:int):数组{
变量:数组=[];
对于(变量i:int=0;i
//使用您的变体:
//变体[0][0]与您的变体_1[0]相同

function createVariants(numVariants : int, numPrefilled : int, numEmpty : int) : Array{
  var variants : Array = [];
  for(var i : int = 0;i<numVariants;i++){
    var variant : Array = [];
    for(var j : int = 0;j<numPrefilled ;j++){
      variant.push(rp.getNum());
    }
    for(var j : int = 0;j<numEmpty ;j++){
      variant.push("");
    }
    variants.push(variant);
  }
  return variants;
}
函数createVariants(numVariants:int,numPrefilled:int,numEmpty:int):数组{
变量:数组=[];

对于(var i:int=0;i基于Paul的答案,您还可以使用2d数组来存储每个数组,这样做的好处是可以使用循环创建所需的任意多个数组变体(成本是必须维护2d数组所增加的复杂性)

使用二维阵列可能类似于:

function createArrayVarient(){
    var result:Array = new Array();
    var counter:int;

    // 15 as there are 15 numbers added first
    for(counter = 0; counter < 15; counter++){
        result.push(rp.getNum());
    }

    // 12 for the number of "" added
    for(counter = 0; counter < 12; counter++){
        result.push("");
    }
    return result;
}

var arrayVarients:Array = new Array();

// 6 as you have 6 array variants in your sample
for(var counter = 0; counter < 6; counter++){
    arrayVarients.push(createArrayVarient());
}
要访问数组变量中的每个值,它将转到(使用2个索引):


根据Paul的答案,您还可以使用2d数组来存储每个数组,这样做的好处是可以使用循环创建所需的任意多个数组变体(成本是维护2d数组所增加的复杂性)

使用二维阵列可能类似于:

function createArrayVarient(){
    var result:Array = new Array();
    var counter:int;

    // 15 as there are 15 numbers added first
    for(counter = 0; counter < 15; counter++){
        result.push(rp.getNum());
    }

    // 12 for the number of "" added
    for(counter = 0; counter < 12; counter++){
        result.push("");
    }
    return result;
}

var arrayVarients:Array = new Array();

// 6 as you have 6 array variants in your sample
for(var counter = 0; counter < 6; counter++){
    arrayVarients.push(createArrayVarient());
}
要访问数组变量中的每个值,它将转到(使用2个索引):


我想这就是你想要的

var iVariantCount:int = 6;//number of variants
var arrVariants:Array = new Array();//this will hold your variants array (variant_1,variant_2,etc)
var iVariantLength:int = 27;//total no fo elements in a variant array
var iRandomNumCount:int = 15;//no of random numbers in a variant array

for (var i:int = 0;  i<iVariantCount ; i++) 
{
    var arrVariant:Array = new Array();
    for (var j:int = 0;  j < iVariantCount ; j++) 
    {
        if (i < iRandomNumCount)
        {
            arrVariant.push(rp.getNum());
        }
        else
        {
            arrVariant.push("");
        }
        arrVariants.push(arrVariant);
    }   
}

//Check the result
for (i = 0;  i<arrVariants.length ; i++) 
{
    trace("Variant_" + i + ": " + arrVariants[i]);
}
var iVariantCount:int=6;//变量数
var arrVariants:Array=new Array();//这将保存变量数组(变量1、变量2等)
var iVariantLength:int=27;//变量数组中总共没有fo元素
var iRandomNumCount:int=15;//变量数组中的随机数

对于(var i:int=0;i我想这就是你想要的

var iVariantCount:int = 6;//number of variants
var arrVariants:Array = new Array();//this will hold your variants array (variant_1,variant_2,etc)
var iVariantLength:int = 27;//total no fo elements in a variant array
var iRandomNumCount:int = 15;//no of random numbers in a variant array

for (var i:int = 0;  i<iVariantCount ; i++) 
{
    var arrVariant:Array = new Array();
    for (var j:int = 0;  j < iVariantCount ; j++) 
    {
        if (i < iRandomNumCount)
        {
            arrVariant.push(rp.getNum());
        }
        else
        {
            arrVariant.push("");
        }
        arrVariants.push(arrVariant);
    }   
}

//Check the result
for (i = 0;  i<arrVariants.length ; i++) 
{
    trace("Variant_" + i + ": " + arrVariants[i]);
}
var iVariantCount:int=6;//变量数
var arrVariants:Array=new Array();//这将保存变量数组(变量1、变量2等)
var iVariantLength:int=27;//变量数组中总共没有fo元素
var iRandomNumCount:int=15;//变量数组中的随机数

对于(var i:int=0;这是一个非常好的循环介绍。而且,你的解决方案非常好。这是一个非常好的循环介绍。而且,你的解决方案非常好。它冻结了Flash IDE。可能是一个无限循环。很抱歉,第二个循环中出现了错误,我编写了i++而不是j++。我已经编辑了我的答案。现在试试。它冻结了Flash IDE。可能是一个错误。)有限循环。很抱歉,第二个循环出错,我编写了i++而不是j++。我已编辑了我的答案。请立即尝试。