JAVASCRIPT版貪吃蛇頭走位V1可手動設置障礙

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>

<script type="text/javascript">

var a = new Array();
N=3;
curI=0;
curJ=0;
boomIJ=0;
var curTd;
    function init() {
        
        for(var i=0;i<N;i++){
            a[i] = new Array();
            for(var j=0;j<N;j++){
                a[i][j] = 0;
            }
        }
        
        var num = Math.floor(Math.random() * 9) + 1;
        var idNum = "td" + num;
        curTd=document.getElementById(idNum);
        
        curTd.style.background = "green";
        curI=parseInt((num-1)/N);
        curJ=parseInt((num-1)%N);
        
        //alert(curI+" "+curJ);
    }
    
    function check(td){
        //boomIJ=parseInt(td.parentElement.rowIndex)*N+parseInt(td.cellIndex));
        i=parseInt(td.parentElement.rowIndex);
        j=parseInt(td.cellIndex);
        boomIJ=i*N+j;
        td.style.background = "red";
        //alert(boomIJ);
    }
    

    function turn(event) {
        var e = event;//|| window.event || arguments.callee.caller.arguments[0];

        
        
        //alert(e.keyCode);
        if (e && e.keyCode == 38 ) {
            if(curI-1>=0){
                curTd.style.background = "";
                var idNum=(curI-1)*N+curJ+1;
                curI=curI-1;
                curTd=document.getElementById(("td"+idNum));
                curTd.style.background = "green";
                
                //alert(curI+" "+curJ+" "+boomIJ)
                if(curI*N+curJ == boomIJ){
                    alert("game over!");
                    return;
                }
            }
            //alert('38=上鍵');
            
            
        }

        if ( e.keyCode == 39) {
            //alert('39=右鍵');
            if(curJ+1<N){
                curTd.style.background = "";
                curJ=curJ+1;
                var idNum=curI*N+curJ+1;
                
                curTd=document.getElementById(("td"+idNum));
                curTd.style.background = "green";
                
                //alert(curI+" "+curJ+" "+boomIJ)
                if(curI*N+curJ == boomIJ){
                    alert("game over!");
                    return;
                }
            }
            
            
        }

        if ( e.keyCode == 37) {
            //alert('37=左鍵');
            if(curJ-1>=0){
                curTd.style.background = "";
                curJ=curJ-1;
                var idNum=curI*N+curJ+1;
                curTd=document.getElementById(("td"+idNum));
                curTd.style.background = "green";
                //alert(curI+" "+curJ+" "+boomIJ)
                if(curI*N+curJ == boomIJ){
                    alert("game over!");
                    return;
                }
            }
        }

        if (e && e.keyCode == 40 ) {
            //alert('40=下鍵');
            if(curI+1<N){
                curTd.style.background = "";
                curI=curI+1;
                var idNum=curI*N+curJ+1;                
                curTd=document.getElementById(("td"+idNum));
                curTd.style.background = "green";
                //alert(curI+" "+curJ+" "+boomIJ)
                if(curI*N+curJ == boomIJ){
                    alert("game over!");
                    return;
                }
            }
            
            
        }
        
        
    }

    window.onload = init;
</script>
</head>
<body οnkeydοwn="turn(event)">

    <table style="width: 50%; height: 300px;" border="1">
        <tr>
            <td id="td1" οnclick="check(this)" οnkeydοwn="turn(event)">1</td>
            <td id="td2" οnclick="check(this)" οnkeydοwn="turn(event)">2</td>
            <td id="td3" οnclick="check(this)" οnkeydοwn="turn(event)">3</td>
        </tr>
        <tr>
            <td id="td4" οnclick="check(this)" οnkeydοwn="turn(event)">4</td>
            <td id="td5" οnclick="check(this)" οnkeydοwn="turn(event)">5</td>
            <td id="td6" οnclick="check(this)" οnkeydοwn="turn(event)">6</td>
        </tr>
        <tr>
            <td id="td7" οnclick="check(this)" οnkeydοwn="turn(event)">7</td>
            <td id="td8" οnclick="check(this)" οnkeydοwn="turn(event)">8</td>
            <td id="td9" οnclick="check(this)" οnkeydοwn="turn(event)">9</td>

        </tr>
    </table>
</body>
</html>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章