<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<title>中国象棋单机双人</title>
<script>
var st="";
var qipuid=new Array();
var qipux=new Array();
var qipuy=new Array();
var qipuc=0;
var qipust="27,8,5,2,3,3,";
qipust+="24,8,7,1,1,2,";
qipust+="29,6,3,15,5,7,";
qipust+="18,8,3,8,3,7,";
qipust+="26,6,2,8,5,8";
qipusz=qipust.split(",");
var moveqizhi="";
var qizhix,qizhiy;
var zouqi="red";
var qiju="";
for (var x=0,qx=0;x<qipusz.length;x+=3)
{
qipuid[qx]=qipusz[x];
qipux[qx]=qipusz[x+1];
qipuy[qx]=qipusz[x+2];
qx++;
}
function yiqi(e)
{
if(moveqizhi=="") return;
eval("document.getElementById('a"+moveqizhi+"').style.top ="+((e.y?e.y:e.pageY)-25+(e.y?document.body.scrollTop:document.documentElement.scrollTop)));
eval("document.getElementById('a"+moveqizhi+"').style.left="+((e.x?e.x:e.pageX)-25+(e.y?document.body.scrollLeft:document.documentElement.scrollLeft)));
eval("document.getElementById('b"+moveqizhi+"').style.top ="+((e.y?e.y:e.pageY)-15+(e.y?document.body.scrollTop:document.documentElement.scrollTop)));
eval("document.getElementById('b"+moveqizhi+"').style.left="+((e.x?e.x:e.pageX)-15+(e.y?document.body.scrollLeft:document.documentElement.scrollLeft)));
}
function youqi(srx,sry)
{
var srx,sry;
srx=srx+"px";sry=sry+"px";
for(var x=1;x<=32;x++)
{
eval("srx1=document.getElementById('a"+x+"').style.top");
eval("sry1=document.getElementById('a"+x+"').style.left");
if (srx==srx1 && sry==sry1) {return true;}
}
return false;
}
function youqiy(srx1,sry1,srx2,sry2)
{
var srx1,srx2,sry1,sry1,sr,srx,sry;
rt=0;
if (srx1>srx2) {sr=srx1;srx1=srx2;srx2=sr;}
if (sry1>sry2) {sr=sry1;sry1=sry2;sry2=sr;}
for(var x=1;x<=32;x++)
{
eval("srx=document.getElementById('a"+x+"').style.top");
eval("sry=document.getElementById('a"+x+"').style.left");
srx=srx.replace(/px/i, "");
sry=sry.replace(/px/i, "");
if (srx1==srx2 && srx==srx1 && sry>sry1 && sry<sry2) rt++;
if (sry1==sry2 && sry==sry1 && srx>srx1 && srx<srx2) rt++;
}
return rt;
}
function panduan(qiziname,qiziyanse,x1,y1,x2,y2)
{
var qiziname,qiziyanse,x1,y1,x2,y2;
x1=x1*1;x2=x2*1;y1=y1*1;y2=y2*1;
if (x1==x2 && y1==y2) return false;
if (x2<50 || x2>500 || y2<50 || y2>450) {alert("所有棋子必须走在棋盘中");return false;}
if (qiziname=="-1" || qiziname=="1")
{
if (x1!=x2 && y1!=y2) {alert("车请走直线");return false;}
if (youqiy(x1,y1,x2,y2)>0) {alert("车不能跳走");return false;}
}
if (qiziname=="-2" || qiziname=="2")
{
if (!(Math.abs(x1-x2)==50 && Math.abs(y1-y2)==100 || Math.abs(x1-x2)==100 && Math.abs(y1-y2)==50)) {alert("马只能走日字");return false;}
if ( Math.abs(x1-x2)==50 && youqi(x1,(y1+y2)/2) || Math.abs(y1-y2)==50 && youqi((x1+x2)/2,y1)) {alert("憋脚马不能走");return false;}
}
if (qiziname=="-3" || qiziname=="3")
{
if (x1!=x2 && y1!=y2) {alert("炮请走直线");return false;}
if (youqiy(x1,y1,x2,y2)>1) {alert("炮不能跳走");return false;}
}
if (qiziname=="-4" || qiziname=="4")
{
if (Math.abs(x1-x2)!=50 || Math.abs(y1-y2)!=50) {alert("士只能斜走一格");return false;}
if (y2<200 || y2>300 ) {alert("士不能走出宫外");return false;}
}
if (qiziname=="-5" || qiziname=="5")
{
if (Math.abs(x1-x2)!=100 || Math.abs(y1-y2)!=100) {alert("象只能斜走两格");return false;}
if (x2==200 || x2==350 ) {alert("象不能过河");return false;}
if (youqi((x1+x2)/2,(y1+y2)/2)) {alert("象眼被塞");return false;}
}
if (qiziname=="-6" || qiziname=="6")
{
if (x1!=x2 && y1!=y2) {alert("将不能斜走");return false;}
if (Math.abs(x1-x2)!=50 && Math.abs(y1-y2)!=50) {alert("将只能走一格");return false;}
if (y2<200 || y2>300 || x2>150 && x2<400) {alert("将不能走出宫外");return false;}
}
if (qiziname=="-7" || qiziname=="7")
{
if (x1!=x2 && y1!=y2) {alert("兵不能斜走");return false;}
if (Math.abs(x1-x2)!=50 && Math.abs(y1-y2)!=50) {alert("兵只能走一格");return false;}
if (qiziname<0 && x2<x1 || qiziname>0 && x2>x1 ) {alert("兵不能倒走");return false;}
if (qiziname<0 && x2<300 && y1!==y2 || qiziname>0 && x2>250 && y1!==y2 ) {alert("过河兵才能横走");return false;}
}
var chizi=false;
for(var x=1;x<=32;x++)
{
eval("srx1=document.getElementById('a"+x+"').style.top");
eval("sry1=document.getElementById('a"+x+"').style.left");
eval("yanse1=document.getElementById('a"+x+"').style.color");
srx1=srx1.replace(/px/i, "");
sry1=sry1.replace(/px/i, "");
if (srx1==x2 && sry1==y2)
{
if (qiziyanse==yanse1) {alert("不能吃自己的棋子");return false;}
if ((qiziname=="-3" || qiziname=="3") && youqiy(x1,y1,x2,y2)!=1) {alert("炮要隔一吃子");return false;}
eval("document.getElementById('a"+x+"').style.top=-200");
eval("document.getElementById('a"+x+"').style.left=-200");
eval("document.getElementById('b"+x+"').style.top=-200");
eval("document.getElementById('b"+x+"').style.left=-200");
eval("quziname=document.getElementById('b"+x+"').getAttribute('qiziname')");
if (quziname==-6) qiju="红放胜利";
if (quziname== 6) qiju="黑方胜利";
chizi=true;
}
}
if ( (qiziname=="-3" || qiziname=="3") && youqiy(x1,y1,x2,y2)>0 && !chizi) {alert("炮不能跳走");return false;}
return true;
}
function dianqi(srid,e)
{
var srid,x,y;
if (qiju!="") {alert(qiju);return;}
if(moveqizhi=="")
{
if (zouqi=="red" && srid<17) {alert("请走红棋");return;}
if (zouqi!="red" && srid>16) {alert("请走黑棋");return;}
moveqizhi=srid;
eval("qizhix=document.getElementById('a"+srid+"').style.top");
eval("qizhiy=document.getElementById('a"+srid+"').style.left");
qizhix=qizhix.replace(/px/i, "");
qizhiy=qizhiy.replace(/px/i, "");
eval("document.getElementById('a"+moveqizhi+"').style.zIndex=7");
eval("document.getElementById('b"+moveqizhi+"').style.zIndex=7");
yiqi(e);
}
else
{
var qiziname,qiziyanse;
eval("qiziname=document.getElementById('b"+srid+"').getAttribute('qiziname')");
eval("qiziyanse=document.getElementById('b"+srid+"').qiziyanse");
x=eval("document.getElementById('a"+moveqizhi+"').style.top");
y=eval("document.getElementById('a"+moveqizhi+"').style.left");
x=x.replace(/px/i, "");
y=y.replace(/px/i, "");
newx=Math.round(x/50)*50;
newy=Math.round(y/50)*50;
if (panduan(qiziname,qiziyanse,qizhix,qizhiy,newx,newy))
{
zouqi=zouqi=="red"?"black":"red";
}
else
{
newx=qizhix*1;
newy=qizhiy*1;
}
eval("document.getElementById('a"+moveqizhi+"').style.top="+newx);
eval("document.getElementById('a"+moveqizhi+"').style.left="+newy);
eval("document.getElementById('b"+moveqizhi+"').style.top="+(newx+10));
eval("document.getElementById('b"+moveqizhi+"').style.left="+(newy+10));
eval("document.getElementById('a"+moveqizhi+"').style.zIndex=3");
eval("document.getElementById('b"+moveqizhi+"').style.zIndex=3");
moveqizhi="";
if (qiju!="") {alert(qiju);return;}
}
}
function qizhi(yanse,qizhiname,qizhiy,qizhix,srid,qiziname)
{
var yanse,qizhiname,qizhiy,qizhix,srid;
qizhix=qizhix*50;
qizhiy=qizhiy*50;
if (yanse==0) yanse="black";else yanse="red";
st+="<div id='a"+srid+"' qiziid="+srid+" qiziname='"+qiziname+"' qiziyanse='"+yanse+"' style='position:absolute;top:"+(qizhiy)+
javascript网页版二人对战象棋
3星 · 超过75%的资源 需积分: 50 81 浏览量
2011-01-12
19:11:54
上传
评论 3
收藏 3KB RAR 举报
abcd19910202
- 粉丝: 0
- 资源: 10
最新资源
- 电机控制霍尔传感器和反电动势的关系分析
- 计算机生产实习:OA后台管理(web前端+Java后端)压缩文件包
- greenplum6.10安装时缺失的fpm包
- 缺陷检测-轻量化PCB表面缺陷检测算法实现-工业视觉+六大缺陷检出-优质项目实战.zip
- JAVA 中的Spring框架介绍包括起源、体系结构、核心部分、特点等
- 2024年小米汽车产业链分析及新品上市全景洞察报告
- 基于Qt和C++实现的偏3D风格的异型窗体界面操作+源码(期末大作业&课设&项目开发)
- 基于yolov8的花卉分类系统,包含训练好的权重和推理代码,GUI界面,支持图片、视频、摄像头输入,支持检测结果导出
- 基于图形化编程的单片机教学案例研究
- 基于matlab语音识别的信号灯图像模拟控制技术代码19
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