}
//左上角
System.out.println("检查左上角");
if (Chess[i - 1][j - 1].getText() != yourchess) {
//System.out.println("左上角第一个是我的棋子");
ChessCheck7 = false; }
else
{//向左上移动找出是否有自己的棋子,如果有则吃掉对方的子,否则返回false
//System.out.println("向左上移动找出是否有自己的棋子,如果有则吃掉对方的子,否则返回false");
int m = 1; int tj;
if (i > j) { tj = j - 1; } else { tj = i - 1; }
while (m <= tj)
{
//System.out.println("寻找棋子" + m + tj);
if (Chess[i - m - 1][j - 1 - m].getText() == mychess)//如果是己方棋子
{
//System.out.println("如果是己方棋子" + Chess[i - m - 1][j - 1 - m].getText());
int n = 1;
while (n <= m)
{
//System.out.println("吃掉己方2颗棋子中间的对方棋子");
Chess[i - n][j - n].setText(mychess);//吃掉己方2颗棋子中间的对方棋子
n++;
}
ChessCheck7 = true;
break;
}
else { ChessCheck7 = false; }//如果不是己方棋子,继续寻找
m++;
}
}
//左下角
System.out.println("检查左下角");
if (Chess[i + 1][j - 1].getText() != yourchess) {
//System.out.println("左下角第一个是我的棋子");
ChessCheck8 = false; }
else
{//向左下移动找出是否有自己的棋子,如果有则吃掉对方的子,否则返回false
//System.out.println("向左下移动找出是否有自己的棋子,如果有则吃掉对方的子,否则返回false");
int x = j; int y = Max - i; int m = 1; int tj;
if (x > y) { tj = y - 2; } else { tj = x - 2; }
while (m <= tj)
{
//System.out.println("寻找棋子" + m + tj);
if (Chess[i + m + 1][j - 1 - m].getText() == mychess)//如果是己方棋子
{
//System.out.println("如果是己方棋子" + Chess[i + m + 1][j - 1 - m].getText());
int n = 1;
while (n <= m)
{
//System.out.println("吃掉己方2颗棋子中间的对方棋子");
Chess[i + n][j - n].setText(mychess);//吃掉己方2颗棋子中间的对方棋子
n++;
}
ChessCheck8 = true;
break;
}
else { ChessCheck8 = false; }//如果不是己方棋子,继续寻找
m++;
}
}
//当前方是否落子
/*
System.out.println("当前方是否落子1"
+ ChessCheck1 + "2" + ChessCheck2 +
"3" + ChessCheck3 + "4" + ChessCheck4 +
"5" + ChessCheck5 + "6" + ChessCheck6 +
"7" + ChessCheck7 + "8" + ChessCheck8);
*/
//如果8个方向返回的都是false,即都不能落子,则返回false
if (ChessCheck1 == true || ChessCheck2 == true || ChessCheck3 == true ||
ChessCheck4 == true || ChessCheck5 == true || ChessCheck6 == true ||
ChessCheck7 == true || ChessCheck8 == true) { ChessCheck = true; }
else { ChessCheck = false; }
return;
//
}
//裁判模块
//通过计算棋盘上的双方棋子的数量判断胜负
public void WhoWin()
{
int p = 0, q = 0;
for (int m = 1; m < Max - 1; m++)
{
for (int n = 1; n < Max - 1; n++)
{
if (Chess[m][n].getText() == "●") { p = p + 1; }
if (Chess[m][n].getText() == "○") { q = q + 1; }
}
}
//将int型转换成字符型并设置显示
Chess[0][1].setText(String.valueOf(p) );
Chess[0][Max - 1].setText(String.valueOf(q));
}
}
//面板重置
//将棋盘面板清空
class Reset
{
public Reset()
{
for (int X = 1; X < Max - 1; X++)
{
for(int Y=1;Y<Max-1;Y++)
{
Chess[X][Y].setText("");
}
}
IamFirst = true;
Chess[0][1].setText("0");
Chess[0][Max - 1].setText("0");
Chess[(Max - 2) / 2][(Max - 2) / 2].setText("●");
Chess[(Max - 2) / 2 + 1][(Max - 2) / 2 + 1].setText("●");
Chess[(Max - 2) / 2][(Max - 2) / 2 + 1].setText("○");
Chess[(Max - 2) / 2 + 1][(Max - 2) / 2].setText("○");
}
}
}
//主函数
public class BWChess
{
public static void main(String[] args)
{
new Start();
}
public void paint(Graphics g)
{
//写入绘图代码
}
}
上一页 [1] [2] [3] [4] [5] [6] [7] [8]
JAVA课程设计黑白棋源代码 第8页下载如图片无法显示或论文不完整,请联系qq752018766