}
}
}
/*下棋规则,以当前下棋的位置为中心,向其周围的8个方向散射搜寻。
1.如果其搜寻方向上的第一个棋子不是对方棋子,则停止该方向上的搜寻,
设置该方向为不能 ChessCheck=false
2.如果搜寻方向上的第一个棋子为对方棋子,则继续搜寻直到找到己方棋
子则将中间部分的对方棋子变成己方棋子并设置该方向能 ChessCheck=true,
否则,设置标志为该方向不能ChessCheck=false
3.如果所有方向返回的都是不能ChessCheck=false
*/
public void rules(int i, int j, String chess)
{
boolean ChessCheck1 = false;
boolean ChessCheck2 = false;
boolean ChessCheck3 = false;
boolean ChessCheck4 = false;
boolean ChessCheck5 = false;
boolean ChessCheck6 = false;
boolean ChessCheck7 = false;
boolean ChessCheck8 = false;
//判断是谁下的棋
String mychess;
String yourchess;
if (chess == "○") { mychess = "○"; yourchess = "●"; } else { mychess = "●"; yourchess = "○"; }
System.out.println("你是" + mychess + "棋,对方是" + yourchess + "棋");
//检查右边
System.out.println("检查右边");
if (Chess[i][j + 1].getText() != yourchess) {
//System.out.println("右边第一个是我的棋子");
ChessCheck1 = false; }
else
{
//向右移动找出是否有自己的棋子,如果有则吃掉对方的子,否则返回false
//System.out.println("向右移动找出是否有自己的棋子,如果有则吃掉对方的子,否则返回false");
for (int m = 1; m < Max - j - 1; m++)
{
if (Chess[i][j + 1 + m].getText() == mychess)//如果是己方棋子
{
//System.out.println("如果是己方棋子");
int n = 1;
while (n <= m)
{
//System.out.println("吃掉己方2颗棋子中间的对方棋子");
Chess[i][j + n].setText(mychess);//吃掉己方2颗棋子中间的对方棋子
n++;
}
ChessCheck1 = true;
break;
}
else { ChessCheck1 = false; }//如果不是己方棋子,继续寻找
}
}
//检查左边
System.out.println("检查左边");
if (Chess[i][j - 1].getText() != yourchess) { ChessCheck2 = false; }
else
{
//向左移动找出是否有自己的棋子,如果有则吃掉对方的子,否则返回false
//System.out.println("向左移动找出是否有自己的棋子,如果有则吃掉对方的子,否则返回false");
//System.out.println("左移的时候列数从大到小");
for (int m = j - 2; m > 0; m--)//左移的时候列数从大到小
{
//System.out.println("如果是己方棋子");
if (Chess[i][m].getText() == mychess)//如果是己方棋子
{
int n = 0;
while (n <= j - m - 1)
{
//System.out.println("吃掉己方2颗棋子中间的对方棋子");
Chess[i][j - n - 1].setText(mychess);//吃掉己方2颗棋子中间的对方棋子
n++;
}
ChessCheck2 = true;
break;
}
else { ChessCheck2 = false; }//如果不是己方棋子,继续寻找
}
}
//检查上方
System.out.println("检查上方");
if (Chess[i - 1][j].getText() != yourchess) { ChessCheck3 = false; }
else
{
//向上移动找出是否有自己的棋子,如果有则吃掉对方的子,否则返回false
//System.out.println("向上移动找出是否有自己的棋子,如果有则吃掉对方的子,否则返回false");
//System.out.println("上移的时候行数从大到小");
for (int m = i - 2; m > 0; m--)//上移的时候行数从大到小
{
//System.out.println("如果是己方棋子" + m + Chess[m - 1][j].getText());
if (Chess[m][j].getText() == mychess)//如果是己方棋子
{
int n = 0;
while (n <= i - m - 1)
{
上一页 [1] [2] [3] [4] [5] [6] [7] [8] 下一页