俄罗斯方块java
].getInUse()==1)
{
rtnGameOver=1;
break;
}
return rtnGameOver;
}
public int conflictChk() //方块旋转后的冲突检测.返回值=0,无冲突;=1,有冲突.
{
int isConflict=0; //=0,无冲突;=1,有冲突
int[][] rtnRowColNos;
rtnRowColNos=objDiamonds.diamondsPosition();
for(int i=0;i<rtnRowColNos.length;i++)
if(((rtnRowColNos[i][0]!=-1)&&(rtnRowColNos[i][1]!=-1))&&aryGrids[rtnRowColNos[i][0]][rtnRowColNos[i][1]].getInUse()==1)
{
isConflict=1;
break;
}
return isConflict;
}
public void adjust() //方块在旋转后,某部分超出了容器的边界就要进行调整操作
{
int[] rtnReferPoint;
int tmpWidthGrid;
tmpWidthGrid=objDiamonds.getWidthGrid();
rtnReferPoint=objDiamonds.getReferPoint();
if((rtnReferPoint[1]+tmpWidthGrid)>iWidthGrid)
objDiamonds.setReferPoint(rtnReferPoint[0],iWidthGrid-tmpWidthGrid);
}
public int removeRows() //进行消行操作.返回值为消去的行数.
{
int[] rtnRowNos; //存放方块所占行的行号.
int[] fullRowNos; //存放已满行的行号.
int fullCount=0; //存放已满行的行数.
rtnRowNos=objDiamonds.getRowNos();
//System.out.print("In removeRows: ");
//for(int i=0;i<rtnRowNos.length;i++)
//{
// System.out.print(rtnRowNos[i]+",");
//}
//System.out.println();
fullRowNos=new int[rtnRowNos.length];
for(int i=0;i<fullRowNos.length;i++)
fullRowNos[i]=0;
//方块所在行中,如果有行已满,则取出此行的行号.
for(int i=0;i<rtnRowNos.length;i++)
{
int rowNo;
int isFull; //0-当前行未满,1-当前行已满.
rowNo=rtnRowNos[i];
isFull=1;
for(int j=0;j<iWidthGrid;j++)
{
//System.out.println("In removeRows: aryGrids["+rowNo+"]["+j+"].getInUse()="+aryGrids[rowNo][j].getInUse());
if(aryGrids[rowNo][j].getInUse(
)==0)
{
isFull=0;
break;
}
}
//System.out.println("In removeRows: isFull="+isFull);
if(isFull==1)