📄 俄罗斯方块.java
字号:
break;
case 20:
xias[0][0]=0; xias[0][1]=0; xias[0][2]=1; xias[0][3]=0; xias[0][4]=0;
xias[1][0]=0; xias[1][1]=0; xias[1][2]=1; xias[1][3]=0; xias[1][4]=0;
break;
case 21:
xias[0][0]=0; xias[0][1]=0; xias[0][2]=1; xias[0][3]=0; xias[0][4]=0;
xias[1][0]=0; xias[1][1]=0; xias[1][2]=0; xias[1][3]=0; xias[1][4]=0;
break;
}
}
void 显示块(Graphics2D g2d)
{
for (int h=0;h<24 ;h++ )
{
for (int l=0;l<13 ;l++ )
{
if(luos[h][l]==1)
{
g2d.setColor(Color.GREEN);
g2d.drawRect(272+l*18,23+h*18,18,18);
g2d.setFont(new Font("隶书",1,15));
g2d.setColor(Color.ORANGE);
g2d.drawString("艳",274+l*18,38+h*18);
}
}
}
}
void 显示下块(Graphics2D g2d)
{
for (int h=0;h<2 ;h++ )
{
for (int l=0;l<5 ;l++ )
{
if(xias[h][l]==1)
{
g2d.setColor(Color.GREEN);
g2d.drawRect(543+l*18,240+h*18,18,18);
g2d.setFont(new Font("隶书",1,15));
g2d.setColor(Color.ORANGE);
g2d.drawString("艳",545+l*18,255+h*18);
}
}
}
}
void 落()
{
zhuanh++;
for (int h=22;h>=0 ;h-- )
{
for (int l=0;l<13 ;l++ )
{
luos[h+1][l]=luos[h][l];
luos[h][l]=0;
}
}
}
void 左移()
{
zhuanl--;
for (int h=0;h<24 ;h++ )
{
for (int l=1;l<13 ;l++ )
{
luos[h][l-1]=luos[h][l];
luos[h][l]=0;
}
}
}
void 右移()
{
zhuanl++;
for (int h=0;h<24 ;h++ )
{
for (int l=11;l>=0 ;l-- )
{
luos[h][l+1]=luos[h][l];
luos[h][l]=0;
}
}
}
void 旋转()
{
for(int h=0;h<24;h++)
{
for(int l=0;l<13;l++)
{
if(luos[h][l]==1)
{
int xinl=zhuanl+zhuanh-h;
int xinh=zhuanh-zhuanl+l;
lins[xinh][xinl]=1;
}
}
}
for(int h=0;h<24;h++)
{
for(int l=0;l<13;l++)
{
luos[h][l]=lins[h][l];
lins[h][l]=0;
}
}
}
boolean 能落吗()
{
for (int l=0;l<13 ;l++ )
{
if(luos[23][l]==1)
{
return false;
}
}
for (int h=0;h<23 ;h++ )
{
for (int l=0;l<13 ;l++ )
{
if(shis[h+1][l]==1 && luos[h][l]==1)
{
return false;
}
}
}
return true;
}
boolean 能左移吗()
{
for (int h=0;h<24 ;h++ )
{
if(luos[h][0]==1)
{
return false;
}
}
for (int h=0;h<24 ;h++ )
{
for (int l=1;l<13 ;l++ )
{
if(shis[h][l-1]==1 && luos[h][l]==1)
{
return false;
}
}
}
return true;
}
boolean 能右移吗()
{
for (int h=0;h<24 ;h++ )
{
if(luos[h][12]==1)
{
return false;
}
}
for (int h=0;h<24 ;h++ )
{
for (int l=0;l<12 ;l++ )
{
if(shis[h][l+1]==1 && luos[h][l]==1)
{
return false;
}
}
}
return true;
}
boolean 能旋转吗()
{
for(int h=0;h<24;h++)
{
for(int l=0;l<13;l++)
{
if(luos[h][l]==1)
{
int xinh=zhuanh-zhuanl+l;
int xinl=zhuanl+zhuanh-h;
if(xinh<0 || xinh>=24 || xinl<0 || xinl>=13 )
{
return false;
}
}
}
}
for(int h=0;h<20;h++)
{
for(int l=0;l<10;l++)
{
if(luos[h][l]==1)
{
int xinh=zhuanh-zhuanl+l;
int xinl=zhuanl+zhuanh-h;
if( shis[xinh][xinl]==1)
{
return false;
}
}
}
}
return true;
}
void 落实()
{
for (int h=0;h<24; h++ )
{
for (int l=0;l<13 ;l++ )
{
if(luos[h][l]==1)
{
shis[h][l]=1;
luos[h][l]=0;
}
}
}
}
void 显示落实(Graphics2D g2d)
{
for (int h=0;h<24 ;h++ )
{
for (int l=0;l<13 ;l++ )
{
if(shis[h][l]==1)
{
g2d.setColor(Color.GREEN);
g2d.drawRect(272+l*18,23+h*18,18,18);
g2d.setFont(new Font("隶书",1,15));
g2d.setColor(Color.ORANGE);
g2d.drawString("艳",274+l*18,38+h*18);
}
}
}
}
int 销行()
{
int xh=0;
for (int h=0;h<24 ;h++)
{
int ge=0;
for (int l=0;l<13 ;l++ )
{
ge=ge+shis[h][l];
}
if(ge==13)
{
xh++;
for (int i=h-1; i>=0;i--)
{
for (int l=0;l<13 ; l++)
{
shis[i+1][l]=shis[i][l];
}
}
}
else
{
ge++;
}
}
return xh;
}
void 得分(int hang)
{
switch (hang)
{
case 0:
fen=fen;
break;
case 1:
fen=fen+100;
break;
case 2:
fen=fen+300;
break;
case 3:
fen=fen+500;
break;
case 4:
fen=fen+800;
break;
}
}
void 升级()
{
switch (ji)
{
case 0:
ji=ji+fen/1000;
break;
case 1:
ji=ji+fen/3000;
break;
case 2:
ji=ji+fen/6000;
break;
case 3:
ji=ji+fen/12000;
break;
case 4:
ji=ji+fen/24000;
break;
case 5:
ji=ji+fen/48000;
break;
case 6:
ji=ji+fen/96000;
break;
case 7:
ji=ji+fen/192000;
break;
case 8:
ji=ji+fen/384000;
break;
case 9:
ji=ji+fen/768000;
break;
case 10:
ji=ji+fen/1526000;
break;
case 11:
ji=ji+fen/3052000;
break;
case 12:
ji=ji+fen/6104000;
break;
}
}
boolean 能死吗()
{
for (int h=0;h<24 ;h++ )
{
for (int l=0;l<13 ;l++ )
{
if(shis[0][l]==1)
{
return true;
}
}
}
return false;
}
void 游戏结束(Graphics2D g2d,Screen s)
{
Image gameOver=(new ImageIcon("GAMEOVER.PNG")).getImage();
g2d.drawImage(gameOver,150,100,s);
if(fen<=1000)
{
g2d.setColor(Color.WHITE);
g2d.setFont(new Font("楷体",0,15));
g2d.drawString("你真笨!o(∩_∩)o...哈哈",250,200);
g2d.drawString("最终得分:"+fen,220,220);
g2d.setFont(new Font("宋体",0,17));
g2d.drawString("按空格键可重新开始",400,10);
start=false;
}
else
{
g2d.setColor(Color.RED);
g2d.setFont(new Font("楷体",0,16));
g2d.drawString("你真爷们!o(∩_∩)o...哈哈",200,200);
g2d.drawString("最终得分:"+fen,200,220);
g2d.setFont(new Font("宋体",0,17));
g2d.drawString("按空格键可重新开始",400,10);
start=false;
}
}
void 按下加速()
{
for (int h=22;h>=0 ;h-- )
{
for (int l=0;l<13 ;l++ )
{
luos[h+1][l]=luos[h][l];
luos[h][l]=0;
}
}
}
void 显示分(Graphics2D g2d)
{
g2d.setFont(new Font("黑体",1,20));
g2d.setColor(Color.PINK);
g2d.drawString(""+fen,545,75);
}
void 显示级(Graphics2D g2d)
{
g2d.setFont(new Font("黑体",1,30));
g2d.drawString(""+ji,570,155);
}
void 显示字(Graphics2D g2d)
{
g2d.setFont(new Font("楷体",1,20));
g2d.setColor(Color.RED);
g2d.drawString("天下风云出我辈,",49,130);
g2d.drawString("一入江湖岁月催.",49,149);
g2d.drawString("鸿图霸业谈笑中,",49,168);
g2d.drawString("不胜人生一场醉.",49,187);
g2d.setFont(new Font("微软雅黑",0,15));
g2d.setColor(Color.BLUE);
g2d.drawString("----这是我的第一个成品",51,205);
g2d.drawString("送给一直理解并支持着我的",41,221);
g2d.drawString("亲爱的媳妇小傻艳儿~",31,237);
g2d.setFont(new Font("微软雅黑",1,30));
g2d.setColor(Color.BLACK);
g2d.drawString(" -----By 狼魂",21,350);
}
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -