日期:2014-05-16  浏览次数:20497 次

js五子棋(没写完)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>1</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<style type="text/css">
    *{margin:0;padding:0}
    body{width:600px;margin:40px auto;}
    td{width:50px;height:50px;border:solid 1px #000000;text-align: center;cursor:pointer;}
</style>
</head>
<body>
    <a href="javascript:reset();">reset</a>
    <div id="main"></div>
    <script>
    var status;//状态
    var p1='player1'; 
    var p2='player2';
    var pcrt=p1; //默认1先手
    reset();    
     // ------------------------------------------------------------------
    // 人机对战
    function cpt(){ 
        
    }
     // ------------------------------------------------------------------
    // 下子
    function down(tid,i,j){ 
        if(status==1)
            return 0;
        if(tid.innerHTML!='')
            return 0;
        if(pcrt==p1){
            tid.innerHTML='#';
            pcrt=p2;
        }
        else{
            tid.innerHTML='@';
            pcrt=p1;
        }
        document.getElementById('msg').innerHTML='current:'+pcrt;  //显示
        pd(i,j,tid.innerHTML,pcrt);//执行判断
    }
     // ------------------------------------------------------------------
    // 判断
    function pd(i,j,inner,pcrt){
        if(checkx(i,j,inner)){
            done(pcrt);
        }
        else if(checky(i,j,inner)){
            done(pcrt);
        }
        else if(checko(i,j,inner)){
            done(pcrt);
        }
        else if(checkp(i,j,inner)){
            done(pcrt);
        }
        else
            return 0;
    }
     // ------------------------------------------------------------------
    // 开始
    function reset(){
        status=0;
        document.getElementById('main').innerHTML='';
        z='<div id="msg">current:player1 </div><table cellspacing=0 border=1>';
        // ------------------------------------------------------------------
       // 动态生成表格
        for(ii=1;ii<14;ii++){
        z=z+'<tr>';
        for(jj=1;jj<14;jj++)
        z=z+'<td id="t'+ii+jj+'" onclick="down(this,'+ii+','+jj+')"></td>';
        z=z+"</tr>";
    }
       z=z+"</table>";
       document.getElementById('main').innerHTML=z;
    }
     // ------------------------------------------------------------------
    // 结束
    function done(winner){
        status=1;
        alert(winner+' win the game');
    }
     // ------------------------------------------------------------------
    //  获取表格内容
    function value(ni,nj){
        if(ni>0&&nj>0&&ni<13&&nj<13)
            return document.getElementById('t'+ni+nj).innerHTML;
        else
            return '!';
    }
    // ------------------------------------------------------------------
    // 判断x方向
    function checkx(xi,xj,c){
        if(value(xi+1,xj)==c&&value(xi+2,xj)==c&&value(xi+3,xj)==c&&value(xi+4,xj)==c)
            return 1;
        else if(value(xi+1,xj)==c&&value(xi+2,xj)==c&&value(xi+3,xj)==c&&value(xi-1,xj)==c)
            return 1;
        else if(value(xi+1,xj)==c&&value(xi+2,xj)==c&&value(xi-1,xj)==c&&value(xi-2,xj)==c)
            return 1;
        else if(value(xi+1,xj)==c&&value(xi-1,xj)==c&&value(xi-2,xj)==c&&value(xi-3,xj)==c)
            return 1;
        else if(value(xi-4,xj)==c&&value(xi-1,xj)==c&&value(xi-2,xj)==c&&value(xi-3,xj)==c)
            return 1;
        else
            return 0;
    }
     // ------------------------------------------------------------------
    // 判断y方向
    function checky(yi,yj,c){
        if(value(yi,yj+1)==c&&value(yi,yj+2)==