前端学堂 http://www.felearn.com
当前位置首页 > 前端技术 > JavaScript> 正文

javascript中的if怎么用?

2021-05-04 07:31:19 暂无评论 JavaScript javascript   怎么

其实你换一种判断方式也是可以的,就是判断backgroundColor 是否为Red,就知道是不是墙了。附上代码:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
<script>
    window.onload = function add() {
        var a = new Array();
        a = [
            [1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ],
            [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ],
            [1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ],
            [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ],
            [1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ],
            [1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, ],
            [1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, ]
        ];
        var i, j;

        for (j = 0; j < a.length; j++){
            for (i = 0; i < a[j].length; i++) {
                var b=document.createElement('div');
                b.style.position="absolute";              
                b.style.width="50px";
                b.style.height="50px";
                b.style.left = i * 50+"px";
                b.style.top = j * 50 + "px";
                b.id = i + "_" + j;

                if (a[j][i] == 1) { b.style.backgroundColor = "red" };
                if (a[j][i] == 0) { b.style.backgroundColor = "white" };
                if (a[j][i] == 3) {
                    b.style.backgroundColor = "blue";
                    x = i;
                    y = j;
                };
                document.body.appendChild(b);
            }
        }
    }

function yd()
    {
var nx = 0,ny = 0;
//左
        if (event.keyCode == 37) {
nx = x - 1;
if(isWall(nx,y))return;
            fun_a();
        }
//上
        if (event.keyCode == 38)
        { 
ny = y - 1;
if(isWall(x,ny))return;
fun_b(); 
}
//右
        if (event.keyCode == 39)
        { 
nx = x + 1;
if(isWall(nx,y))return;
fun_c(); 
}
//下
        if (event.keyCode == 40)
        { 
ny = y + 1;
if(isWall(x,ny))return;
fun_d();
}
    }
    function fun_a() {       
            document.getElementById(x + "_" + y).style.backgroundColor = "white";
            x--;
            document.getElementById(x + "_" + y).style.backgroundColor = "blue";

    }
    function fun_b()
    {        
            document.getElementById(x + "_" + y).style.backgroundColor = "white";
            y--;
            document.getElementById(x + "_" + y).style.backgroundColor = "blue";

}
    function fun_c() {       
            document.getElementById(x + "_" + y).style.backgroundColor = "white";
            x++;
            document.getElementById(x + "_" + y).style.backgroundColor = "blue";

    }
    function fun_d() {
document.getElementById(x + "_" + y).style.backgroundColor = "white";
        y++;
        document.getElementById(x + "_" + y).style.backgroundColor = "blue";
}

function isWall(x,y){
return document.getElementById(x + "_" + y).style.backgroundColor == "red";//是否为墙
}

    document.onkeydown = yd;
    </script>
</body>
</html>

猜你喜欢