JavaScript游戏功能不起作用

时间:2016-12-13 23:20:25

标签: javascript html css

我昨天发布了,我基本上只是重新启动它以便失去边距:自动并使我的一些图像显示:列表中的内联更加有条理地定位和所有内容,以及摆脱我的CSS的任何错误。它一定是我的JavaScript的问题 - 我的功能都没有工作,我找不到错误。任何帮助将不胜感激。

到目前为止,

Here是游戏的样子,here是我的CSS以防万一。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Santa Game</title>
    <link rel="stylesheet" href="index.css">
    <script>
        var topsanta = 335;
        var leftsanta = 800;
        var topkid = new Array ();
        topkid[0] = 520;
        topkid[1] = 520;
        topkid[2] = 520;
        topkid[3] = 520;
        topkid[4] = 520;
        var leftkid = new Array ();
        leftkid[0] = 565;
        leftkid[1] = 415;
        leftkid[2] = 265;
        leftkid[3] = 115;
        leftkid[4] = -35;
        var kidid = new Array ();
        kidid[0] = "kid5";
        kidid[1] = "kid4";
        kidid[2] = "kid3";
        kidid[3] = "kid2";
        kidid[4] = "kid1";
        var kiddirect = new Array ();
        kiddirect[0] = -10;
        kiddirect[1] = -10;
        kiddirect[2] = -10;
        kiddirect[3] = -10;
        kiddirect[4] = -10;
        var kidmax = new Array ();
        kidmax[0] = Math.floor(Math.random()*200)+150;
        kidmax[1] = Math.floor(Math.random()*200)+150;
        kidmax[2] = Math.floor(Math.random()*200)+150;
        kidmax[3] = Math.floor(Math.random()*200)+150;
        kidmax[4] = Math.floor(Math.random()*200)+150;
        var topstorm = new Array ();
        topstorm[0] = 75;
        topstorm[1] = 75;
        topstorm[2] = 75;
        topstorm[3] = 75;
        var leftstorm = new Array ();
        leftstorm[0] = 550;
        leftstorm[1] = 400;
        leftstorm[2] = 250;
        leftstorm[3] = 100;
        var stormid = new Array ();
        stormid[0] = "storm4";
        stormid[1] = "storm3";
        stormid[2] = "storm2";
        stormid[3] = "storm1";
        var stormdirect = new Array ();
        stormdirect[0] = 10;
        stormdirect[1] = 10;
        stormdirect[2] = 10;
        stormdirect[3] = 10;
        var stormmax = new Array ();
        stormmax[0] = Math.floor(Math.random()*200)+150;
        stormmax[1] = Math.floor(Math.random()*200)+150;
        stormmax[2] = Math.floor(Math.random()*200)+150;
        stormmax[3] = Math.floor(Math.random()*200)+150;
        var score = 0;
        function movesanta(direct)
        {
            if(direct.keyCode == 37)
            {
                document.getElementById("santa").style.position="absolute";
                leftsanta = leftsanta - 10;
                document.getElementById("santa").style.left=leftsanta+"px";
            }
            else if(direct.keyCode == 39)
            {
                document.getElementById("santa").style.position="absolute";
                leftsanta = leftsanta + 10;
                document.getElementById("santa").style.left=leftsanta+"px";
            }
            else if(direct.keyCode == 38)
            {
                document.getElementById("santa").style.position="absolute";
                topsanta = topsanta - 10;
                document.getElementById("santa").style.top=topsanta+"px";
            }
            else if(direct.keyCode == 40)
            {
                document.getElementById("santa").style.position="absolute";
                topsanta = topsanta + 10;
                document.getElementById("santa").style.top=topsanta+"px";
            }
            else if (leftsanta < 3)
            {
                score = score + 10;
                document.getElementById("p2").innerHTML="Santa score = "+score;
            }
            else if (score >= 100)
            {
                document.getElementById("p2").innerHTML="You win!!!";
            }
        }
        function start()
        {
            movekid(0);
            movekid(1);
            movekid(2);
            movekid(3);
            movekid(4);
            movestorm(0);
            movestorm(1);
            movestorm(2);
            movestorm(3);
        }
        function starteasier()
        {
            movekideasier(0);
            movekideasier(1);
            movekideasier(2);
            movekideasier(3);
            movekideasier(4);
            movestormeasier(0);
            movestormeasier(1);
            movestormeasier(2);
            movestormeasier(3);
        }
        function movekid(x)
        {
            topkid[x] = topkid[x] + kiddirect[x];
            document.getElementById(kidid[x]).style.top=topkid[x]+"px";
            if (topkid[x] < kidmax[x])
            {
                kiddirect[x] = kiddirect[x] * -1;
            }
            else if (topkid[x] > 520)
            {
                kiddirect[x] = kiddirect[x] * -1;
                kidmax[x] = Math.floor(Math.random()*200)+150;
            }
            else if (( leftsanta > leftkid[x] - 20) && (leftsanta < leftkid[x] + 20))
            {
                score = score - 10;
                document.getElementById("p2").innerHTML="Santa score = "+score;
            }
            else if (( topsanta > topkid[x] - 20) && (topsanta < topkid[x] + 20))
            {
                score = score - 10;
                document.getElementById("p2").innerHTML="Santa score = "+score;
            }
            setTimeout(function(){movekid(x)},100);
        }
        function movekideasier(x)
        {
            topkid[x] = topkid[x] + kiddirect[x];
            document.getElementById(kidid[x]).style.top=topkid[x]+"px";
            if (topkid[x] < kidmax[x]);
            {
                kiddirect[x] = kiddirect[x] * -1;
            }
            if (topkid[x] > 520)
            {
                kiddirect[x] = kiddirect[x] * -1;
                kidmax[x] = Math.floor(Math.random()*200)+150;
            }
            else if (( leftsanta > leftkid[x] - 20) && (leftsanta < leftkid[x] + 20))
            {
                score = score - 10;
                document.getElementById("p2").innerHTML="Santa score = "+score;
            }
            else if (( topsanta > topkid[x] - 20) && (topsanta < topkid[x] + 20))
            {
                score = score - 10;
                document.getElementById("p2").innerHTML="Santa score = "+score;
            }
            setTimeout(function(){movekid(x)},500);
        }
        function movestorm(x)
        {
            topstorm[x] = topstorm[x] + stormdirect[x];
            document.getElementById(stormid[x]).style.top=topstorm[x]+"px";
            if (topstorm[x] < stormmax[x])
            {
                stormdirect[x] = stormdirect[x] * -1;
            }
            else if (topstorm[x] > 520)
            {
                stormdirect[x] = stormdirect[x] * -1;
                stormmax[x] = Math.floor(Math.random()*200)+150;
            }
            else if (( leftsanta > leftstorm[x] - 20) && (leftsanta < leftstorm[x] + 20))
            {
                score = score - 10;
                document.getElementById("p2").innerHTML="Santa score = "+score;
            }
            else if (( topsanta > topstorm[x] - 20) && (topsanta < topstorm[x] + 20))
            {
                score = score - 10;
                document.getElementById("p2").innerHTML="Santa score = "+score;
            }
            setTimeout(function(){movestorm(x)},100);
        }
        function movestormeasier(x)
        {
            topstorm[x] = topstorm[x] + stormdirect[x];
            document.getElementById(stormid[x]).style.top=topstorm[x]+"px";
            if (topstorm[x] < stormmax[x])
            {
                stormdirect[x] = stormdirect[x] * -1;
            }
            else if (topstorm[x] > 520)
            {
                stormdirect[x] = stormdirect[x] * -1;
                stormmax[x] = Math.floor(Math.random()*200)+150;
            }
            else if (( leftsanta > leftstorm[x] - 20) && (leftsanta < leftstorm[x] + 20))
            {
                score = score - 10;
                document.getElementById("p2").innerHTML="Santa score = "+score;
            }
            else if (( topsanta > topstorm[x] - 20) && (topsanta < topstorm[x] + 20))
            {
                score = score - 10;
                document.getElementById("p2").innerHTML="Santa score = "+score;
            }
            setTimeout(function(){movestorm(x)},500);
        }
    </script>
