题目:猜字游戏,让玩家猜测这个单词中的字母,每次猜对一个字母,就会记录下,直到全部才对,退出游戏,中间玩家可以随时退出游戏。

分析:

  1. 随机生成一个单词
  2. 记录玩家猜测的字字母
  3. 向玩家展示游戏进度
  4. 玩家可以随时退出游戏
  5. 接收玩家猜测的字母
  6. 判断玩家猜测的字母

    1. 判断玩家猜测的字母是否有大写
    2. 判断玩家猜测的字母是否正确
    3. 判断这个字母玩家有没猜过
  7. 记录玩家猜测的字母
  8. 向玩家展示猜测进度
  9. 全部猜对,结束游戏
var words = ["javascript","python","monkey","amazing","apple"];
var word = words[Math.floor(Math.random()*words.length)];

var answerArray = [];
for(var i = 0; i < word.length; i++){
    answerArray[i] = "_";
}
var remainingLetter = word.length;

while(remainingLetter > 0) {
    alert(answerArray.join(" "));
    var guess = prompt("请输入一个猜测的字母");

    if (guess === null) {
        var quit = confirm("是否要退出");
        break;
    } else {
        var lowerCase = guess.toLowerCase();

        if (lowerCase.length !== 1) {
            alert("只能输入一个字母");
        } else {
            for (var j = 0; j < word.length; j++) {
                if (word[j] === lowerCase) {
                    if(answerArray[j] === lowerCase) {
                        alert("此字母已经猜过");
                    }else{
                        answerArray[j] = lowerCase;
                        remainingLetter--
                    }
                }
            }

        }
    }
}

if(quit){
    alert("谢谢参与");
}else{
    alert(answerArray.join(""));
    alert("good! " + word);
}

有一个bug,没有限制玩家猜测的次数。


uccs
756 声望88 粉丝

3年 gis 开发,wx:ttxbg210604