0

我会闪现一个加扰的词,然后用户将输入加扰的词是什么。

到目前为止,我有这个代码。这是用于随机播放和显示。

document.getElementById("shuffle").value = shuffle(document.getElementById("word").value);
var shuffledword = document.getElementById("shuffle").value;
var z = shuffledword.split("").join('    ');
var x=document.getElementById("demo");
x.innerHTML=z;

var str=document.getElementById("demo").innerHTML; 
var n=str.replace(charcode,"...");
document.getElementById("demo").innerHTML=n;

我想要的是限制用户输入与随机单词相同的数字字母。示例:单词是“DOOMED”;我想让它让用户不能点击字母 D 和 O 三次,而只能点击一次或两次。其他字母相同,具体取决于打乱后的单词中的数字字母。

这可能吗?

4

1 回答 1

0
// Set an object with each letters of the (shuffled) word and their count
var letters = {};
for (var i=0 ; i<word.length ; i++) {
  var c = word.charAt(i);
  if ( ! letters[c]) letters[c] = 1;
  else letters[c]++;
}

...

function process_user_char(K) {
  // When user enter letter K
  if ( ! letters[K]) {
    alert("You cannot enter " + K);
    return false;
  }
  else {
    letters[K]-- ;
    return true;
  }
}

....

// To check wether user entered all letters, returns Yes or No
function check_if_user_entered_all_letters() {
  for (var o in letters) {
    if (letters[o]) return "No";
  }
  return "Yes";
}

编辑在 process_user_char 中添加return true / false以集成到onkeypressed中。

这是jsfiddle

于 2013-01-23T05:58:46.800 回答