|
一个Javascript小游戏(三) |
| -->接续 else { var haveok=false; for(i=0;i<k;i++) if(canmov[i].qiexn%2==0&&(canmov[i].row<pa[0].row||(canmov[i].row==pa[0].row&&pa[3-canmov[i].sel].row==canmov[i].row-1))) { canmov[i].mok=true; haveok=true; } else canmov[i].mok=false; var gowalk=n*2; if(haveok||pa[0].row==n) { if(btnd1<btnd2)curpic=2; else if(btnd1>btnd2)curpic=1; for(i=0;i<k;i++) if(curpic==canmov[i].sel||curpic<0) if(canmov[i].mok&&gowalk>canmov[i].qiexn) { gowalk=canmov[i].qiexn; kt=i; } if(curpic<0)curpic=canmov[kt].sel; toP.col=canmov[kt].col; toP.row=canmov[kt].row; } else { gowalk=-n*2; for(i=0;i<k;i++) if(curpic==canmov[i].sel||curpic<0) if(gowalk<canmov[i].qiexn) { gowalk=canmov[i].qiexn; kt=i; } if(curpic<0)curpic=canmov[kt].sel; toP.col=canmov[kt].col; toP.row=canmov[kt].row; } } } else { curpic=0; for(i=-1;i<=1;i++) for(j=-1;j<=1;j++) if((i!=0||j!=0)&&(pa[0].col+i==0||pa[0].col+i==1)&&pa[0].row+j>=0&&pa[0].row+j<=n) if(pa.CheckMoveTo(0,pa[0].col+i,pa[0].row+j)) { canmov[k].col=pa[0].col+i; canmov[k].row=pa[0].row+j; if(canmov[k].row==n&&canmov[k].col==1)canmov[k].col=0; canmov[k].qiexn=qiex(canmov[k],pa[1],pa[2]); k++; } if(btnd1<=0||btnd2<=0) { var gowalk=n*2; for(i=0;i<k;i++) if(gowalk>canmov[i].qiexn) { gowalk=canmov[i].qiexn; kt=i; } toP.col=canmov[kt].col; toP.row=canmov[kt].row; } else { var haveok=false; for(i=0;i<k;i++) if(canmov[i].qiexn%2==0) { canmov[i].mok=true; haveok=true; } else canmov[i].mok=false; var gowalk=n*2; if(haveok) { for(i=0;i<k;i++) if(canmov[i].mok&&gowalk>canmov[i].qiexn) { gowalk=canmov[i].qiexn; kt=i; } toP.col=canmov[kt].col; toP.row=canmov[kt].row; } else { gowalk=-n*2; for(i=0;i<k;i++) if(gowalk<canmov[i].qiexn) { gowalk=canmov[i].qiexn; kt=i; } toP.col=canmov[kt].col; toP.row=canmov[kt].row; } } } if(curpic<0||curpic>2)alert(curpic+','+toP.col+','+toP.row); curX=XPosition(pa[curpic].col,pa[curpic].row); curY=YPosition(pa[curpic].col,pa[curpic].row); toX=XPosition(toP.col,toP.row); toY=YPosition(toP.col,toP.row); mX=(toX-curX)/50; mY=(toY-curY)/50; moved=true; amov=0; pa[curpic].col=toP.col; pa[curpic].row=toP.row; MovePiece(); } --------------------------------------------------------------------- 待续…… |