📄 mc.java
字号:
}catch(Exception e){
JOptionPane.showMessageDialog(frame1,"可能输入不大合理,我们用默认值执行!","温馨提示",MessageType);
Second="1";
}
}//GEN-LAST:event_ShowActionPerformed
class MCAction extends TimerTask{
public void run(){
switch(Count){
case 0:
Print10.setText(String.valueOf(++i));
MCAction_Basic(0, 0, 0);
break;
case 1:
Print10.setText(String.valueOf(++i));
MCAction_Basic(0, 2, 1);
break;
case 2:
Print10.setText(String.valueOf(++i));
MCAction_Basic(0, 2, 2);
break;
case 3:
Print10.setText(String.valueOf(++i));
MCAction_Basic(0, 1, 3);
break;
case 4:
Print10.setText(String.valueOf(++i));
MCAction_Basic(0, 1, 0);
break;
case 5:
Print10.setText(String.valueOf(++i));
MCAction_Basic(0, 2, 1);
break;
case 6:
Print10.setText(String.valueOf(++i));
MCAction_Basic(0, 2, 2);
break;
case 7:
Print10.setText(String.valueOf(++i));
MCAction_Basic(0, 1, 3);
break;
case 8:
Print10.setText(String.valueOf(++i));
MCAction_Basic(0, 1, 0);
break;
case 9:
Print10.setText(String.valueOf(++i));
MCAction_Basic(2, 0, 1);
break;
case 10:
Print10.setText(String.valueOf(++i));
MCAction_Basic(2, 0, 2);
break;
case 11:
Print10.setText(String.valueOf(++i));
MCAction_Basic(1, 1, 3);
break;
case 12:
Print10.setText(String.valueOf(++i));
MCAction_Basic(1, 1, 0);
break;
case 13:
Print10.setText(String.valueOf(++i));
MCAction_Basic(2, 0, 1);
break;
case 14:
Print10.setText(String.valueOf(++i));
MCAction_Basic(2, 0, 2);
break;
case 15:
Print10.setText(String.valueOf(++i));
MCAction_Basic(0, 1, 3);
break;
case 16:
Print10.setText(String.valueOf(++i));
MCAction_Basic(0, 1, 0);
break;
case 17:
Print10.setText(String.valueOf(++i));
MCAction_Basic(0, 2, 1);
break;
case 18:
Print10.setText(String.valueOf(++i));
MCAction_Basic(0, 2, 2);
break;
case 19:
Print10.setText(String.valueOf(++i));
MCAction_Basic(0, 1, 3);
break;
case 20:
Print10.setText(String.valueOf(++i));
MCAction_Basic(0, 1, 0);
break;
case 21:
Print10.setText(String.valueOf(++i));
MCAction_Basic(0, 2, 1);
break;
case 22:
Print10.setText(String.valueOf(++i));
MCAction_Basic(0, 2, 2);
break;
case 23:
cancel();
timer=null;
JOptionPane.showMessageDialog(frame1,"恭喜你,演示完成了!","温馨提示",MessageType);
}
Count++;
}
private void MCAction_Basic( int M, int C, int Flag){
boolean Result=true;
switch(Flag){
case 0:
LeftM +=M;
LeftC +=C;
BoatM=0;
BoatC=0;
if(!IsSafe()){
Result=false;
break;
}
DispLeftBank(LeftM, LeftC);
DispBoat(BoatM, BoatC);
DispRightBank(RightM, RightC);
Print(M,C,LeftM, LeftC,BoatM, BoatC,RightM, RightC,Flag);
break;
case 1:
LeftM -=M;
LeftC -=C;
BoatM=M;
BoatC=C;
if(!IsSafe()){
Result=false;
break;
}
DispLeftBank(LeftM, LeftC);
DispBoat(BoatM, BoatC);
Print(M,C,LeftM, LeftC,BoatM, BoatC,RightM, RightC,Flag);
break;
case 2:
RightM +=M;
RightC +=C;
BoatM=0;
BoatC=0;
if(!IsSafe()){
Result=false;
break;
}
DispRightBank(RightM, RightC);
DispBoat(BoatM, BoatC);
Print(M,C,LeftM, LeftC,BoatM, BoatC,RightM, RightC,Flag);
break;
case 3:
RightM -=M;
RightC -=C;
BoatM=M;
BoatC=C;
if(!IsSafe()){
Result=false;
break;
}
DispRightBank(RightM, RightC);
DispBoat(BoatM, BoatC);
Print(M,C,LeftM, LeftC,BoatM, BoatC,RightM, RightC,Flag);
break;
default:
JOptionPane.showMessageDialog(frame1,"很抱歉,出错了!","错误提示",MessageType);
}
}
private boolean IsSafe(){
boolean Result=true;
if(LeftM>0&&LeftM<LeftC){
Result=false;
}
if(RightM>0&&RightM<RightC){
Result=false;
}
return Result;
}
private void Print(int M,int C,int LeftM,int LeftC,int BoatM,int BoatC,int RightM,int RightC,int Flag){
String s1="",s2="",s3="",s4="";
switch(Flag){
case 0:
s1="从船登陆到左岸.";
break;
case 1:
s1="从左岸上到船.";
break;
case 2:
s1="从船登陆到右岸.";
break;
case 3:
s1="从右岸上到船.";
break;
default:
JOptionPane.showMessageDialog(frame1,"很抱歉,出错了!","错误提示",MessageType);
}
s2="现在船上有" + BoatM + "个修道士和" + BoatC+"个野人.";
s3="现在左岸有" + LeftM + "个修道士和" +LeftC+"个野人.";
s4="现在右岸有" + RightM + "个修道士和" +RightC+"个野人.";
Print1.setText(String.valueOf(LeftM));
Print2.setText(String.valueOf(LeftC));
Print3.setText(String.valueOf(BoatM));
Print4.setText(String.valueOf(BoatC));
Print5.setText(String.valueOf(RightM));
Print6.setText(String.valueOf(RightC));
Print7.setText(String.valueOf(M));
Print8.setText(String.valueOf(C));
Print9.setText(s1);
}
private void DispLeftBank(int M, int C){
switch(M){
case 0:
LeftMis1.setText("");
LeftMis1.setVisible(false);
LeftMis2.setText("");
LeftMis2.setVisible(false);
LeftMis3.setText("");
LeftMis3.setVisible(false);
break;
case 1:
LeftMis1.setText("修");
LeftMis1.setVisible(true);
LeftMis2.setText("");
LeftMis2.setVisible(false);
LeftMis3.setText("");
LeftMis3.setVisible(false);
break;
case 2:
LeftMis1.setText("修");
LeftMis1.setVisible(true);
LeftMis2.setText("修");
LeftMis2.setVisible(true);
LeftMis3.setText("");
LeftMis3.setVisible(false);
break;
case 3:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -