📄 square.java
字号:
g2d.setFont(new Font("黑体",1,15));
g2d.setColor(Color.ORANGE);
g2d.drawString("淼",274+r*18,68+c*18);
}
}
}
}
public void fallSquare()
{
rotaCol++;
for (int c=col-2;c>=0 ; c--)
{
for (int r=0;r<row ;r++ )
{
fSquare[c+1][r] = fSquare[c][r];
fSquare[c][r]=0;
}
}
}
public void turn()
{
for (int c=0;c<col ;c++ )
{
for (int r=0;r<row ;r++ )
{
if(fSquare[c][r]==1)
{
int newR = rotaRow+rotaCol-c;
int newC = rotaCol - rotaRow+r;
pSquare[newC][newR]=1;
}
}
}
for (int c=0;c<col ;c++ )
{
for (int r=0;r<row ;r++ )
{
fSquare[c][r]=pSquare[c][r];
pSquare[c][r]=0;
}
}
}
public void leftMove()
{
rotaRow--;
for (int c =0;c<col ;c++ )
{
for(int r=1;r<row;r++)
{
fSquare[c][r-1]= fSquare[c][r];
fSquare[c][r]=0;
}
}
}
public void rightMove()
{
rotaRow++;
for (int c =0;c<col ;c++ )
{
for(int r=row-2;r>=0;r--)
{
fSquare[c][r+1]= fSquare[c][r];
fSquare[c][r]=0;
}
}
}
public boolean isFall()
{
for (int r =0;r<row ;r++ )
{
if(fSquare[23][r]==1)
{
return false;
}
}
for (int c = 0;c<col-1 ;c++ )
{
for (int r=0;r<row ; r++)
{
if(fSquare[c][r]==1 && bSquare[c+1][r]==1)
{
return false;
}
}
}
return true;
}
public void quikFall()
{
if(isFall())
{
fallSquare();
}
}
public boolean isRight()
{
for (int c=0;c<col ;c++ )
{
if(fSquare[c][row-1]==1)
return false;
}
for (int c=0;c<col ;c++ )
{
for (int r=0;r<row-1;r++ )
{
if(fSquare[c][r]==1 && bSquare[c][r+1]==1)
{
return false;
}
}
}
return true;
}
public boolean isDown()
{
for (int i=0;i<row ;i++ )
{
if(bSquare[0][i]==1)
return true;
}
return false;
}
public boolean isLeft()
{
for (int c=0;c<24 ;c++ )
{
if(fSquare[c][0]==1)
return false;
}
for (int c=0;c<col ;c++ )
{
for (int r=1;r<row ;r++ )
{
if(fSquare[c][r]==1 && bSquare[c][r-1]==1)
{
return false;
}
}
}
return true;
}
public boolean isTurn()
{
for (int c=0;c<col;c++ )
{
for (int r=0;r<row;r++ )
{
if(fSquare[c][r]==1)
{
int newR = rotaRow+rotaCol-c;
int newC = rotaCol - rotaRow+r;
if(newR>=row || newR<0 || newC>=col || newC<0)
{
return false;
}
}
}
}
for (int c=0;c<col-4;c++ )
{
for(int r=0; r<row-3; r++)
{
if(fSquare[c][r]==1)
{
int newR = rotaRow+rotaCol-c;
int newC = rotaCol - rotaRow+r;
if(bSquare[newC][newR]==1)
{
return false;
}
}
}
}
return true;
}
public int cancelLine()
{
int r;
int hang=0;
for (r=0;r<col ;r++ )
{
int count=0;
for (int c=0; c<row;c++ )
{
if(bSquare[r][c]==1)
{
count++;
}
}
if(count==row)
{
hang++;
for(int i=r;i>0;i--)
{
for (int j=0;j<row ;j++ )
{
bSquare[i][j] = bSquare[i-1][j];
bSquare[i-1][j]=0;
}
}
}
}
return hang;
}
public void score(int s)
{
switch (s)
{
case 1:
score = score+100;
break;
case 2:
score = score+300;
break;
case 3:
score = score+500;
break;
case 4:
score = score+700;
break;
}
}
public void state()
{
switch (state)
{
case 0:
state=state+score/1000;
break;
case 1:
state=state+score/3000;
break;
case 2:
state=state+score/6000;
break;
case 3:
state=state+score/12000;
break;
case 4:
state=state+score/24000;
break;
case 5:
state=state+score/48000;
break;
case 6:
state=state+score/96000;
break;
case 7:
state=state+score/192000;
break;
case 8:
state=state+score/384000;
break;
case 9:
state=state+score/768000;
break;
case 10:
state=state+score/1526000;
break;
case 11:
state=state+score/3052000;
break;
case 12:
state=state+score/6104000;
break;
}
}
public void showScore(Graphics2D g2d,Screen s)
{
g2d.setColor(Color.PINK);
g2d.setFont(new Font("黑体",1,15));
g2d.drawString(""+score,535,75);
}
public void showState(Graphics2D g2d,Screen s)
{
g2d.setColor(Color.PINK);
g2d.setFont(new Font("黑体",1,15));
g2d.drawString(""+state,575,135);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -