一个Javascript小游戏(一)
<HTML><HEAD>
<title>行棋游戏</title>
<meta http-equiv=Content-Type content=text/html;charset=gb2312>
<script language=javascript><!--
//n=3; //层数,不包括顶点
//K=-1; //K>0表示电脑执白;abs(K)=1表示白先走
var n=2,K,cursel,curpic,curX,curY,toX,toY,mX,mY,amov,moved,comoved,gameover;
var pa=new PIECEARRAY(); //初始棋子数组
pa.Add(0,2);
pa.Add(0,0);
pa.Add(1,0);
var bok=new PIECEARRAY();
for(i=0;i<4;i++)
 bok.Add(0,0);

var canmov=new PIECEARRAY();
for(i=0;i<8;i++)
 canmov.Add(0,0);

function w(txt){document.write(txt);}

function XPosition(col,row)
{
 if(row<n)return 300+125*col;
 else return 362;
}

function YPosition(col,row)
{
 if(row<n)return 53*(n-2-row)+135;
 else return 25;
}

function PIECE(col,row) //棋子节点
{
 this.col=col;
 this.row=row;
 this.mok=false;
 this.qiexn=0;
 this.sel=-1;
 return this;
}

function PIECEARRAY() //棋子数组
{
 this.total=0;
 this.Add=Add;
 this.CheckMoveTo=CheckMoveTo;
 return this;
}

function Add(exp1,exp2)
{
 this[this.total++]=new PIECE(exp1,exp2);
}

function CheckMoveTo(bno,col,row) //测试移动的合法性
{
 var rval=true;
 for(var i=0;i<3;i++)
  if(this[i].col==col&&this[i].row==row)break;
  else if(row==n&&this[i].row==n)break;
 if(i<3)rval=false;
 if(rval)
 {
  if(this[bno].row==n&&row==n-1)return true;
  else if(col>this[bno].col)
  {
   if(row-this[bno].row!=0&&row-this[bno].row!=1)rval=false;
  }
  else if(col<this[bno].col)
  {
   if(row-this[bno].row!=0&&row-this[bno].row!=-1)rval=false;
  }
  else if(Math.abs(row-this[bno].row)!=1)rval=false;
 }
 return rval;
}
----------------------------------------------------------------------
待续……