getSelectedFile());
ObjectOutputStream objOut = new ObjectOutputStream(fileOut);
objOut.writeObject(FileVar);
objOut.close();
fileOut.close();
}
}
catch(Exception e)
{
System.out.println("ERROR ShowSave");
}
}
//退出
else if (ae.getSource().equals(exit))
{
int j=JOptionPane.showConfirmDialog(this,"真的要退出吗?","退出",JOptionPane.YES_OPTION,JOptionPane.QUESTION_MESSAGE);
if (j == JOptionPane.YES_OPTION)
{
System.exit(0);
}
}
}
/*规则类*/
class ChessRule
{
/*卒移动规则******************************************/
public void armsRule(int Man,JLabel play,MouseEvent me)
{
//黑卒向下
if (Man < 21)
{
//向下移动、得到终点的坐标模糊成合法的坐标
if ((me.getY()-play.getY()) > 40 && (me.getY()-play.getY()) < 80 && (me.getX()-play.getX()) < 30 && (me.getX()-play.getX()) > 0)
{
//当前记录添加到集合(用于悔棋)
Var.add(String.valueOf(play.isVisible()));
Var.add(String.valueOf(play.getX()));
Var.add(String.valueOf(play.getY()));
Var.add(String.valueOf(Man));
play.setBounds(play.getX(),play.getY()+45,40,40);
}
//向右移动、得到终点的坐标模糊成合法的坐标、必须过河
else if (play.getY() >= 250 && (me.getX() - play.getX()) >= 30 && (me.getX() - play.getX()) <= 90)
{
play.setBounds(play.getX()+48,play.getY(),40,40);
}
//向左移动、得到终点的坐标模糊成合法的坐标、必须过河
else if (play.getY() >= 250 && (play.getX() - me.getX()) >= 20 && (play.getX() - me.getX()) <=90)
{
//模糊坐标
play.setBounds(play.getX()-48,play.getY(),40,40);
}
}
//红卒向上
else
{
//当前记录添加到集合(用于悔棋)
Var.add(String.valueOf(play.isVisible()));
Var.add(String.valueOf(play.getX()));
Var.add(String.valueOf(play.getY()));
Var.add(String.valueOf(Man));
//向上移动、得到终点的坐标模糊成合法的坐标
if ((me.getX()-play.getX()) > 0 && (me.getX()-play.getX()) < 30 && (play.getY()-me.getY()) >20 && play.getY()-me.getY() < 70)
{
play.setBounds(play.getX(),play.getY()-48,40,40);
}
//向右移动、得到终点的坐标模糊成合法的坐标、必须过河
else if (play.getY() <= 210 && (me.getX() - play.getX()) >= 30 && (me.getX() - play.getX()) <= 90)
{
play.setBounds(play.getX()+50,play.getY(),40,40);
}
//向左移动、得到终点的坐标模糊成合法的坐标、必须过河
else if (play.getY() <= 210 && (play.getX() - me.getX()) >= 20 && (play.getX() - me.getX()) <=60)
{
play.setBounds(play.getX()-52,play.getY(),40,40);
}
}
}//卒移动结束
/*卒吃棋规则**********************************/
public void armsRule(JLabel play1,JLabel play2)
{
//向右走
if ((p