我正在尝试在javascript中创建hangman,我想检查用户是否已使用过一封信。我做了一个var letterGuessValue = 0,如果他们添加一个输入,它= 1.我知道如果我让它工作(它甚至没有做任何事情)就会知道所有事情但是我可能在正确的轨道上吗?这是我的代码。 http://jsbin.com/aWOnAfe/5/edit
答案 0 :(得分:1)
我想说在列表中添加一个输入,每当他们添加另一个输入(也就是字母)时,请检查此列表以查看它是否已存在。如果是,那么因为他们之前已经使用过那封信。如果没有,那就是一封新信。
答案 1 :(得分:0)
我不知道困难的部分在哪里。
http://jsfiddle.net/DerekL/jgqQ9/
示例代码
var used = {};
$("input").keyup(function(){
var val = this.value;
alert( used[val] ? "Used" : "Not used" );
this.value = "";
used[val] = true;
});
工作原理
输入信件时将true
分配给used.LETTER
。在分配之前,如果它是undefined
,那么它还没有被使用。如果是true
则使用它。
有时开发人员在进行组合键时会倾向于使用数组来记录按键击键,但在这种情况下,迭代数组会需要更多的内存和计算能力。一个简单的对象就足够了。
答案 2 :(得分:0)
使用数组存储所有使用过的字母和函数,以添加新字母。
var inputs = []
function addLetter(letter){
var used = false;
for(var i = 0; i < inputs.length; i++){
if(inputs[i] == letter){
used = true;
break;
}
}
if(!used){
inputs.push(letter);
}
}
答案 3 :(得分:0)
最简单的方法是将每个字母附加到字符串,如下所示:
var letters = '';
var letterPressed = 'X'; // uppercase it if appropriate for your language
if (letters.indexOf(letterPressed) > -1)
{
// you already pressed it
}
else
{
letters += letterPressed;
}
您也可以使用数组来存储您的印刷机列表,尽管IMO太过分了。