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