将生成的字母与用户输入进行比较



我的问题如下:我想实现一个(真正的)小应用程序,在该应用程序中,我想生成一个字母(在a和e之间),并将其与后来进行的用户输入进行比较。如果用户输入与应弹出消息的生成字母不同,则告诉用户他做出了错误的选择。如果用户做出了正确的选择,则计数器获得 1,如果用户至少达到5分中的3分,他将赢得奖金。用户在脚本结束之前进行了3次尝试。

障碍是我的主要重点在于PHP。我对javaScript的了解并不多。

这样,当用户输入他的答案时,我的脚本将不会做任何事情。

解决!下面的代码是解决方案。

String.prototype.last = function(){
return this[this.length - 1]
}
;(function() {
  var score = 0;
  var text = "";
  var possible = "ABCDE";
  var noOfTries = 5;
  function generateCharacter() {
    var index = Math.floor(Math.random() * 100) % possible.length;
    text = possible[index];
    possible = possible.slice(0, index) + possible.slice(index+1);
    alert(text);
    return text;
  }
  function validate(string) {
    return (string || "").trim().last() === text.last();
  }
  function handleChange(){
  	var valid = validate(this.value);
    if(valid){
    	score++;
      alert("Richtig!");
    }else{
    	alert("Das war leider falsch. Die richtige Antwort wäre " + text + " gewesen!");
    }
    console.log(this.value.length === noOfTries)
    this.value.length === noOfTries ? notify() : generateCharacter();
  }
  
  function notify(){
  	if(score == 0) {
    	alert("Schade! Sie haben " + score + " Punkte erreicht! Nochmal?");
    }else if(score >= 1 && score <3){
    	alert("Schade! Sie haben lediglich " + score + " von 5 Punkten erreicht! Nochmal?");
    }else if(score >= 3 && score <= 5) {
      alert("Herzlichen Glückwunsch! Sie haben " + score + " von 5 Punkten erreicht!");
    }
  }
  
  function registerEvent(){
  	document.getElementById('which').addEventListener('keyup', handleChange);
  }
  registerEvent();
  generateCharacter();
})()
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
    <label for="which">Antwort? </label>
    <input type="text" name="which" id="which" placeholder="#" style="width: 9px;">

这是小提琴:将生成的字符串与用户输入进行比较

相关内容

  • 没有找到相关文章

最新更新