Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 刽子手——可以';无法让我的循环显示正确答案_Javascript - Fatal编程技术网

Javascript 刽子手——可以';无法让我的循环显示正确答案

Javascript 刽子手——可以';无法让我的循环显示正确答案,javascript,Javascript,开学的第一天,我们要做一个刽子手游戏。我已经盯着while循环中的逻辑看了好几个小时了。我无法让我的循环说是,单词(新词)确实包含猜测。我总是得到错误的提示,然后所有的错误都消失了。我试过25种不同的方法。我知道现在已经无法修复了,但如果有人能让我走上正确的方向,我将永远感激 let words = ["skate", "guitar", "laugh", "party", "shirt"] let wordValue = Math.floor(Math.random() * 4) + 1

开学的第一天,我们要做一个刽子手游戏。我已经盯着while循环中的逻辑看了好几个小时了。我无法让我的循环说是,单词(新词)确实包含猜测。我总是得到错误的提示,然后所有的错误都消失了。我试过25种不同的方法。我知道现在已经无法修复了,但如果有人能让我走上正确的方向,我将永远感激

  let words = ["skate", "guitar", "laugh", "party", "shirt"]

let wordValue = Math.floor(Math.random() * 4) + 1;

let newWord = words[wordValue];

let misses = 0;
let rightGuess = 0;
let wrongGuess = 0;
var answerLines = [];
for (let i = 0; i < newWord.length; i++) {
    answerLines[i] = "_";
}
    let remainingLetters = newWord.length;



    while (remainingLetters > 0 && misses < 6) {
        alert(answerLines.join(" "));
        let guess = prompt("Guess a letter, any letter!");


            for(let j = 0; j < newWord.length; j++) {
                if (newWord[j] === guess) {
                    rightGuess++
                }
                else { wrongGuess++ }
                if (rightGuess != 0) {

                    answerLines[j] = guess;
                    remainingLetters--;
                }



            else {
                misses++
                (alert("That was is incorrect.  You have " + misses + " of 6 misses."));
let words=[“滑板”、“吉他”、“大笑”、“派对”、“衬衫”]
让wordValue=Math.floor(Math.random()*4)+1;
让newWord=words[wordValue];
设未命中=0;
让rightGuess=0;
让错误猜测=0;
var answerLines=[];
for(设i=0;i0&&未命中项<6){
警报(应答行。连接(“”);
让猜测=提示(“猜一个字母,任何字母!”);
for(设j=0;j
您处理猜测的逻辑有点错误。请尝试以下操作:

var words = ["skate", "guitar", "laugh", "party", "shirt"]

var wordValue = Math.floor(Math.random() * 4) + 1;

var newWord = words[wordValue];

console.log("Word is: " + newWord);

var misses = 0;
var answerLines = [];

for (var i = 0; i < newWord.length; i++) {
    answerLines[i] = "_";
}

var remainingLetters = newWord.length;


while (remainingLetters > 0 && misses < 6) {
    alert(answerLines.join(" "));
    var guess = prompt("Guess a letter, any letter!");

    var matchesNone = true; //boolean to track if guess matched any letters

    for (var j = 0; j < newWord.length; j++) {

        if (newWord[j] === guess) {
            answerLines[j] = guess;
            remainingLetters--;
            matchesNone = false; //the guess matched atleast one letter
        }
    }

    if (matchesNone) { //the guess matched none of the letters
        misses ++;
        alert("That was is incorrect.  You have " + misses + " of 6 misses.");
    }
}

if(remainingLetters>0) {
    alert("You failed to guess the word: " + newWord);
}else{
    alert("You guessed the word!  It was: " + newWord);
}
var words=[“滑板”、“吉他”、“大笑”、“派对”、“衬衫”]
var wordValue=Math.floor(Math.random()*4)+1;
var newWord=单词[wordValue];
log(“Word是:”+newWord);
var未命中=0;
var answerLines=[];
for(var i=0;i0&&未命中项<6){
警报(应答行。连接(“”);
var guess=prompt(“猜一个字母,任意字母!”);
var matchesNone=true;//用于跟踪猜测是否匹配任何字母的布尔值
for(var j=0;j0){
警报(“你猜不到单词:“+新词”);
}否则{
警惕(“你猜到了这个词!它是:“+newWord”);
}

您使用的是类型脚本吗?是的,虽然说实话,我不完全确定它是什么或是做什么的。参考此获取逻辑非常感谢您花费时间!我还没有用这种方式处理布尔值。这正是我需要的。非常有用的工具。再次感谢!!欢迎您,尝试使用
var
而不是de>let。如果你感兴趣,这里是两者之间的区别。我很乐意,但我的老师对此非常严格。他认为var是婴儿javascript的代表,想教我们成人javascript。