2
public boolean checkMove(char[][] board, int rMove, int cMove, char color) {4
int[][] direction = {{1, 0}, {-1, 0}, {0, 1}, {0, -1}, {1, 1}, {-1, -1}, {1, -1}, {-1, 1}};6
for (int[] d : direction) {7
if (dfs(board, rMove, cMove, color, d, 1)) return true;12
public boolean dfs(char[][] board, int r, int c, char color, int[] direcn, int len) {14
int nr = r + direcn[0];15
int nc = c + direcn[1];17
if (nr < 0 || nc < 0 || nr > 7 || nc > 7) return false;19
if (board[nr][nc] == color) {20
if (len >= 2) return true;23
if (board[nr][nc] == '.') {26
return dfs(board, nr, nc, color, direcn, len + 1);