0

我正在用 jQuery 开发一个刽子手游戏。这是我第一次从头开始编写自己的代码/程序,而不参考其他人的代码(GitHub)。

我创建了一个“开始游戏”按钮来启动 Hangman 游戏。然后它将从我创建的数组“wordBank”中抓取一个随机单词并将其存储到一个变量“word”中。我使用 word.length 并将其分配给变量“wordLength”。我不确定如何将 wordLength(例如:单词中的 6 个字符)转换为 6 个空白下划线:_ _ _ _ _ _

我也不确定这是否应该成为单独功能的一部分。我很擅长 HTML/CSS,但现在我正在努力学习编程,并且在过去的一天一直被困在这上面(我昨天开始的)。我感谢任何给我建议的人。我的代码如下。谢谢。

var wordBank = ['apple', 'orange', 'peanut'];

// grab random word from array when user clicks start

function startGame() {
    ("#start").click(function(){
        var word = wordBank[Math.floor(Math.random()*wordBank.length)];
        var wordLength = word.length;
        // convert wordLength into an underscore for each character
    });
}

startGame();
4

4 回答 4

0

第一:我会把它放在同一个函数中。

第二:我会做一个 for 循环并打印一个带有一个类的 div

.underscore{
    border-bottom: 2px solid black; 
    width:30px;
}

像这样:

var underscores ="";
for(var i=0;i<wordLength;i++){
 underscores+= "<div class='underscore'></div>";
}

希望这可以帮助!

于 2013-07-16T23:21:08.270 回答
0

我认为您正在寻找一个基本的 for 循环,例如:

for (i=0;i<(word.length);i++) {
    document.write("_ "); //or similar function
}

以上将输出一些等于您的字长的下划线。如果要将它们存储为变量或其他此类函数,请调整此项。我会考虑将字符串中的每个字母分配给一个默认值等于“_”的数组,然后在他们正确猜测时将值更改为实际字母,或者其他类似的方法,但是你的游戏逻辑的抽象刺是超出了你提出的问题的范围。

于 2013-07-16T23:23:27.500 回答
0

为什么不为数组中的每个字母存储一个下划线?这样,您可以通过索引访问每个下划线并决定以后如何显示它们。

var result = [];

for(var i = 0; i < wordLength; i++){
  result.push('_');
}

result.toString(); //returns _,_,_,_,_,_
result[0] //returns the first underscore
result[5] //returns the last underscore
result[2] = 'A'; // Replaces the third underscore with the letter 'A' (zero based)
result.toString(); //returns "_,_,A,_,_,_"

稍后,当您想要显示数组的内容时,您可以再次对其进行迭代。像这样的东西:

for(var i = 0; i < wordLength; i++) { 
  document.write(result[i] + '  ');  
}
于 2013-07-16T23:31:04.553 回答
0

你有几种方法。(对于您得到下划线和空白的每个字母)
一种是使用正则表达式替换

// Regex way.
var word = "abcd123456";
var userscores = word.replace(/.{1}/g, "_ ");


另一种是根据字长构建下划线:

// Build way.
var word = "abcd123456";
var wordLength = word.length;
var underscores = "";
for(i=0; i<wordLength; i++) {
    underscores = underscores + "_ "
}
// now variable underscores has the underscores.

快乐的游戏:)

于 2013-07-16T23:31:14.760 回答