📄 board.java
字号:
import java.awt.Graphics;
public class Board
{
public Board(int dim)
{
dimension = dim;
board = new Square[8][8];
int i = 0;
do
{
int j = 0;
do
board[i][j] = new Square(i + 1, j + 1, dimension / 8);
while(++j < 8);
} while(++i < 8);
}
public void resetBoard()
{
int i = 0;
do
{
int j = 0;
do
board[i][j].resetSquare();
while(++j < 8);
} while(++i < 8);
}
public void setCount(int m, int n, int cnt)
{
board[m][n].setCounter(cnt);
}
public void setKnightTrue(int y, int x)
{
board[y][x].setKnight(true);
}
public int getBestx(int m, int n)
{
return board[m][n].getBestMovex();
}
public int getBesty(int m, int n)
{
return board[m][n].getBestMovey();
}
public void computeBestMove(int flag)
{
int min = 10;
int i = 0;
do
{
int j = 0;
do
{
int k = 0;
do
if(i + movesx[k] < 8 && i + movesx[k] >= 0 && j + movesy[k] < 8 && j + movesy[k] >= 0 && !board[i + movesx[k]][j + movesy[k]].getKnight())
if(flag == 0)
{
if(board[i + movesx[k]][j + movesy[k]].getValue() < min)
{
min = board[i + movesx[k]][j + movesy[k]].getValue();
board[i][j].setBestMovex(i + movesx[k]);
board[i][j].setBestMovey(j + movesy[k]);
}
} else
if(flag == 1 && board[i + movesx[k]][j + movesy[k]].getValue() <= min)
{
min = board[i + movesx[k]][j + movesy[k]].getValue();
board[i][j].setBestMovex(i + movesx[k]);
board[i][j].setBestMovey(j + movesy[k]);
}
while(++k < 8);
if(min == 10)
{
board[i][j].setBestMovex(-1);
board[i][j].setBestMovey(-1);
}
min = 10;
} while(++j < 8);
} while(++i < 8);
}
public void computeValue()
{
int counter = 0;
int i = 0;
do
{
int j = 0;
do
{
int k = 0;
do
if(i + movesx[k] < 8 && i + movesx[k] >= 0 && j + movesy[k] < 8 && j + movesy[k] >= 0 && !board[i + movesx[k]][j + movesy[k]].getKnight())
counter++;
while(++k < 8);
board[i][j].setValue(counter);
counter = 0;
} while(++j < 8);
} while(++i < 8);
}
public void paint(Graphics g)
{
int i = 0;
do
{
int j = 0;
do
board[i][j].paint(g);
while(++j < 8);
} while(++i < 8);
}
private int dimension;
private static final int sz = 8;
private Square board[][];
private int movesx[] = {
-1, -2, -2, -1, 1, 2, 1, 2
};
private int movesy[] = {
-2, -1, 1, 2, -2, -1, 2, 1
};
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -