Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Java脚本刽子手游戏问题_Javascript_Arrays - Fatal编程技术网

Javascript Java脚本刽子手游戏问题

Javascript Java脚本刽子手游戏问题,javascript,arrays,Javascript,Arrays,我一直在为一个类的项目开发一个使用HTML模板和javascript的hangman游戏 我目前遇到了一些问题。 1.我正在使用一个数组来调用错误猜测的图片,以便在绞刑架上为尸体添加部分。当发生4次错误猜测时,仅显示图片4。 2.我还有一个问题,就是只有某些单词的按钮才决定实际工作,而字母“o”永远不会工作 任何帮助都将不胜感激 <!DOCTYPE HTML> <html> <head> <title>Hangman</title> &

我一直在为一个类的项目开发一个使用HTML模板和javascript的hangman游戏

我目前遇到了一些问题。 1.我正在使用一个数组来调用错误猜测的图片,以便在绞刑架上为尸体添加部分。当发生4次错误猜测时,仅显示图片4。 2.我还有一个问题,就是只有某些单词的按钮才决定实际工作,而字母“o”永远不会工作

任何帮助都将不胜感激

<!DOCTYPE HTML>
<html>
<head>
<title>Hangman</title>
<meta charset="utf-8">
<script type="text/javascript" language="JavaScript">

    var NumberOfChances;
    var theWord = "",oldString="";
    var currentGuessed = "";
    var value="";

    var words = new Array();
        words[0]="No strings attached";
        words[1]="Never look back";
        words[2]="Happy birthday";
        words[3]="Against all odds";
        words[4]="Break a leg";
        words[5]="Off the beaten path";
        words[6]="Good old days";
        words[7]="Gold rush";
        words[8]="Happy camper";
        words[9]="Grin from ear to ear";
        words[10]="Live long and prosper";
        words[11]="Quartz watch";
        words[12]="Jumping jacks";
        words[13]="Income tax";

    var image = new Array();
        image[0] = '<img src="image0.jpg" align ="left" width="415" height="496">';
        image[1] = "<img src='image1.jpg' align ='left' width='415' height='496'>";
        image[2] = '<img src="image2.jpg" align ="left" width="415" height="496">';
        image[3] = '<img src="image3.jpg" align ="left" width="415" height="496">';
        image[4] = '<img src="image4.jpg" align ="left" width="415" height="496">';
        image[5] = '<img src="image5.jpg" align ="left" width="415" height="496">';
        image[6] = '<img src="image6.jpg" align ="left" width="415" height="496">';

        NumberOfChances = image.length;



        function swap(image)
{
        document.getElementById("images").src =image+".gif";

}

    var usedLetters = new Array();
    function secretWord()
{
    debugger
        theWord = words[Math.floor(Math.random()*51)]; 
    for (i=0; i<theWord.length; i++)
{
        currentGuessed = currentGuessed + "*";

}
        document.getElementById("secretWord").value = currentGuessed;
    debugger
}
    function gameProcess()
{
        currentGuessed ="";
        secretWord();
        NumberOfChances=0;
        document.getElementById("lives").value = NumberOfChances;
        startImage = image[0];
} 

    function turn(letterGuessed)
{
    debugger
        value = oldString = "";
    var correctGuess = false;
    for (i=0; i<theWord.length; i++)
{

    if (theWord.charAt(i) == letterGuessed)
{
        value  = value + letterGuessed;
        currentGuessed = currentGuessed.replace(oldString + "*",value);
        oldString = value;
        correctGuess=true;
}
    else
{
    if(currentGuessed.charAt(i) == "*")
{
        value = value + '*';
        oldString = oldString + "*";
}
    else
{
        value = value + currentGuessed.charAt(i);
        oldString = oldString + currentGuessed.charAt(i);
}
}
} 
    if (!correctGuess)
{
        NumberOfChances++;
        swap("image" + NumberOfChances );
    if (NumberOfChances==6)
{
        alert("You Lost!");
        document.getElementById("secretWord").value = theWord;
            theWord = "";
        currentGuessed = "";
}
        document.getElementById("lives").value = NumberOfChances;
    if(correctGuess != 0)
{
        takeChance();
}
}
        win();
}

    function win()
{
    var winCount = 0;
        for(var i = 0;i<theWord.length;i++)
{
        if(currentGuessed.charAt(i) == "*")
{
        winCount++;
}
    document.getElementById("secretWord").value = currentGuessed;
}
    if(winCount == 0 && currentGuessed != "")
{
        alert("yay, you win!");
}

} 
</script>
</head>

<body>
<H1>Lets play Hangman</H1>

<form name="userGuessForm"  id="form1">
<div id="Image"><img src="image0.gif" align ="left" width="415" height="496" id="images"/></div>
<div id="wordDisplay"></div>

This is the Secret Word<br /><input id="secretWord" type="text" value="currentGuessed" />
<br />
<input id="letters" type="button" name="a" value="a" onClick="turn('a');">
<input id="Button1" type="button" name="b" value="b" onClick="turn('b');">
<input id="Button2" type="button" name="c" value="c" onClick="turn('c');">
<input id="Button3" type="button" name="d" value="d" onClick="turn('d');">
<input id="Button4" type="button" name="e" value="e" onClick="turn('e');">
<input id="Button5" type="button" name="f" value="f" onClick="turn('f');">
<input id="Button6" type="button" name="g" value="g" onClick="turn('g');">
<input id="Button7" type="button" name="h" value="h" onClick="turn('h');">
<input id="Button8" type="button" name="i" value="i" onClick="turn('i');">
<input id="Button9" type="button" name="j" value="j" onClick="turn('j');">
<input id="Button10" type="button" name="k" value="k" onClick="turn('k');">
<input id="Button11" type="button" name="l" value="l" onClick="turn('l');">
<input id="Button12" type="button" name="m" value="m" onClick="turn('m');">
<input id="Button13" type="button" name="n" value="n" onClick="turn('n');">
<input id="Button14" type="button" name="o" value="o" onClick="turn('o');">
<input id="Button15" type="button" name="p" value="p" onClick="turn('p');">
<input id="Button16" type="button" name="q" value="q" onClick="turn('q');">
<input id="Button17" type="button" name="r" value="r" onClick="turn('r');">
<input id="Button18" type="button" name="s" value="s" onClick="turn('s');">
<input id="Button19" type="button" name="t" value="t" onClick="turn('t');">
<input id="Button20" type="button" name="u" value="u" onClick="turn('u');">
<input id="Button21" type="button" name="v" value="v" onClick="turn('v');">
<input id="Button22" type="button" name="w" value="w" onClick="turn('w');">
<input id="Button23" type="button" name="x" value="x" onClick="turn('x');">
<input id="Button24" type="button" name="y" value="y" onClick="turn('y');">
<input id="Button25" type="button" name="z" value="z" onClick="turn('Z');"><br />
Number of Tries (6): <input id="lives" type="text" value="0" onfocus="lives.blur();" SIZE=2> 
<input type="button" name="submit" value=" Start Over " onClick="gameProcess()">
<input type="button" name="end" value=" END " onClick="gameEnd()"><br />
</form>
</body>
</html>

刽子手
var机会数;
var theWord=“”,oldString=“”;
var currentGuessed=“”;
var值=”;
var words=新数组();
字[0]=“无附加字符串”;
字[1]=“永不回头”;
字[2]=“生日快乐”;
词语[3]=“克服一切困难”;
单词[4]=“打断一条腿”;
文字[5]=“不走寻常路”;
单词[6]=“过去的好日子”;
文字[7]=“淘金热”;
单词[8]=“快乐露营者”;
单词[9]=“咧嘴笑”;
字[10]=“长命百岁”;
文字[11]=“石英表”;
单词[12]=“跳跃式千斤顶”;
字[13]=“所得税”;
var image=新数组();
图像[0]='';
图像[1]=“”;
图像[2]='';
图像[3]='';
图像[4]='';
图像[5]='';
图像[6]='';
NumberOfChances=image.length;
功能交换(图像)
{
document.getElementById(“images”).src=image+“.gif”;
}
var usedLetters=新数组();
函数secretWord()
{
调试器
单词=单词[Math.floor(Math.random()*51)];

对于(i=0;i您的图像无法正常工作,因为您将数组用作字符串

document.getElementById("images").src =image+".gif";
应该是

document.getElementById("images").src ="image"+NumberOfChances+".gif";
否则,您要做的就是获取所有图像的html并将其设置为图像的src属性

<img src="<img src="image0.jpg" align ="left" width="415" height="496">, <img src="image1.jpg" align ="left" width="415" height="496">, <img src="image2.jpg" align ="left" width="415" height="496">..." id="images"> This isn't what you want!
这似乎表明你的单词少于51或50个

在你的letterGuessed函数中,我认为你没有完全掌握for循环的概念。你似乎在想,每次调用函数时都会发生一个新的迭代,但事实并非如此。相反,每次使用你猜到的一个字母调用函数时,for循环会遍历整个单词。因此,除非每个si单词中的单个字母是o,如果你猜到了字母o,单词中的每个o都会得到一分,而不是o的每个字符都有-1次机会,这不是你想要的。放弃for循环,每次函数运行时都使用i++即可

function swap(image)
{
        document.getElementById("images").src =image+".gif";

}
尝试将gif更改为jpg

if (!correctGuess)
{
    NumberOfChances++;
    swap(image[NumberOfChances]);
if (!correctGuess)
{
    NumberOfChances++;
    swap(image[NumberOfChances]);