在文字游戏中使用数组
using an arrays in word game
我正在创建一个文字游戏,用户可以将字母块拖动到占位符中,并评估它,看看他们是否做出了正确的单词。我需要打乱字母贴图,这样他们就不会拼出这个单词了。
目前我把字母瓦片在正确的顺序,然后添加一些字母。然后我想打乱字母瓦片。当我放置字母和额外的字母时,我将x位置推入数组。
是否有一种方法可以让我循环遍历数组并定位字母瓦片,使它们不重叠?Math.floor(Math.random)通常会产生重复的字母,因此字母瓦片被放置在另一个的顶部,如下图所示。
var arr = [0,30,60,90];
for(i=0;i<arr.length;i++){
var num = Math.floor(Math.random()*arr.length);
var bmp = new createjs.Bitmap("image");
stage.addChild(bmp);
bmp.x = arr[num];
stage.update();
}
是否有一种方法,只使用数组中的每个值一次,但每次选择一个随机的位置?
考虑制作一个平铺字母对象。
在这个对象内跟踪它的位置。然后添加碰撞检查,并跟踪所有物体的位置。
还考虑数组的shuffle
方法。
帮助链接:
- JS碰撞检测<
- JS对象/gh>
听起来您只是想打乱数组。
一种简单的方法是在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();
}
相关文章:
- 是索引数组文字的好做法
- 如何避免“;使用数组文字表示法“;以下javascript代码中的jslint错误
- 为什么有逗号但没有元素的数组文字的长度不为0
- 如何在 JS 中编写数组文字表示法
- Javascript 数组“文字” - 这只是描述它是如何创建的,因为它可以即时更改
- 如何简化 JavaScript/ECMAScript 数组文字生成
- JavaScript/ECMAScript 数组文字生产的 LOOKAHEADs
- Javascript 对象数组文字的可靠长度
- 为什么JSLint告诉我“;使用数组文字符号[]&”;
- 最奇怪的javaScript数组文字
- 带字符串拆分的JS Lint数组文字符号
- JavaScript数组文字定义中逗号后面的值是什么
- 在JavaScript中重写数组文字
- 连续删除数组项目(游戏障碍)
- 在文字游戏中使用数组
- 为什么在javascript中[,]是一个有效的数组文字
- 数组对象与数组文字-性能JavaScript
- 数组文字方法调用和对象文字方法调用的区别
- Js:多维数组文字声明:添加元素
- 如何使用 HJScript 或 HJavaScript 创建数组文字