一个Javascript小游戏(二)
-->接续

function MovePiece() //移动棋子
{
 amov++;
 if(amov>=49) //移动到位
 {
  document.all('b'+curpic).style.left=toX;
  document.all('b'+curpic).style.top=toY;
  if(comoved) //计算机移动结束,等待输入
  {
   if(K>0) //显示移动步骤,并判断胜负
   {
    whmove.innerHTML+='<BR>'+curpic+','+pa[curpic].col+','+pa[curpic].row;
    if(pa[1].row==n-1&&pa[2].row==n-1)gameover=true;
   }
   else
   {
    bkmove.innerHTML+='<BR>'+curpic+','+pa[curpic].col+','+pa[curpic].row;
    if(pa[0].row==0)gameover=true;
   }
   if(gameover){}
   else
   {
    comoved=false;
    moved=false;
   }
  }
  else //计算机移动
  {
   if(K>0)
   {
    bkmove.innerHTML+='<BR>'+curpic+','+pa[curpic].col+','+pa[curpic].row;
    if(pa[0].row==0)gameover=true;
   }
   else
   {
    whmove.innerHTML+='<BR>'+curpic+','+pa[curpic].col+','+pa[curpic].row;
    if(pa[1].row==n-1&&pa[2].row==n-1)gameover=true;
   }
   if(gameover){}
   else
   {
    comoved=true;
    ComMove();
   }
  }
 }
 else //继续移动
 {
  var tm=(amov<40)?10:50-amov;
  setTimeout('MovePiece()',tm);
  curX+=mX;
  curY+=mY;
  document.all('b'+curpic).style.left=curX;
  document.all('b'+curpic).style.top=curY;
 }
}

function qiex(bal,wal1,wal2) //切西指数
{
 return bal.row*2-bal.col-wal1.col-wal1.row-wal2.col-wal2.row;
}

function ComMove() //计算机移动棋子
{
 var i,j,k=0,kt=0;
 var atnd=qiex(pa[0],pa[1],pa[2]);
 var btnd1=pa[0].row-pa[1].row;
 var btnd2=pa[0].row-pa[2].row;
 var toP=new PIECE(0,0);
 curpic=-1;
 if(K>0) //电脑执白
 {
  for(var t_l=1;t_l<=2;t_l++)
  for(i=-1;i<=1;i++)
   for(j=-1;j<=1;j++)
    if((i!=0||j!=0)&&(pa[t_l].col+i==0||pa[t_l].col+i==1)&&pa[t_l].row+j>=0&&pa[t_l].row+j<=n)
     if(pa.CheckMoveTo(t_l,pa[t_l].col+i,pa[t_l].row+j))
     {
      canmov[k].col=pa[t_l].col+i;
      canmov[k].row=pa[t_l].row+j;
      canmov[k].sel=t_l;
      if(canmov[k].row==n&&canmov[k].col==1)canmov[k].col=0;
      if(t_l==1)canmov[k].qiexn=qiex(pa[0],canmov[k],pa[2]);
      else canmov[k].qiexn=qiex(pa[0],pa[1],canmov[k]);
      k++;
     }
  if(btnd1<=0||btnd2<=0)
  {
   if(btnd1<btnd2)curpic=1;
   else if(btnd1>btnd2)curpic=2;
   var 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(cursel<0)cursel=canmov[kt].sel;
   toP.col=canmov[kt].col;
   toP.row=canmov[kt].row;
  }
---------------------------------------------------------------------
待续……