Javascript 在文字游戏中使用数组

Javascript 在文字游戏中使用数组,javascript,arrays,Javascript,Arrays,我正在创建一个文字游戏,用户可以将字母平铺拖到占位符中,并对其进行评估,以查看他们是否制作了正确的单词。我需要把字母拼凑起来,这样他们就不会拼出这个单词了 目前,我正在按正确的顺序放置字母块,然后添加几个字母。然后我想把字母拼凑起来。当我放置字母和额外的字母时,我将x位置推到一个数组中 是否有一种方法可以循环遍历数组并定位字母平铺,使它们不会相互重叠?floor(Math.random)通常会生成重复的字母,因此字母平铺被放置在彼此的顶部,如下所示 var-arr=[0,30,60,90];

我正在创建一个文字游戏,用户可以将字母平铺拖到占位符中,并对其进行评估,以查看他们是否制作了正确的单词。我需要把字母拼凑起来,这样他们就不会拼出这个单词了

目前,我正在按正确的顺序放置字母块,然后添加几个字母。然后我想把字母拼凑起来。当我放置字母和额外的字母时,我将x位置推到一个数组中

是否有一种方法可以循环遍历数组并定位字母平铺,使它们不会相互重叠?floor(Math.random)通常会生成重复的字母,因此字母平铺被放置在彼此的顶部,如下所示


var-arr=[0,30,60,90];

对于(i=0;i考虑制作一个平铺字母对象

在该对象中,跟踪其位置。然后添加碰撞检查并跟踪对象的所有位置

还考虑数组的<代码> Stuffle < /Cuff>方法。

帮助链接:


听起来您只是想洗牌数组。如果是这样,解决方案可能会对您有所帮助。

一个简单的方法是在
arr上进行Knuth洗牌:

var arr = [0,30,60,90];

for(var i=0;i<arr.length;i++){
 var num = Math.floor(Math.random()*i);
 var x = arr[i];
 arr[i] = arr[num];
 arr[num] = x;
}

for(var i=0;i<arr.length;i++) {
 var bmp = new createjs.Bitmap("image");
 stage.addChild(bmp);

 bmp.x = arr[i];

 stage.update();
}
var-arr=[0,30,60,90];

对于(var i=0;i您必须添加一个检查并跟踪所有已命中的索引您是否只想洗牌
arr
?为什么不只是数组,那么您只需要循环它一次?太好了,谢谢。我尝试过使用while循环,但没有完全破解它。没问题,很高兴您找到了它。:)
var arr = [0,30,60,90];

for(var i=0;i<arr.length;i++){
 var num = Math.floor(Math.random()*i);
 var x = arr[i];
 arr[i] = arr[num];
 arr[num] = x;
}

for(var i=0;i<arr.length;i++) {
 var bmp = new createjs.Bitmap("image");
 stage.addChild(bmp);

 bmp.x = arr[i];

 stage.update();
}