一个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();
}
---------------------------------------------------------------------
待续……