У меня есть метод public static char myMethod (char [] [] board) в этом методе, я пытаюсь заставить его вставить плату массива символов 8x8, а пробелы - метки «-» , Мой подход к этому заключается в том, чтобы пройти через доску и найти кусок, как «p» для черной пешки, и проверить места, в которые он может двигаться. Если там есть белый король «K», тогда метод возвращает «p», чтобы сказать мне, что белый король находится под контролем черной пешки. для метода рыцаря ниже я пробовал все 8 комбинаций того, как он движется, но он не работает. ИШахматные движения в массиве 2d
for (int i = 0; i < 8; i++) {
for (int j = 0; j < board[0].length; j++) {
if (board[i][j] == 'N') { // where can i fix the boundaries?
// a = i;
// b = j;
whiteKnight = board[i + 1][j + 2];
if (whiteKnight == 'k') {
return 'N';
}
}
я даже пробовал этот способ для границ, но никакой разницы
int a = 0;
int b = 0;
char whiteKnight = ' ';
for (int i = 0; i < 8; i++) {
for (int j = 0; j < board[0].length; j++) {
if (board[i][j] == 'N') { // where can i fix the boundaries?
a = i;
b = j;
if ((a + 1) < 7 && (b + 2) < 7) {
whiteKnight = board[a + 1][b + 2];
if (whiteKnight == 'k') {
return 'N';
}
}
if ((a + 1) < 7 && (b - 2) < 7) {
whiteKnight = board[a + 1][b - 2];
if (whiteKnight == 'k') {
return 'N';
}
}
if ((a - 1) < 7 && (b + 2) < 7) {
whiteKnight = board[a - 1][b + 2];
if (whiteKnight == 'k') {
return 'N';
}
}
if ((a - 1) < 7 && (b - 2) < 7) {
whiteKnight = board[a - 1][b - 2];
if (whiteKnight == 'k') {
return 'N';
}
}
if ((a + 2) < 7 && (b + 1) < 7) {
whiteKnight = board[a + 2][b + 1];
if (whiteKnight == 'k') {
return 'N';
}
}
if ((a + 2) < 7 && (b - 1) < 7) {
whiteKnight = board[a + 2][b - 1];
if (whiteKnight == 'k') {
return 'N';
}
}
if ((a - 2) < 7 && (b + 1) < 7) {
whiteKnight = board[a - 2][b + 1];
if (whiteKnight == 'k') {
return 'N';
}
}
if ((a - 2) < 7 && (b - 1) < 7) {
whiteKnight = board[a - 2][b - 1];
if (whiteKnight == 'k') {
return 'N';
}
}
Я в замешательстве относительно того, что ваш вопрос –
@austinwernli Мне просто интересно, если кто-то видит что-то не так с этим, что я не думаю, что это имеет для меня смысл. – user3511198