坚持我的第一个程序/游戏,Hangman

时间:2013-07-16 23:13:54

标签: javascript jquery

我正在使用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 个答案:

答案 0 :(得分: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>";
}

希望这有帮助!

答案 1 :(得分:0)

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

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

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

答案 2 :(得分: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] + '  ');  
}

答案 3 :(得分:0)

你有几种方法。 (对于每个字母,你得到下划线和空格)
一种是使用replace with regexp

// 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.

快乐游戏:)。