如何在此循环中添加计数器?

时间:2017-10-21 04:31:49

标签: javascript

我是一个从事刽子手游戏的javascript新手,我让一切正常,直到我意识到我的方法将我的猜测与答案进行比较无法处理多个字母的单词。我写了一个新的循环来处理这个,但这导致了一个新的问题:我不知道如何在柜台工作以跟踪错误的猜测。

这是我的循环:

function checkGuess(guess, array) {
    for (let i = 0; i < array.length; i++) {
        let found = false;
        for (let j = 0; j < array.length; j++) {
            if (array[i] === guess) {
                found = true;
            } 
        }
        if (found) {
            results += answer[i];
        }
    }
}

当错误猜测的数量达到某个计数或者result.length = answer.length时,游戏将结束,但我无法弄清楚如何处理错误的猜测。任何提示将不胜感激。

2 个答案:

答案 0 :(得分:0)

这可能是您正在寻找的吗?

var wrongGuesses = 0;
function checkGuess(guess, array) {

    for (let i = 0; i < array.length; i++) {
        let found = false;
        let go_time = false;
        for (let j = 0; j < array.length; j++) {
            if (array[i] === guess) {
                found = true;
                results += answer[i];
            }
            if(j===(array.length-1)){
                go_time = true;
            }
        }
        if (go_time===true&&found!==true) {
            wrongGuesses++;
        }
    }
}

答案 1 :(得分:0)

试试这个,创建一个函数,返回猜测存在的位数

function checkGuess(guess, array) {
    let found = 0;
    for (let i = 0; i < array.length; i++) {
        if (array[i] === guess) {
            found++;
        }
    }
    return found;
}

然后使用2个变量来保持正确的猜测和错误的猜测

var correct = 0, wrong = 0

然后每次用户猜测时,请执行以下操作:

var check = checkGuess(guess, question);
if (check > 0) {
    correct += check;
} else {
    wrong++;
}

确定输赢是否

if (wrong >= 3) {
    // set it to lose
}
if (correct == question.length) {
    // set it to win
}