字母未添加到我的数组中

穆罕默德

我有一个子手游戏,除了一部分以外,其他都工作正常。

我有两个数组,一个数组显示要猜测的单词,如果猜对了,则添加该单词的字母,第二个数组,如果猜测错误,则逐个字母地拼写子手

您的单词数组工作正常,但是如果猜错了,我找不到找到将字母添加到the子手数组的方法

playgame('Hello')

//output
/*yourword array*/
H _ _ _ _
/*Hangman array
H _ _ _ _ _ _

如果我猜为“ b”,则应将下一个字母的hangman添加到hangman arrAy中,因为“ b”不在“ Hello”中

如果我猜为“ e”,则应在您的单词数组中添加e,因为“ e”位于“ hello”中

function playgame(yourword) {
  //yourword array
  /*********************/
  let word = yourword.toUpperCase();
  let letters = word.split("");
  var answerArray = [letters[0]];
  for (var i = 1; i < letters.length; i++) {
    answerArray[i] = "_";
  }
  let answer = answerArray.join();

  //hangman array
  /*********************/
  let hgm = ["H", "A", "N", "G", "M", "A", "N"];
  let hgArray = [hgm[0]];
  for (var i = 1; i < hgm.length; i++) {
    hgArray[i] = "_";
  }
  //loop
  let remainingLetters = word.length - 1; // First letter is visible by default
  let remainingLetter = hgm.length;
  while (remainingLetters > 0 && remainingLetter > 0) {

    //show the array
    console.log(answerArray.join(" ").toUpperCase());
    console.log(hgArray.join(",").toUpperCase());

    let guess = prompt("guess a letter").toUpperCase();
    //add a letter if guessed correctly
    for (var i = 0; i < letters.length; i++) {
      if (word[i] === guess) {
        answerArray[i] = guess;
        remainingLetters--;
      }
      //add a letter to the hangman string if guessed incorrecty 
      //MY PROBLEM IS HERE

      if (word.indexOf(guess) === -1) {
        remainingLetter--;
      }

    }
    console.log(answerArray.join(" ").toUpperCase());
    console.log(hgArray.join(",").toUpperCase());
    if (remainingLetters === 0) {
      console.log("you win");
    } else if (remainingLetters !== 0) {
      console.log("you lose");
    }
  }
}

playgame('Hello');

考希克

更新了脚本以将字母添加到第二个数组

function playgame(yourword) {
    //yourword array
    /*********************/
    let word = yourword.toUpperCase();
    let letters = word.split("");
    var answerArray = [letters[0]];
    for (var i = 1; i < letters.length; i++) {
        answerArray[i] = "_";
    }
    let answer = answerArray.join();

    //hangman array
    /*********************/
    let hgm = ["H", "A", "N", "G", "M", "A", "N"];
    let hgArray = [hgm[0]];
    for (var i = 1; i < hgm.length; i++) {
        hgArray[i] = "_";
    }
    //loop
    let remainingLetters = word.length - 1; // First letter is visible by default
    let remainingLetter = hgm.length - 1;
    while (remainingLetters > 0 && remainingLetter > 0) {

        //show the array
        console.log(answerArray.join(" ").toUpperCase());
        console.log(hgArray.join(",").toUpperCase());
        let isGuessCorrect = false
        let guess = prompt("guess a letter").toUpperCase();
        //add a letter if guessed correctly
        for (var i = 0; i < letters.length; i++) {
            if (word[i] === guess) {
                answerArray[i] = guess;
                remainingLetters--;
                isGuessCorrect = true;
            }
            //add a letter to the hangman string if guessed incorrecty
            //MY PROBLEM IS HERE

            if (word.indexOf(guess) === -1) {
                console.log("Guees ---- " + remainingLetter)
                remainingLetter--;
                break;
            }

        }
        if (!isGuessCorrect) {
            for (var i = 0; i < hgArray.length; i++) {
                if (hgArray[i] == "_") {
                    hgArray[i] = hgm[i];
                    break;
                }
            }
        }
        console.log(answerArray.join(" ").toUpperCase());
        console.log(hgArray.join(",").toUpperCase());
        if (remainingLetter === 0 || remainingLetters === 0)
            break;
    }
    if (remainingLetters === 0) {
        console.log("you win");
    } else if (remainingLetters !== 0) {
        console.log("you lose");
    }

}

样本输出:

H _ _ _ _
H,_,_,_,_,_,_
Guees ---- 6
H _ _ _ _
H,A,_,_,_,_,_
H _ _ _ _
H,A,_,_,_,_,_
Guees ---- 5
H _ _ _ _
H,A,N,_,_,_,_
H _ _ _ _
H,A,N,_,_,_,_
Guees ---- 4
H _ _ _ _
H,A,N,G,_,_,_
H _ _ _ _
H,A,N,G,_,_,_
Guees ---- 3
H _ _ _ _
H,A,N,G,M,_,_
H _ _ _ _
H,A,N,G,M,_,_
Guees ---- 2
H _ _ _ _
H,A,N,G,M,A,_
H _ _ _ _
H,A,N,G,M,A,_
Guees ---- 1
H _ _ _ _
H,A,N,G,M,A,N
you lose

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

元素未添加到我的数组列表中

在Java中将“ Circular”添加到我的数组中

从我的 JSON 对象添加到我的列表数组

邮件未添加到我的MSMQ

我可以将javascript原型添加到我的数组实例中吗?

我正在努力将数组添加到我的 excuteread() 函数中

产品ID未添加到我的数据库中

将整数值添加到我的数组

神秘的空值添加到我的数组的开头

将数组添加到我的 ExecuteReader() 函数

.push似乎没有添加到我的数组中

Typescript .push 函数将空对象添加到我的数组中

Swift:为什么在使用追加时没有元素添加到我的数组中?

如何将外部数组添加到我的 Rx Observable 中?

将货币符号添加到我在 php 数组中输出的值

如何使用 ForEach-Object 将项目添加到我的数组中

将字段添加到我们映射 company_id 的数组中

在 mips 中将计算出的整数值添加到我的数组中

将重复的键添加到我的字典中

无法将对象添加到我的列表中

将表格添加到我的Dojo代码中

〜/ bin如何添加到我的路径中?

将.split添加到我的代码中

将jQuery添加到我的Javascript文件中

很难将图例添加到我的图表中

将事件添加到我添加到表单的每个Picturbox中

如何将数组添加到我的 php 变量中,循环不适用于数组

为什么我的字典没有被添加到我的数组中?indexPath.row 返回 nil

你调用的对象是空的。当我将项目添加到我的数组列表中时