右到左)
for (int k=playTake.getX();k
{
//找起点和终点的棋子
if (playQ[j].getX() < play.getX() && playQ[j].getX() > playTake.getX())
{
Count++;
break;
}
}//for
}//if
}//for
//起点和终点之间要一个棋子是炮的规则、并不能吃自己的棋子
if (Count == 1 && Chess == 0 && playTake.getName().charAt(1) != play.getName().charAt(1))
{
//当前记录添加到集合(用于悔棋)
Var.add(String.valueOf(play.isVisible()));
Var.add(String.valueOf(play.getX()));
Var.add(String.valueOf(play.getY()));
Var.add(String.valueOf(Man));
//当前记录添加到集合(用于悔棋)
Var.add(String.valueOf(playTake.isVisible()));
Var.add(String.valueOf(playTake.getX()));
Var.add(String.valueOf(playTake.getY()));
Var.add(String.valueOf(i));
playTake.setVisible(false);
play.setBounds(playTake.getX(),playTake.getY(),40,40);
}
//起点和终点之间没有棋子是车的规则、并不能吃自己的棋子
else if (Count ==0 && Chess == 1 && playTake.getName().charAt(1) != play.getName().charAt(1))
{
//当前记录添加到集合(用于悔棋)
Var.add(String.valueOf(play.isVisible()));
Var.add(String.valueOf(play.getX()));
Var.add(String.valueOf(play.getY()));
Var.add(String.valueOf(Man));
//当前记录添加到集合(用于悔棋)
Var.add(String.valueOf(playTake.isVisible()));
Var.add(String.valueOf(playTake.getX()));
Var.add(String.valueOf(playTake.getY()));
Var.add(String.valueOf(i));
playTake.setVisible(false);
play.setBounds(playTake.getX(),playTake.getY(),40,40);
}
}//炮、车吃棋方法结束
/*马移动规则***************************************************/
public void horseRule(JLabel play,JLabel playQ[],MouseEvent me)
{
//保存坐标和障碍
int Ex=0,Ey=0,Move=0;
//上移、左边
if (play.getX() - me.getX() >= 10 && play.getX() - me.getX() <= 50 && play.getY() - me.getY() >= 60 && play.getY() - me.getY() <= 100)
{
//合法的Y坐标
for (int i=30;i<=462;i+=48)
{
//移动的Y坐标是否有指定坐标相近的
if (i - me.getY() >= -10 && i - me.getY() <= 30)
{
Ey = i;
break;
}
}
//合法的X坐标
for (int i=30;i<=420;i+=48)
{
//移动的X坐标是否有指定坐标相近的
if (i - me.getX() >= -35 && i-me.getX() <= 10)
{
Ex = i;
break;
}
}
//正前方是否有别的棋子
for (int i=0;i<32;i++)
{
if (playQ[i].isVisible() && play.getX() - playQ[i].getX() <= 10 && play.getX() - playQ[i].getX() >= -10 && play.getY() - playQ[i].getY() >= 40 && play.getY() - playQ[i].getY() <= 60)
{
Move = 1;
break;
}
}
//可以移动该棋子
if (Move == 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(Ex-20,Ey-17,40,40);
}
}//if
//左移、上边
else if (play.getY() - me.getY() >= 10 && play.getY() - me.getY() <= 50 && play.getX() - me.getX() >= 60 && play.getX() - me.getX() <= 100)
{
//Y
for (int i=30;i<=462;i+=48)
{
if (i - me.getY() >= -10 && i - me.getY() <= 30)
{
Ey = i;
}
}
//X
for (int i=30;i<=420;i+=48)
{
if (i - me.getX() >= -35 && i-me.getX() <= 10)
{
Ex = i;
}
}
//正左方是否有别的棋子
for (int i=0;i<32;i++)
{
if (playQ[i].isVisible() && play.getY() - playQ[i].getY() <= 10 && play.getY() - playQ[i].getY() >= -10 && play.getX() - playQ[i].getX() >= 40 && play.getX() - playQ[i].getX() <= 60)
{
Move = 1;
break;
}
}
if (Move == 0)
{
//当前记录添加到集合(用于悔棋)
Var.add(String.valueOf(play.isVisible()));
Var.add(String.valueOf(play.getX()));
Var.add(String.valueOf(play.getY()));<
上一篇:个人德能勤绩廉工作总结
下一篇:近三年来思想工作小结(德能勤绩廉)