</head>
<body onKeyPress="movesanta(event)">
    <table>
        <tr>
            <td id="top">
                <p id="p1">Help Santa avoid storms and the eyes of curious children to deliver all the presents on time!</h1>
                <p id="p2">Santa score: 0</p>
            </td>
        </tr>
        <tr>
            <td id="middle">
                <ul id="clouds1div">
                    <li><img class="clouds1class" id="cloud1" src="cloud.png" width="200px"></li>
                    <li><img class="clouds1class" id="cloud2" src="cloud.png" width="200px"></li>
                    <li><img class="clouds1class" id="cloud3" src="cloud.png" width="200px"></li>
                    <li><img class="clouds1class" id="cloud4" src="cloud.png" width="200px"></li>
                    <li><img class="clouds1class" id="cloud5" src="cloud.png" width="200px"></li>
                </ul>
                <ul id="stormsdiv">
                    <li><img class="stormsclass" id="storm1" src="storm.png" width="150px"></li>
                    <li><img class="stormsclass" id="storm2" src="storm.png" width="150px"></li>
                    <li><img class="stormsclass" id="storm3" src="storm.png" width="150px"></li>
                    <li><img class="stormsclass" id="storm4" src="storm.png" width="150px"></li>
                </ul>
                <ul id="clouds2div">
                    <li><img class="clouds2class" id="cloud6" src="cloud.png" width="150px"></li>
                    <li><img class="clouds2class" id="cloud7" src="cloud.png" width="150px"></li>
                    <li><img class="clouds2class" id="cloud8" src="cloud.png" width="150px"></li>
                    <li><img class="clouds2class" id="cloud9" src="cloud.png" width="150px"></li>
                    <li><img class="clouds2class" id="cloud10" src="cloud.png" width="150px"></li>
                    <li><img class="clouds2class" id="cloud11" src="cloud.png" width="150px"></li>
                    <li><img class="clouds2class" id="cloud12" src="cloud.png" width="150px"></li>
                </ul>
                <img id="hill" src="hill.png" width="785px" height="100px">
                <ul id="kidsdiv">
                    <li><img class="kidsclass" id="kid1" src="kid1.png" width="100px"></li>
                    <li><img class="kidsclass" id="kid2" src="kid2.png" width="100px"></li>
                    <li><img class="kidsclass" id="kid3" src="kid3.png" width="100px"></li>
                    <li><img class="kidsclass" id="kid4" src="kid4.png" width="100px"></li>
                    <li><img class="kidsclass" id="kid5" src="kid5.png" width="100px"></li>
                </ul>
                <ul id="housesdiv">
                    <li><img class="housesclass" id="house1" src="house.gif" width="150px"></li>
                    <li><img class="housesclass" id="house2" src="house.gif" width="150px"></li>
                    <li><img class="housesclass" id="house3" src="house.gif" width="150px"></li>
                    <li><img class="housesclass" id="house4" src="house.gif" width="150px"></li>
                    <li><img class="housesclass" id="house5" src="house.gif" width="150px"></li>
                </ul>
                <img id="santa" src="santa.gif" width="250px">
            </td>
        </tr>
        <tr>
            <td id="bottom">
                <div id="arrowsdiv">
                    <span class="arrowsclass" id="up" ><!--onClick="movesanta('up')">-->&#8593;</span>
                    <span class="arrowsclass" id="left" ><!--onClick="movesanta('left')">-->&#8592;</span>
                    <span class="arrowsclass" id="right" ><!--onClick="movesanta('right')">-->&#8594;</span>
                    <span class="arrowsclass" id="down" ><!--onClick="movesanta('down')">-->&#8595;</span>
                </div>
                <div id="buttonsdiv">
                    <button type="button" onClick="starteasier()">Start (Easy)</button>
                    <button type="button" onClick="start()">Start (Hard)</button>
                </div>
            </td>
        </tr>           
</body>

1 个答案:

答案 0 :(得分:0)

您的减号是错误的unicode字符,如果条件

,则替换所有此类减号

当前代码

if (( leftsanta > leftkid[x] – 20) && (leftsanta < leftkid[x] + 20))

更正后

if (( leftsanta > leftkid[x] - 20) && (leftsanta < leftkid[x] + 20))