随机生成器函数javascript

时间:2018-03-30 07:10:50

标签: javascript function random

我正在为课堂制作猜谜游戏。我几乎完成了它,但我遇到的最大问题是在游戏结束后让字符串随机化。如果页面刷新,它会随机选择一个字母,但目标是跟踪统计数据,以便更新。

这是我的javascript代码:

var lettersChar = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", 
"l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];

function randomFunc() {
    var randomMath = lettersChar[Math.floor(Math.random() * 
    lettersChar.length)];
    return randomMath;
}

//variables
var randomChar = randomFunc();

//array where user input will be stored
var userChoices = [];

var wins = 0;

var losses = 0;

var guesses = 9;

//keypress event
document.onkeyup = function (event) {

var userGuess = event.key;

    var userOptions = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", 
"k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", 
"z"];

//if guess is correct, +1 to win and refresh game and generate new letter
if (userOptions.indexOf(userGuess) > -1) {

    if (userGuess === randomChar) {
        wins++;
        guesses = 9;
        randomFunc();
        console.log(wins);
    }
    //if guess is incorrect, then print wrong guess and -1 to guesses left
    else if (userGuess !== randomChar) {
        guesses--;
        userChoices.push(userGuess);
    }
    //If guess reaches to 0 add +1 to loss and restarts game
    if (guesses === 0) {
        losses++;
        guesses = 9;
        userChoices = [];
        randomChar;
    }
}

我尝试过调用该功能,此时它似乎不适合我。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

查看您发布的最后一行:

randomChar;

你只是再次声明randomChar并且没有做任何事情。如果您想在游戏结束后随机化,则应再次致电randomFunc

randomChar = randomFunc();

当用户获胜时相同:替换为

if (userGuess === randomChar) {
    wins++;
    guesses = 9;
    randomChar = randomFunc();
    console.log(wins);
}
相关问题