日期:2014-05-16 浏览次数:20580 次
<!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)==