|
一个Javascript小游戏(四) |
| -->接续 function MoveData() //接受行棋代码移动棋子 { if(moved||gameover)return; var str,split1,split2,bno,col,row,error=0; str=document.forms.inbox.inx.value; split1=str.indexOf(',',0); split2=str.indexOf(',',split1+1); if(split1>0&&split2>0) { bno=eval(str.substring(0,split1)); //棋子代码 col=eval(str.substring(split1+1,split2)); //纵线代码 row=eval(str.substring(split2+1,str.length)); //横线代码 if(row==n&&col==1)error=3; else if(col!=0&&col!=1)error=3; //非法的纵线代码 else if(row<0||row>n)error=4; //非法的横线代码 else if(bno==0) { if(K>0) { if(!pa.CheckMoveTo(bno,col,row))error=-2; } else error=-1; // } else if(bno==1||bno==2) { if(K<0) { if(!pa.CheckMoveTo(bno,col,row))error=-2; } else error=-1; } else error=2; //非法的棋子代码 } else error=1; //参数中应该有两个逗号(三个参数) if(error>0)alert('请检查您输入的行棋参数!'); else if(error==0) { ResetOK(); //选定棋子取消 curpic=bno; curX=XPosition(pa[bno].col,pa[bno].row); curY=YPosition(pa[bno].col,pa[bno].row); toX=XPosition(col,row); toY=YPosition(col,row); mX=(toX-curX)/50; mY=(toY-curY)/50; moved=true; amov=0; pa[bno].col=col; pa[bno].row=row; MovePiece(); } else if(error==-1)alert('你不能移动该棋子!'); else alert('你不能这样移动棋子!'); } function ResetOK() //取消原先的 { if(cursel>=0) for(var i=0;i<4;i++) document.all('bok'+i).style.display='none'; cursel=-1; } function Select(bid) //选定一个棋子 { if(moved||gameover)return; var i,j,k=0; if((bid==0&&K<0)||((bid==1||bid==2)&&K>0))return; //不能移动该棋子 ResetOK(); cursel=bid; for(i=-1;i<=1;i++) for(j=-1;j<=1;j++) if((i!=0||j!=0)&&(pa[cursel].col+i==0||pa[cursel].col+i==1)&&pa[cursel].row+j>=0&&pa[cursel].row+j<=n) if(pa.CheckMoveTo(cursel,pa[cursel].col+i,pa[cursel].row+j)) { bok[k].col=pa[cursel].col+i; bok[k].row=pa[cursel].row+j; if(bok[k].row==n&&bok[k].col==1)bok[k].col=0; var obj=document.all('bok'+k).style; obj.left=XPosition(bok[k].col,bok[k].row); obj.top=YPosition(bok[k].col,bok[k].row); obj.display=''; k++; } } --------------------------------------------------------------------- 待续…… |