我对堆栈溢出很陌生,目前正在学习编码的第二周。我正在寻找一些指导,因为我正在创建一个基本的JavaScript游戏,用户必须猜测电影的标题使用一组加扰字母。

正如您在图片中所看到的,底部的混乱(混乱)字母div由电影标题和其他字母组成。我想用eg从13个字母中选择。“星球大战”和其他随机字母混在一起。我希望这封信能隐藏在上面的电影标题div中。当字母是正确的顺序和拼写正确的标题时,玩家移动到下一个单词。
我不确定我是否在正确的轨道上。
var Movie1 = 'Star Wars' (each letter being in an array maybe?)
~title.letter[] = display.none
if (letter == title.letter[]) {
return title.letter[] == display.true;
} //我想我需要创建一个随机字母数组,这些字母将被添加到被洗牌的电影标题的数组中,这样每个问题总共就有13个字母。
//或者在每部电影中加入费舍-耶茨洗牌算法?
发布于 2017-05-21 13:45:30
你的主要问题是找出正确的字母,当用户点击,放在前面,剩下的只是非常基本的(洗牌字母,然后显示给用户点击,每个字母点击到电影标题右框)。在javascript中,Yates洗牌已经有了一个Stack版本。,区别是如果你想要保护你的前端,你需要每个字母的正确组合,我建议一个数组,其中第一个维度是字母本身的维度。因此,在底部的该算法中,我首先需要用正确的字母顺序填充数组,以便在挂载前端空框时,每个框中都有一个数据属性,指示与其对应的字母,或者只使用拆分后的数组,在forEach中通过javascript创建这些框或用后端创建它们,然后用右分隔填充每个框:
Outside Shuffle function:
//here you'll need to create the multidimensional array before shuffle him
movietitle = title.split("");
//in jquery
i = 0;
//certify you will have a right number of boxes
boxes.each(function(){
$(this).data('letter', movietitle[i]);
i++;
});
String.prototype.shuffle = function () {
var a = this.split(""),
n = a.length;
for(var i = n - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
return a.join("");
}
console.log("the quick brown fox jumps over the lazy dog".shuffle());
//-> "veolrm hth ke opynug tusbxq ocrad ofeizwj"
console.log("the quick brown fox jumps over the lazy dog".shuffle());
//-> "o dt hutpe u iqrxj yaenbwoolhsvmkcger ozf
console.log(movietitle.shuffle());
//-> "movietitleshuffledPS:您不需要隐藏字母,使用数据属性来识别它们在电影标题容器中的正确位置,并将其附加到空框中。与电影标题不相对应的字母只是放在空的数据属性上,你的算法会过滤将红色边框放入选定的错误字母和其他东西;
发布于 2017-05-21 13:44:58
https://stackoverflow.com/questions/44097505
复制相似问题