3、+ret[k][0]==j&&y+ret[k][1]+1==i){return1;}}}}}return0;}functionlrnotout(lorr:Number,a:Object){//lorr==-1代表a往左边一格可行性的判断,lorr==1代表右边一格可行性的判断,lorr==0代表a的位置合理性的判断,出现不合理则返回0vari:Number;if(lorr==-1){for(i=0;i<4;i++){if(x+a[i][0]-1<0
4、
5、reach(x-1,y-1,a)){return0;}}}if(lorr==1){for(i=0;i<4;i++)
6、{if(x+a[i][0]+1>9
7、
8、reach(x-1,y+1,a)){return0;}}}if(lorr==0){for(i=0;i<4;i++){if(x+a[i][0]<0
9、
10、x+a[i][0]>9){return0;}}}return1;}functionrv(a:Object,ret:Object){//方块赋值,将a方块赋值到ret方块vari:Number;for(i=0;i<5;i++){ret[i][0]=a[i][0],ret[i][1]=a[i][1];}}functionrotate(ret:Object){//根据方块ret最后一行(
11、分别是形状指示变量和旋转方向变量)为ret的前四行赋以具体形状值switch(ret[4][0]){case0://方形a=[[1,0],[2,0],[1,1],[2,1],[0,0]];rv(a,ret);return;case1://长形switch(ret[4][1]){case1:a=[[0,0],[1,0],[2,0],[3,0],[1,0]];if(lrnotout(0,a)&&!reach(x,y-1,a)){rv(a,ret);}return;case0:a=[[1,0],[1,1],[1,2],[1,3],[1,1]];if(lrnotout(0
12、,a)&&!reach(x,y-1,a)){rv(a,ret);}return;}case2://Z形switch(ret[4][1]){case1:a=[[0,1],[1,1],[1,2],[2,2],[2,0]];if(lrnotout(0,a)&&!reach(x,y-1,a)){rv(a,ret);}return;case0:a=[[2,0],[1,1],[2,1],[1,2],[2,1]];if(lrnotout(0,a)&&!reach(x,y-1,a)){rv(a,ret);}return;}case3://反Z形switch(ret[4][1]){
13、case1:a=[[1,1],[2,1],[0,2],[1,2],[3,0]];if(lrnotout(0,a)&&!reach(x,y-1,a)){rv(a,ret);}return;case0:a=[[1,0],[1,1],[2,1],[2,2],[3,1]];if(lrnotout(0,a)&&!reach(x,y-1,a)){rv(a,ret);}return;}case4://T形switch(ret[4][1]){case3:a=[[1,0],[0,1],[1,1],[2,1],[4,0]];if(lrnotout(0,a)&&!reach(x,y-1
14、,a)){