俄罗斯方块java
tus.getSystemStatus()!=0&&b.objSystemStatus.getSystemStatus()!=3)
{
if(b.objSystemStatus.getSystemStatus()==1)
{
t.stop();
b.objSystemStatus.setSystemStatus(2);
}
else
if(b.objSystemStatus.getSystemStatus()==2)
{
t.start();
b.objSystemStatus.setSystemStatus(1);
}
}
}
repaint();
}
public void keyReleased(KeyEvent evt)
{}
public void keyTyped(KeyEvent evt)
{}
//计时器事件,与按下键的事件处理一致.
public void actionPerformed(ActionEvent evt)
{
int[] rtnRowColNo; //存放方块中的参照格子的行号和列号.
rtnRowColNo=b.objDiamonds.getReferPoint();
//方块5已经沉底,要被固定的情况
if(rtnRowColNo[0]-1<0)
{
int[][] rtnPosition;
rtnPosition=b.objDiamonds.diamondsPosition();
//把容器中与方块的显示部分位置相对应的格子设为已使用.
for(int i=0;i<rtnPosition.length;i++)
if((rtnPosition[i][0]!=-1)&&(rtnPosition[i][1]!=-1))
b.setAryGrids(rtnPosition[i][0],rtnPosition[i][1],1);
//对已满的行要进行消行处理.
int tmpLineNum;
tmpLineNum=b.removeRows();
objScore.addScore(tmpLineNum); //消行后要累加分数.
if(b.gameOverChk()==1)
System.out.println("GAME OVER!!");
if(b.gameOverChk()==1)
{
t.stop();
//System.out.println("GAME OVER!!");
b.objSystemStatus.setSystemStatus(3);
}
else
{
//重新生成一个新的方块,实质是设定方块的类型,并将其位置复位.
b.objDiamonds.setSortNo(objPreDiamonds.getSortNo());
b.objDiamonds.setStatusNo(objPreDiamonds.getStatusNo());
b.objDiam
onds.setAryDiamonds();
objPreDiamonds.createNew();
b.objDiamonds.setReferPoint(b.getHeightGrid(),b.getWidthGrid()/2-1);
}
}