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