📄 game.java
字号:
right3.setVisible(false);
right4.setVisible(false);
right5.setVisible(false);
System.out.println("速度:"+numspeed);
}
/*过关后重新初使化*/
public void select()
{
pass=0;
numstage++;
numspeed=numspeed-speeds;
stage.setText(String.valueOf(numstage));
init(array[numstage]);
left.setVisible(false);
right.setVisible(false);
left1.setText("");
left2.setText("");
left3.setText("");
left4.setText("");
left5.setText("");
right1.setText("");
right2.setText("");
right3.setText("");
right4.setText("");
right5.setText("");
panestage.setVisible(true);
train.setLocation(660,90);
fire.setVisible(false);
good.setVisible(false);
sum.setVisible(false);
snum.setVisible(false);
boo=true;
}
/*游戏结束的方法*/
public void over()
{ Sstage.stop();
gamestart=false;
left.setVisible(false);
left1.setVisible(false);
left2.setVisible(false);
left3.setVisible(false);
left4.setVisible(false);
left5.setVisible(false);
right.setVisible(false);
right1.setVisible(false);
right2.setVisible(false);
right3.setVisible(false);
right4.setVisible(false);
right5.setVisible(false);
if (paneOption.b1.getText().equals("√"))
Sbomb.play();
train.setVisible(false);
if (p.x<300)
{boom.setVisible(true);
boom.setIcon(new ImageIcon("photo/boom.gif"));
}
try{Thread.sleep(1500); }
catch (InterruptedException le)
{}
boom.setVisible(false);
readygo.setBounds(245,120,600,100);
if (paneOption.b1.getText().equals("√"))
Sover.play();
readygo.setText("GAME OVER");
readygo.setVisible(true);
try{Thread.sleep(3000); }
catch (InterruptedException le)
{}
if (numtotal>paneScores.scores[9])
{
panename.setVisible(true);
while (panename.isVisible())
{
}
paneScores.writeScores();
}
try{Thread.sleep(3000); }
catch (InterruptedException le)
{}
new Mygame();
dispose();
}
/*统计分数*/
public void pass()
{ pass=pass+1;
total.setText(String.valueOf(numtotal));
if (pass==5)
{ boo=false;
}
}
/*线程*/
public void run()
{ while(booend)
{
readygo.setVisible(true);
if (paneOption.b1.getText().equals("√"))
Sready.play();
try{ready.sleep(1000); }
catch (InterruptedException le)
{}
readygo.setText("R e a d y !");
try{ready.sleep(2000); }
catch (InterruptedException le)
{}
readygo.setText(" G o");
try{ready.sleep(1000);}
catch (InterruptedException le)
{}
gamestart=true;
readygo.setText("");
readygo.setVisible(false);
train.setVisible(true);
panestage.setVisible(false);
left1.setVisible(true);
left2.setVisible(true);
left3.setVisible(true);
left4.setVisible(true);
left5.setVisible(true);
right1.setVisible(true);
right2.setVisible(true);
right3.setVisible(true);
right4.setVisible(true);
right5.setVisible(true);
left.setVisible(true);
right.setVisible(true);
panestage.setVisible(true);
if (paneOption.b1.getText().equals("√"))
Strain.play();
try{ready.sleep(2000);}
catch (InterruptedException le)
{}
if (paneOption.b2.getText().equals("√"))
Sstage.loop();
//火车移动
while(boo)
{ p=train.getLocation();
train.setLocation(p.x-2,p.y);
if ((p.x<350)&&(p.x>346))
{if (paneOption.b1.getText().equals("√"))
Swarn.play();
}
if ((p.x<300)||(Integer.parseInt(lifefen.getText())==0))
{ Swarn.stop();
over();
booend=false;
break;
}
try{ready.sleep(numspeed); }
catch (InterruptedException le)
{}
}
if (pass==5)
{ Sstage.stop();
gamestart=false;
try{ready.sleep(2000); }
catch (InterruptedException le)
{}
if (paneOption.b1.getText().equals("√"))
Scom.play();
try{ready.sleep(1000); }
catch (InterruptedException le)
{}
panestage.setVisible(false);
double f=Math.round((p.x-300)/360.0*100);
numbonus=(int)f*10;
snum.setText(String.valueOf(numbonus));
int1=numbonus+numtotal;
good.setText("STAGE "+numstage);
good.setVisible(true);
try{ready.sleep(1000); }
catch (InterruptedException le)
{}
sum.setVisible(true);
try{ready.sleep(1000);
}
catch (InterruptedException le)
{}
snum.setVisible(true);
try{ready.sleep(1500);
if (paneOption.b1.getText().equals("√"))
Sscores.loop();
timer.start();}
catch (InterruptedException le)
{}
fire.setVisible(true);
try{ready.sleep(6000); }
catch (InterruptedException le)
{}
if (numstage==SNUM)
{ boo=false;
booend=false;
good.setVisible(false);
fire.setVisible(false);
sum.setVisible(false);
snum.setVisible(false);
good.setText("YOU-WIN");
good.setVisible(true);
if (paneOption.b1.getText().equals("√"))
Swin.play();
try{ready.sleep(5000); }
catch (InterruptedException le)
{}
panename.setVisible(true);
while (panename.isVisible())
{
}
paneScores.writeScores();
try{ready.sleep(2000); }
catch (InterruptedException le)
{}
new Mygame();
dispose();
}
else
select();
}//if
}//while
}//run
/*事件处理方法*/
public void mouseClicked(MouseEvent e)
{ //生命值
int i=0;
//开始按纽
if (e.getSource()==font1)
{ Sinit.stop();
if (paneOption.b3.getText().equals("√"))//难度低
{
numspeed=600;
speeds=20;
numleave=300;
}
else
if (paneOption.b4.getText().equals("√"))//难度中
{
numspeed=500;
speeds=25;
numleave=500;
}
else
if (paneOption.b5.getText().equals("√"))//难度高
{
numspeed=350;
speeds=10;
numleave=800;
}
card.show(pane,"2");
init(array[numstage]);
//init(17);
ready.start();
}
else
if (e.getSource()==font2)
{
Smove.play();
paneScores.readScores();
panescores.setVisible(true);
}
else
if (e.getSource()==font3)
{
Smove.play();
paneoption.setVisible(true);
}
else
if (e.getSource()==font4)
{ /*for (int i1=0 ;i1<10 ;i1++ )
{
System.out.println(i1+1+" "+paneScores.name[i1]+" "+paneScores.scores[i1]);
}*/
System.exit(0);
}
else
if (e.getSource()==panescores)
{ panescores.setVisible(false);
}
else//错误点击
if ((e.getSource()==left)||(e.getSource()==right))
{
if (Integer.parseInt(lifefen.getText())!=0)
{if (paneOption.b1.getText().equals("√"))
Sfalse.play();
i=Integer.parseInt(lifefen.getText())-1;
/*
if (i==0)
{ boo=false;
booend=false;
over();
}
*/
lifefen.setText(String.valueOf(i));}
}
else//放大镜
if ((e.getSource()==jing)&&(numjing!=0))
{if (gamestart)
{if (paneOption.b1.getText().equals("√"))
Sjing.play();
if (left1.getText()=="")
{ left1.setText("○");
right1.setText("○");
pass();
}
else
if (left2.getText()=="")
{ left2.setText("○");
right2.setText("○");
pass();
}
else
if (left3.getText()=="")
{ left3.setText("○");
right3.setText("○");
pass();
}
else
if (left4.getText()=="")
{ left4.setText("○");
right4.setText("○");
pass();
}
else
if (left5.getText()=="")
{ left5.setText("○");
right5.setText("○");
pass();
}
numjing=numjing-1;
jingfen.setText(String.valueOf(numjing));
}
}
else//延时
if ((e.getSource()==time)&&(numtime!=0))
{ if (gamestart)
{if (paneOption.b1.getText().equals("√"))
Stime.play();
numtime=numtime-1;
timefen.setText(String.valueOf(numtime));
train.setLocation(660,90);
}
}
else//点击正确
if ((e.getSource()==left1)||(e.getSource()==right1))
{ if (left1.getText()=="")
{ if (paneOption.b1.getText().equals("√"))
Strue.play();
left1.setText("○");
right1.setText("○");
numtotal=numtotal+numleave;
pass();
}
}
else
if ((e.getSource()==left2)||(e.getSource()==right2))
{ if (left2.getText()=="")
{ if (paneOption.b1.getText().equals("√"))
Strue.play();
left2.setText("○");
right2.setText("○");
numtotal=numtotal+numleave;
pass();
}
}
else
if ((e.getSource()==left3)||(e.getSource()==right3))
{ if (left3.getText()=="")
{ if (paneOption.b1.getText().equals("√"))
Strue.play();
left3.setText("○");
right3.setText("○");
numtotal=numtotal+numleave;
pass();
}
}
else
if ((e.getSource()==left4)||(e.getSource()==right4))
{ if (left4.getText()=="")
{ if (paneOption.b1.getText().equals("√"))
Strue.play();
left4.setText("○");
right4.setText("○");
numtotal=numtotal+numleave;
pass();
}
}
else
if ((e.getSource()==left5)||(e.getSource()==right5))
{ if (left5.getText()=="")
{ if (paneOption.b1.getText().equals("√"))
Strue.play();
left5.setText("○");
right5.setText("○");
numtotal=numtotal+numleave;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -